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.pdf
If runsql.py
is installed to a directory in $PATH
:
pandoc --filter runsql.py test.md -o test.pdf
The 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.