== Before starting ==
== Enable the plugin ==
Add the plugin to Jekyll’s _config.yml
file:
plugins:
- jekyll-printing-press
== Configure the plugin ==
Plugin-specific configuration goes under a pandoc
key on _config.yml
:
pandoc:
# Configuration goes here
=== Use Pandoc’s markdown flavor for generating Jekyll pages ===
Replace kramdown
as default Markdown parser on Jekyll:
markdown: Pandoc
Markdown content on the Jekyll site is processed as Liquid (unless disabled) and then rendered using the HTML5 output format from Pandoc.
You can configure this options later on.
=== Formats and options ===
Pandoc options can be configured on Jekyll’s side by adding them as YAML key-values. You can either use snake_case or kebab-case.
For more info on options and possible values, please consult [https://pandoc.org/MANUAL.html#options Pandoc’s documentation].
Add an options
key on the configuration file.
pandoc:
options:
Then, add a key for any output format.
pandoc:
options:
html5:
pdf:
epub:
Each key will contain an option and their values for a specific format.
pandoc:
options:
html5:
table-of-contents: true
toc-depth: 3
pdf:
variable:
- documentclass=book
- papersize=a5
epub: true
If you want to enable a format without passing any option, just add true
as its value, like in the epub
example.
Some options don’t need a value, so they can also be enabled with a true
value. Others do require a value, like in toc-depth
for html5
, or accept a list of values, like in variable
for pdf
.
These options and values can be as long as you need them to be. Any option supported by Pandoc can go here.
==== Options for site publication ====
When you enable Pandoc for generating HTML pages, you can set its options using the html5
format.
pandoc:
options:
html5:
# Web pages options go here
==== Common options ====
Sometimes you need to share options between formats. In this case you can use a special common
key which will share options between all formats.
In this example, all three formats now have a table of contents, but only HTML5 produces one including third-level headers.
pandoc:
options:
common:
table-of-contents: true
html5:
toc-depth: 3
pdf:
variable:
- documentclass=book
- papersize=a5
epub: true
==== Disabling or changing common options ====
If you need to disable a common option on a format, but keep it for others, set its value to false
.
pandoc:
options:
common:
table-of-contents: true
html5:
toc-depth: 3
pdf:
variable:
- documentclass=book
- papersize=a5
epub:
table-of-contents: false
Now only html5
and pdf
have TOCs, and epub
doesn’t.
Same if you want to set a different value:
pandoc:
options:
common:
table-of-contents: true
toc-depth: 3
html5:
toc-depth: 4
pdf:
variable:
- documentclass=book
- papersize=a5
epub: true
Now all formats have a table of contents with three-level headers, except html5
where the TOC is four-level deep.