web-dev-qa-db-ja.com

マークダウンファイルを一連のHTMLファイルに変換します

Markdown/org-mode形式で書かれたコンピュータプログラムのマニュアルがあるとしましょう。マニュアルは、章、セクション、およびサブセクションを含む本として書かれています。

PandocがこのMarkdownファイルをHTMLに変換できることを私は知っています。しかし、各章(たとえば)を独自のHTMLページに変換し、次および前の章またはセクションにリンクしたい場合はどうなりますか?

たとえば、SWIGを文書化したWebサイトについて考えてみます。 http://swig.org/Doc3.0/Sections.html これはまさに、Pandocの出力をマークダウンファイルに配置したい構造です。

ラテックスファイルの場合、latex2htmlがこれを実行でき、Pandocがマークダウンをラテックスに変換できることは知っていますが、結果の出力が気に入らないのです。外部プログラムを含まない純粋なpandocソリューションをお勧めします。

2
smilingbuddha

これは完全に些細なことではありません。良いアプローチは、pandocで使用するカスタムHTMLテンプレートを作成することです。

% 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パッケージにパックしました: bookdown 。見栄えの良い出力が得られるので、強くお勧めします。

1
tarleb