A pandoc filter to execute and collect the results of SQL queries.
Regular queries where you expect it to return a table should be formatted as such:
~~~runsql
SELECT * FROM table;
~~~If wish to update, delete or perform other operations that does not return a table, you need to specify that there are no results.
~~~runsql
no_result: True
---
DELETE FROM table;
~~~If runsql.py is in the same folder:
pandoc --filter ./runsql.py test.md -o test.pdfIf runsql.py is installed to a directory in $PATH:
pandoc --filter runsql.py test.md -o test.pdfThe filter fetches it's configuration from the environment through:
MYSQL_HOST: Hostname to the SQL server (defaultlocalhost)MYSQL_USER: Username of the SQL user (defaultroot)MYSQL_PASSWORD: Password of the SQL user (defaultsecret)MYSQL_DATABASE: Database to perform queries to (defaulttrlog)
See test.md and the generated test.pdf files for an example.