Support for custom Pandoc filters
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
No file or test is named in the issue. Start by locating the code that builds a zettel's Pandoc representation and handles YAML frontmatter, then trace how rendering consumes it. Done means a configured filter can receive the representation on stdin, return AST JSON on stdout, and affect final rendering.
Written by the indexing model from the issue text.
Description
Suppose we use Pandoc's JSON filters, then add a new metadata property to YAML frontmatter such as filter: foo.py, and have neuron look for the script file named ./neuron/filters/foo.py. Then, that zettel's Pandoc representation can be passed as JSON to the script's stdin, which in turn spits out the modified Pandoc AST JSON in stdout, for neuron to use.
The goal is to allow the user to customize the what gets rendered finally. Such as, say, evaluating code blocks and injecting the results back into the Pandoc AST.
We could also support builtin filters (in Haskell), and make neuron's link processing just another Pandoc filter (which is what it is anyway, in essense).
- Dominant language
- Haskell
- Stars
- 1.6k
- Forks
- 145
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from srid/neuron
-
non-nix wontfix
-
documentation Windows
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
-
good first issue NeuronNG/Triage
Difficulty 4/5 3-5 days Newbie friendliness 15/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 25/100
Similar issues
-
chore
Difficulty 1/5 Under an hour Newbie friendliness 91/100
alunduil/alunduil-chezmoi#792 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
koalaman/shellcheck#3539 ·
-
time-manager-0.4.0 Openfailure: bounds
Difficulty 1/5 Under an hour Newbie friendliness 72/100
commercialhaskell/stackage#8122 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
objectionary/phino#1350 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100