2014-10-02 67 views
0

tl,dr:是否可以{% include %}文件並增加所有標題級別?包含片段但縮進標題

如果我有一個文件chapter1.md

# chapter 1 

blah blah 

## subheading 1 

blah blah 

當我與化身渲染它,我得到「第1章」爲h1和「小標題1」爲h2,按計劃進行。

現在我有一個不同的頁面,book.md,我想我的第1章包括了進去,像這樣:

# Book 

Here is my book. 

{% capture inc %}{% include chapter1.md %}{% endcapture %} 
{{ inc | markdownify }} 

{% comment %} ditto for remaining chapters {% endcomment %} 

凡(傻)capture/endcapture是包括片段慣用的伎倆,你需要使用降價(無插件)進行渲染。

在這裏,「章節1」是h1,「子標題1」是h2(同樣如預期的那樣 - 遵循原始減價文件)。

我的問題是:我怎樣才能引起chapter1.md所有的標題進行了一個層次後列入使「第1章」成爲h2和「副標題1」變爲h3會增加嗎?

這使我可以將我的章節片段作爲獨立文件使用幷包含在主文檔中。

有沒有{{ inc | markdownify: 'header-increment', '1'}}或類似的東西?

回答

0

是否可以{%include%}文件並增加所有標題級別?

不是。如上所述,Jekyll和Liquid都沒有內置的縮進標題級別的方法。你可以表面上寫一個插件來進行適當的轉換,但這是一項非常重要的任務(也就是說,例如,天真的#對於##,將破壞在代碼塊或段落中對「#」的任何使用)。

簡單地維護章節內容從h2開始的約定會容易得多。或者,您可以將章節嵌入articlesection標記中,並使用CSS進行區分而不會遇到標記語義。

+0

謝謝,我喜歡將所包含的文檔嵌套到標籤中,並使用CSS降級標題(無論風格如何)。從長遠來看,我可能會考慮使用pandoc作爲我的轉換器,因爲在pandoc中編寫這樣的插件將會很簡單。我只是還沒有,因爲我正在嘗試使用github頁面,它具有無插件限制(儘管最終我確信我最終會做其他人做的事情,並編譯該網站發佈在gh上) – 2014-10-02 03:12:20