如何用Pandoc将HTML转Markdown时保留HTML注释?
解决Pandoc转换HTML到Markdown时丢失注释的问题
Pandoc默认会过滤掉HTML注释,哪怕你用了gfm-raw_html格式也不会保留,因为它把注释视为无意义的内容。要保留注释,最靠谱的方法是用Lua过滤器来拦截并保留这些注释:
- 创建一个名为
keep-comments.lua的过滤器文件,内容如下:
function RawBlock (elem) if elem.format == "html" and elem.text:match "^<!%-%-" then return elem end end function RawInline (elem) if elem.format == "html" and elem.text:match "^<!%-%-" then return elem end end
- 修改你的Pandoc命令,加上这个Lua过滤器参数:
pandoc from.htm -o to.md -t gfm-raw_html --wrap=none --lua-filter=keep-comments.lua
这个过滤器会识别所有HTML格式的注释块和行内注释,强制保留它们的原始内容,这样转换后的Markdown文件里就会保留原来的HTML注释了。
内容的提问来源于stack exchange,提问作者user22996855
相关产品推荐
相关产品推荐

