tl,博士:我可以{% include %}
一个文件并增加所有标题级别吗?
如果我有文件chapter1.md
:
# chapter 1
blah blah
## subheading 1
blah blah
当我使用Jekyll渲染时,我按照计划将'第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
是包含代码段的常用技巧,需要使用markdown(无插件)进行渲染。
此处,“第1章”是h1
,“小标题1”是h2
(再次,正如预期的那样 - 在原始降价文件之后)。
我的问题是:如何将chapter1.md
中的所有标题在包含时增加一级,以便“第1章”成为h2
和“副标题1“成为h3
?
这允许我将我的章节片段用作独立文件并包含在主文档中。
是否有{{ inc | markdownify: 'header-increment', '1'}}
或类似的内容?
答案 0 :(得分:1)
我可以{%include%}一个文件并增加所有标题级别吗?
不是真的。 Jekyll和Liquid都没有内置的方法来缩进标题级别,如上所述。你可以表面上写一个插件来进行适当的转换,但它是一项非常重要的任务(也就是说,天真地gsub
#
为##
,例如,会破坏在代码块或段落中使用"#"。
简单地维护章节内容从h2
开始的约定要容易得多。或者,您可以将章节嵌套在article
或section
标记中,并使用CSS进行区分,而不会与标记语义相冲突。