-- Sample1.sql -- ----------- -- This SQL does something!! -- A definition of sample_table shown below. -- =============== =========== ============ -- Column Name Type Description -- =============== =========== ============ -- foo TEXT foo? -- bar TEXT bar? -- baz FLOAT baz? -- =============== =========== ============ -- :NOTE: just return 10 records -- :TODO: just return 11 records -- .. code-block:: sql -- :linenos: SELECT * FROM sample_table LIMIT 10;
-- Sample2.sql -- ----------- -- This SQL extract data from columns named foo, bar... -- :NOTE: just return 10 records -- :TODO: just return 11 records -- .. code-block:: sql -- :linenos: SELECT foo, bar FROM sample_table LIMIT 11;
As you can see above, there are rst formatted comments in sql scripts. If you write this kind of comments in sql scripts, you can easily convert them to html/latex-styled pdf! Below shell scripts can convert above sql scripts into one rst document.
#!/bin/sh # convert_sql2rst.sh output_rst="sample.rst" if [ -e ${output_rst} ]; then rm ${output_rst} fi echo "=======================" >> ${output_rst} echo "This is sample chapter!" >> ${output_rst} echo "=======================" >> ${output_rst} echo "" >> ${output_rst} for sql_file in `ls *.sql` do echo "converting ${sql_file} to rst-formatted document..." sed ${sql_file} -e 's/^/ /g' | \ sed -e 's/^ -- //g' >> ${output_rst} echo "" >> ${output_rst} echo "" >> ${output_rst} done
Now, put all of above scripts into same sphinx-root directory and edit your index.rst for including ${output_rst}. Next, do this:
yaboo@maniac:~/Projects/SqlProject$ sh convert_sql2rst.sh converting sample.sql to rst-formatted document... converting sample2.sql to rst-formatted document... yaboo@maniac:~/Projects/SqlProject$ make html sphinx-build -b html -d _build/doctrees . _build/html Making output directory... Running Sphinx v1.0.7 loading pickled environment... not yet created building [html]: targets for 2 source files that are out of date updating environment: 2 added, 0 changed, 0 removed reading sources... [100%] sample looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done writing output... [100%] sample writing additional files... genindex search copying static files... done dumping search index... done dumping object inventory... done build succeeded. Build finished. The HTML pages are in _build/html.
Finally, you can get document like this.
No comments:
Post a Comment