使用pandoc从第一个标题设置html标题
当人们为使用pandoc从第一个标题设置html标题,html,markdown,pandoc,Html,Markdown,Pandoc,当人们为github等创建时,我通常使用README.md。Pandoc生成 <title></title> Pandoc应生成 <title>My README</title> 还是应该 <title>My README</title> 我的自述 无论如何,我希望避免使用元信息扩展我的.md,元信息不是简单的标记标准的一部分。pandoc-s test.md-o test.html--metadata title
github
等创建时,我通常使用README.md
。Pandoc生成
<title></title>
Pandoc应生成
<title>My README</title>
还是应该
<title>My README</title>
我的自述
无论如何,我希望避免使用元信息扩展我的
.md
,元信息不是简单的标记标准的一部分。pandoc-s test.md-o test.html--metadata title=titleName假设您有一个README.md
文件,您希望将其转换为README.html
,第一个level1
标记标题作为html标题
您可以使用定制的文件管理器运行pandoc(以python为例)
filter.py
文件中您可以用python/perl/js/php/等编写一个过滤器。过滤器只需获取第一个level-1头并使用它设置标题元数据。@sergioCorreia,如何?请解释。为什么不在yaml前台使用
标题:“我的标题”
?Pandoc将其传递给my title
@scoa,因为这不会被其他渲染器隐藏。不好。有关Pandoc筛选器的信息,请参阅。我建议你自己试试。如果遇到问题,请回来问一个关于代码问题的更具体问题。请解释此解决方案如何帮助回答此问题。我将添加titleName=grep-m1'^#\s+.'
-提取第一行以“#”开头。谢谢。这对我很有效--metadata title=“
从我的输出中删除了标题,这正是我要查找的内容。
### Preface
# My README
text
## Second header
<title>My README</title>
from pandocfilters import toJSONFilter, Null
def behead(key, value, format, meta):
if key == "Header" and value[0] == 1 and "title" not in meta:
meta["title"] = {"t": "MetaInlines", "c": value[2]}
return Null()
if __name__ == "__main__":
toJSONFilter(behead)
chmod +x filter.py
pandoc -s README.md -o README.html --filter filter.py