Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pandoc从第一个标题设置html标题_Html_Markdown_Pandoc - Fatal编程技术网

使用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为例)

  • 将以下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