Все примеры расположены в репозитории.
При генерации целого документа (параметр -s
) Pandoc выводит данные в шаблон. Для каждого выходного формата шаблоны разные. Чтобы посмотреть шаблон используйте команду
1 |
pandoc -D *FORMAT* |
Например
1 |
pandoc -D markdown |
Вывод будет следующий
1 2 3 4 5 6 7 8 9 10 11 |
$if(titleblock)$ $titleblock$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $table-of-contents$ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ |
Последние версии всех шаблонов хранятся в репозитории.
Можно использовать не только стандартный шаблон, а сделать свой. Создадим файл template01.md
с самым простым шаблоном, который просто выведет весь документ:
1 |
$body$ |
И запустим конвертацию с параметром --template
:
1 |
pandoc -o output.md -f markdown -t markdown -s --template template01.md input01.md |
В шаблонах можно использовать переменные, такие как title, например, заданный в файле метаданных. Изменим шаблон:
1 2 3 |
# $title$ $body$ |
И добавим metadata.yaml
:
1 |
title: Заголовок |
Запускаем командой:
1 |
pandoc -o output.md -f markdown -t markdown -s --template template02.md --metadata-file=metadata.yaml input01.md |
В результате, получаем заполненный заголовок.
Переменные можно задавать через параметры
-V KEY[=VAL]
--variable=KEY[:VAL]
Снова изменим шаблон
1 2 3 4 |
* $item1$ * $item2$ $body$ |
И добавим переменные:
1 |
pandoc -o output.md -f markdown -t markdown -s --template template03.md -V item1=Apple -V item2=Tomato input01.md |
На выходе получаем
1 2 3 4 |
* Apple * Tomato [текст документа] |