pandoc - 禁用重点降价大写

时间:2017-01-28 07:31:18

标签: markdown pandoc

对于我的程序,我有一个markdown文档,用于生成Unix手册页和纯文本文档。

pandoc -s -w plain -o program.txt program.md
pandoc --no-wrap -s -w man -o program.1 program.md

带有双星号(例如**foobar**)的降价标记中的内容用于表示手册页中粗体文本的强调结果。但是在文本输出中,它会导致大写。

例如:

echo '**foobar**' | pandoc -w plain

结果:

FOOBAR

但我宁愿忽略强调标记,只是在纯文本输出中输出foobar

我能想到的最好的方法是使用sed表达式删除所有强调标记:

cat program.md | sed s/\*\*//g | pandoc --no-wrap -s -w plain -o program.txt

有更正式的方法吗?

1 个答案:

答案 0 :(得分:2)

您希望使用Pandoc过滤器,在输出到痛苦文本时将强文本转换为普通文本。

有一个过滤器就是这样做的:https://github.com/sergiocorreia/panflute-filters/blob/master/filters/remove-strong.py

(它使用Panflute所以你需要pip install panflute,并且安装了python 2.7+)

您也可以替换此行:

if isinstance(elem, pf.Strong)

有了这个:

if isinstance(elem, pf.Strong) and doc.format=='plain'

(或者只是为文本输出运行过滤器!)