我正在構建一個文檔準備系統,該系統應該能夠渲染相當大的文檔。使用pandoc製作包含多個單獨輸入文件的主目錄表
輸入是在pandoc風味降價。爲了使文檔更易於管理,文檔的每個部分都會有一個降價文件。例如,一個文件可能是這樣的:
文件: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。我想爲每個部分(對應於輸入文件)和一個主目錄頁面生成一個HTML輸出文件。主TOC頁面應包含指向其他頁面中標題的鏈接。
我沒有問題讓pandoc生成各個部分的html文件。我甚至可以用它來糾正部分編號,這樣它們就像是一個大文檔的一部分一樣。使用過濾器我也設法修正了部分間鏈接。
問題是主目錄。如果我給它的所有個人文件,一個一個命令行,像這樣:
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">
一個一直沒能做成過濾器工作可靠 - 通過它到達過濾器時,所有文件都被連接在一起沒有什麼可以顯示每個文件開始或結束的位置。
我到目前爲止唯一提出的解決方案是使用除pandoc之外的東西來生成toc或者後處理toc。這些解決方案看起來很複雜,所以我想盡可能避免它們。
注意,如果兩個小節共享相同的名稱(例如,它們被稱爲摘要「),然後創建一個來自接觸文件的主要toc會破壞hrefs(即使我們修復文件名) –
順便說一下,我注意到上述問題實際上是由--file-scope標誌修復的 –