Dynamic document generation for Pandoc in Python
Project description
pandoc-purl
pandoc-purl is Pandoc filter for literate programming and dynamic document generation in Python. It is similar in spirit to Knitr or Pweave.
pandoc-purl can be installed through pip
(e.g. python3 -m pip install pandoc-purl
), and used like other Pandoc
filters, e.g. pandoc --filter pandoc-purl document.md -o document.tex
.
Code chunks
pandoc-purl will process code blocks tagged with the python
class or
inline code tagged with the p
or python
classes.
Note This README.md file has been generated from the README.in.md using pandoc-purl.
Code blocks
Code blocks marked with the python
class will behave as if executed in
an interactive Python shell: they execute their content, display the
content and, in a following paragraph, display any printed value as well
as the value of the last expression (see below for options controlling
this behavior).
Input | Rendered |
---|---|
|
|
If the last statement is not an expression, the code is still executed and displayed, but no result is printed
Input | Rendered |
---|---|
|
Inline code
Inline code marked with the p
or python
classes should contain only
a single expression, and will display the value of that expression in
the text.
Input | Rendered |
---|---|
|
The answer is 42 |
Chunk options
Options can be passed to code chunks using the key=value
syntax. The
following options are available:
-
eval
: whether to run the code chunk (true
orfalse
, defaults totrue
)Input Rendered The answer is `6*7`{.p}
The answer is 42 The answer is `6*7`{.p eval=false}
The answer is 6*7
-
echo
: whether to show the code (code blocks only,true
orfalse
, defaults totrue
)Input Rendered ```python print("Hello pandoc-purl") ```
Hello pandoc-purl
```{.python echo=false} print("Hello pandoc-purl") ```
Hello pandoc-purl
-
results
: how to show the result of the last expressionasis
: show the result as a pre-formatted code block or inline (default)markup
: process the result through Pandoc before showing ithide
: hide the result
Input Rendered I'm `"**bold**"`{.p}
I’m **bold** I'm `"**bold**"`{.p results=markup}
I’m bold
Changing the defaults
The default chunk options can also be changed globally by modifying
chunk_defaults
in the pandoc_purl
module:
```{.python echo=false}
import pandoc_purl
pandoc_purl.chunk_defaults["echo"] = False
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pandoc-purl-1.0.0.tar.gz
.
File metadata
- Download URL: pandoc-purl-1.0.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e6cbc59d16710e5460398cb1bf80d3cecbe2ae70f11b821f8b89237f56b895 |
|
MD5 | a85b0d38b726f5178ea681c3aa9cc378 |
|
BLAKE2b-256 | 86f897e219ad417dc6ddd241ffd55e39c47f84e8610a1170818ed2fd5ffa6d42 |
File details
Details for the file pandoc_purl-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: pandoc_purl-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd96a68d1070bddef79d75d3c51332baf3bc3e48eb5aa540f53ac358c791fa7b |
|
MD5 | ea9236c56f2b1c4a069a44c1a20be63e |
|
BLAKE2b-256 | 305099fec545688eec4cfc23d28e1cd7bb6f8e98923f105b656f7859e0e4e92c |