かなり大きな文書をレンダリングできる文書作成システムを構築しています。pandocを使用して複数の入力ファイルをカバーするマスター目次を作成する
入力はpandoc風味のマークダウンです。ドキュメントをより管理しやすくするために、ドキュメントのセクションごとに1つのマークダウンファイルがあります。例えば、文書は次のようになります。
ファイル:01_introduction.md
Introduction
============
This is the introduction
Section 1.1
-----------
This is a section
Section 1.2
-----------
This is another section
をファイル:02_functionaldescription.md
Functional Description
======================
Section 2.1
-----------
This is a section
Section 2.2
-----------
This is another section
出力フォーマットの一つは、HTMLになることです。 1つのセクション(入力ファイルに対応)ごとに1つのHTML出力ファイルと1つのマスター目次ページを生成したいと思います。マスターTOCページには、他のページの見出しへのリンクが含まれている必要があります。
pandocに個々のセクションのhtmlファイルを生成させることに問題はありません。私はセクションナンバリングを修正するためにそれを得ることさえできるので、それはあたかも1つの大きな文書の一部であるかのようにすべて適合します。フィルタを使用して、私はセクション間リンクも修正することができました。
問題はマスターの目次です。私はすべての個々のファイル1本のコマンドラインを、このようにそれを養う場合:
pandoc -f markdown -t html --number-sections --toc -s *.md
は、出力されたTOCは、次のようになります。
<ul>
<li><a href="#introduction"><span class="toc-section-number">1</span> Introduction</a><ul>
<li><a href="#section-1.1"><span class="toc-section-number">1.1</span> Section 1.1</a></li>
<li><a href="#section-1.2"><span class="toc-section-number">1.2</span> Section 1.2</a></li>
</ul></li>
<li><a href="#functional-description"><span class="toc-section-number">2</span> Functional Description</a><ul>
<li><a href="#section-2.1"><span class="toc-section-number">2.1</span> Section 2.1</a></li>
<li><a href="#section-2.2"><span class="toc-section-number">2.2</span> Section 2.2</a></li>
</ul></li>
</ul>
のHREFのリンクターゲットを想定して、すべての断片であります同じ文書にあります。私は彼らがこのように、見出しを含む実際のファイルをポイントする必要があります。
<a href="introduction.html#section-1.1">
Aが確実にフィルタを動作させることができていない - それはフィルタに到達した時点で、すべてのファイルが一緒に連結されています各ファイルの開始位置と終了位置は表示されません。
私がこれまでに思いついた唯一の解決策は、tocを生成するためにpandoc以外のものを使用すること、またはtocを後処理することです。これらのソリューションは複雑に見えるので、可能ならば避けたい。
注意(ファイル名を修正したとしても)接続されたファイルからマスタートークンが削除される –
ところで、私は上記の問題が実際に--file-scopeフラグによって修正されていることに気付いた –