![Преобразовать файл Markdown в серию HTML-файлов](https://rvso.com/image/1576012/%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20Markdown%20%D0%B2%20%D1%81%D0%B5%D1%80%D0%B8%D1%8E%20HTML-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2.png)
Допустим, у меня есть руководство для компьютерной программы, написанное в формате markdown/org-mode. Руководство написано в виде книги с главами, разделами и подразделами.
Я знаю, что Pandoc может конвертировать этот файл Markdown в HTML. Но что, если я хочу конвертировать каждую главу (скажем) в собственную страницу HTML и ссылку на следующую и предыдущую главу или раздел?
Например, рассмотрим веб-сайт, документирующий SWIG.http://swig.org/Doc3.0/Sections.htmlИменно такую структуру я хотел бы видеть на выходе Pandoc в моем файле разметки.
Я знаю, что latex2html может это сделать для файлов Latex, и что Pandoc может конвертировать markdown в latex, но мне не нравится конечный результат. Я бы предпочел чистое решение pandoc, не включающее никаких внешних программ.
решение1
Это не совсем тривиально. Хорошим подходом было бы написать собственный HTML-шаблон, который будет использоваться pandoc.
% pandoc -D html > my-page-template.html
# edit my-page-template.html to your liking
Этот шаблон может включать ссылки на предыдущую и следующую страницу, если таковые имеются.
$if(next-page)$<a href="$next-page$">next</a>$endif$
Соответствующие имена файлов будут переданы через командную строку, чтобы pandoc мог вставить правильные значения.
pandoc -M next-page=introduction.html --template=my-page-template.html …
Вероятно, будет полезен скрипт-оболочка, написанный на shell или каком-либо другом языке сценариев.
Как видите, это может стать довольно большой работой. К счастью, кто-то уже сделал все это и упаковал в пакет R:книжная полка. Он производит великолепно выглядящие результаты, и я настоятельно рекомендую его.