Skip to main content

Dynamic document generation for Pandoc in Python

Project description

pandoc-purl

PyPI
PyPI

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
```python
print("Hello pandoc-purl")
42
```
print("Hello pandoc-purl")
42
Hello pandoc-purl
42

If the last statement is not an expression, the code is still executed and displayed, but no result is printed

Input Rendered
```python
a = 3.14
```
a = 3.14

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 `6*7`{.p}
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 or false, defaults to true)

    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 or false, defaults to true)

    Input Rendered
    ```python
    print("Hello pandoc-purl")
    ```
    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 expression

    • asis: show the result as a pre-formatted code block or inline (default)
    • markup: process the result through Pandoc before showing it
    • hide: 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

pandoc-purl-1.0.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

pandoc_purl-1.0.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

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

Hashes for pandoc-purl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 01e6cbc59d16710e5460398cb1bf80d3cecbe2ae70f11b821f8b89237f56b895
MD5 a85b0d38b726f5178ea681c3aa9cc378
BLAKE2b-256 86f897e219ad417dc6ddd241ffd55e39c47f84e8610a1170818ed2fd5ffa6d42

See more details on using hashes here.

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

Hashes for pandoc_purl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd96a68d1070bddef79d75d3c51332baf3bc3e48eb5aa540f53ac358c791fa7b
MD5 ea9236c56f2b1c4a069a44c1a20be63e
BLAKE2b-256 305099fec545688eec4cfc23d28e1cd7bb6f8e98923f105b656f7859e0e4e92c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page