如何在Pandoc生成的HTML输出中包含摘要?
解决Pandoc生成HTML时不显示摘要的问题
问题重现
你的示例代码如下:
$ cat test.md --- title: An Example author: Luís language: en-IE abstract: | This is my abstract. --- # Intro Some text. # Conclusion More text.
执行命令生成HTML:
$ pandoc -o test.html test.md
得到的HTML输出中确实未包含摘要内容,但PDF格式可正常显示。
解决方案
Pandoc的默认HTML模板不会自动渲染元数据中的abstract字段,可通过以下方式处理:
方法1:添加变量参数开启摘要渲染
使用--variable=abstract:true参数修改命令,让默认模板输出abstract元数据内容:
pandoc -o test.html --variable=abstract:true test.md
执行后生成的HTML会包含摘要部分。
方法2:自定义HTML模板
若默认模板样式不符合需求,可创建自定义模板文件(比如custom.html),在合适位置添加渲染摘要的代码:
$if(abstract)$ <section class="abstract"> <h2>Abstract</h2> $abstract$ </section> $endif$
再通过模板生成HTML:
pandoc -o test.html --template=custom.html test.md
方法3:直接将摘要写入正文
如果无需依赖元数据,也可以直接在markdown正文开头添加摘要内容,确保所有格式都能显示:
# Abstract This is my abstract. # Intro Some text.
内容的提问来源于stack exchange,提问作者Luís de Sousa
相关产品推荐
相关产品推荐

