使用pandoc从第一个标头设置html标题

时间:2017-03-09 22:02:43

标签: html markdown pandoc

我为README.md等人创建了github,{strong> Pandoc 生成

 <title></title>

我想看到文件中的第一个标题。如果我有.md

# My README
text
## Second header

Pandoc应该生成

<title>My README</title>

从第一个1-#标题生成会很好。所以

### Preface
# My README
text
## Second header

仍然应该

<title>My README</title>

无论如何,我想避免使用不属于简单Markdown标准的元信息来扩展我的.md

2 个答案:

答案 0 :(得分:0)

pandoc -s test.md -o test.html --metadata title = titleName

答案 1 :(得分:0)

假设您有一个README.md文件,并且想将其转换为README.html,并且第一个level 1降价标题为html标头。

您可以使用自定义文件管理器运行pandoc(以python为例)。

  1. 将以下python脚本保存到filter.py文件中
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)
  1. 添加文件执行权限
chmod +x filter.py
  1. 添加文件执行权限
pandoc -s README.md -o README.html --filter filter.py