pandocmk: a minmalist make tool for Pandoc
Writers of complex Pandoc documents often run into three issues:
- Very long command-line options that they need to remember (or copy-paste) all the time
- Need for extensibility, which can be mostly solved via filters (at the cost of #1)
- Pre/post processing tools, which can be solved via more complex one-liners (
pandoc ... && SumatraPDF output.pdf && ...)
The goal of pandocmk is to simplify using Pandoc, by helping with #1 and a little bit with #3 (#2 is covered by e.g. panflute). It uses information from the YAML metadata field to build the command-line arguments, and also has extra arguments for extras I find useful (such as monitoring a file and auto-building as needed, auto-viewing in a PDF viewer, etc.).
Existing tools
There are several good existing tools:
pandocomatic(Ruby)panrun(Ruby; powers panwriter)rmarkdown(R; powers bookdown and RStudio)panzer(Python; inactive)
However, they don't completely fill my needs, which leads to this package.
Usage
pandocmk has a few custom command-line options. Everything else is forwarded to Pandoc (and overrides whatever is set in the YAML metadata). Thus, in practice this is just a Pandoc wrapper with a few extras.
pandocmk [OPTIONS] [FILES]
--view open output file in a viewer such as SumatraPDF for .pdf
--watch monitor the input files for changes, and rebuild as needed
--tex save .tex output besides .pdf
--timeit show build time
--verbose show debugging information
--draft NOT IMPLEMENTED.
When building a Latex PDF, choose faster options (pdflatex, etc)
Note: other options are passed to Pandoc
Installation
To install pandocmk, open the command line and type:
pip install pandocmk
Note: pandocmk requires Python 3.7 or higher.
Uninstall
pip uninstall pandocmk
Dev Install
After cloning the repo and opening the pandocmk folder:
python setup.py install: install the package locally
python setup.py develop: install locally with a symlink so changes are automatically updated
Dev Update PyPI:
python setup.py sdist bdist_wheel
python -m twine upload dist/*
(Ensure README.md has unix line endings)
Roadmap
-
v0.1: use thepandocmetadata to build the CLI arguments -
v0.2: add support for the--viewand--watchoptions -
v0.3: tweaks based on what we learned so far -
v0.4: add support for styles (should we name them output, defaults, etc.?)
Metadata
Release files for pandocmk 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pandocmk-0.2.1.tar.gz | 8.0 kB | Without provenance | Details for pandocmk-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pandocmk-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for pandocmk-0.2.1-py3-none-any.whl |
Total release size: 17.6 kB
Release files / pandocmk-0.2.1.tar.gz
| Download URL | pandocmk-0.2.1.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08080f019c6b84bea878619040f1d71e6b21a505ed6a3307d5c2f81b586c219c
|
|
BLAKE2b-256 checksum How to use checksums |
6905cdf34fc0f51ac6e6fd123481faa2b28d2ec28dc1f579039703cefa73dae9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4
|
Release files / pandocmk-0.2.1-py3-none-any.whl
| Download URL | pandocmk-0.2.1-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee3b307594769ccc18e271706789ddd5fa79c2c7b146450f82558dd68847a5a8
|
|
BLAKE2b-256 checksum How to use checksums |
1f8d30b5f1f33a2ac6c5f9fcf5874a0984e745db4c0b5d0035fce831983539f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4
|
Security for pandocmk 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.