Skip to main content

Pandoc filter to add attributes to code blocks based on their classes

Project description

Pandoc filter to add attributes to code blocks based on their classes.

Installation

First install python and python-pip.

Then use pip to install:

pip3 install --user pandoc-code-attribute

Usage

Configuration

By default, this filter won’t add style attributes to prevent undefined errors.

You can enable it by setting code-attribute field in metadata.

To add attributes to all classes, use:

code-attribute: true

To add attributes to specific classes, use:

code-attribute:
    - cpp

Example

This pandoc filter will add attributes to code blocks based on their classes.

For example, it can be very useful to use different styles for different language in listings :

---
code-attribute:
    - cpp
    - python
header-includes: |
    \usepackage{listings}
    \usepackage[usenames,dvipsnames]{color}

    \lstset{ % General settings
        numbers=left,
        numberstyle=\tiny
    }

    \lstdefinestyle{cpp}{ % Only for C++
        keywordstyle=\color{Green}
    }

    \lstdefinestyle{python}{ % Only for Python
        keywordstyle=\color{Magenta}
    }
---

C++:

```cpp
int main(int argc, char *argv[])
{
    return 0;
}
```

Python:

```python
def main():
    print('Hello')

if __name__ == '__main__':
    main()
```

Then compile the example (--listings is needed only for this example):

pandoc input.md --filter pandoc-code-attribute --listings -o output.pdf

Results:

Command

In general, to use this filter, just add this filter to pandoc command:

pandoc input.md --filter pandoc-code-attribute -o output.pdf

License

MIT License

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-code-attribute-0.2.0.tar.gz (2.6 kB view details)

Uploaded Source

Built Distribution

pandoc_code_attribute-0.2.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file pandoc-code-attribute-0.2.0.tar.gz.

File metadata

  • Download URL: pandoc-code-attribute-0.2.0.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for pandoc-code-attribute-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6841b57ca8e0ff39d9840008b80c7d6f68aab7af3be934d49a76f2c8cbf44dfa
MD5 480198749f7d044bcfb653cd6200da93
BLAKE2b-256 4d84b8a9dc7189671d014c746fcf5dd88c3a76df2f7c792de0ad4b15f92b82fd

See more details on using hashes here.

File details

Details for the file pandoc_code_attribute-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pandoc_code_attribute-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for pandoc_code_attribute-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dff229e5fa78213b3de7dfa6a2c5f72a89ef3fbc9b3163593a58f926834befb8
MD5 e25f22cc4b087c9b00900f98482dfbcc
BLAKE2b-256 637dfafaba845f2bbf3aeb3f4ec54a1f8be9c8454ccf1db7fdc66a8fc34b1153

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