2017-01-28 69 views
1

對於我的程序,我使用了一個markdown文檔來生成一個Unix手冊頁以及一個純文本文檔。pandoc - 禁用大寫減號的大寫

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 

是否有一個更正式的方式來做到這一點?

+0

您可以隨時生成文本文檔_from的manpage_。 – AlexP

回答

2

您希望使用Pandoc過濾器在輸出到疼痛文本時將強文本轉換爲普通文本。

有,不只是這一個過濾器:https://github.com/sergiocorreia/panflute-filters/blob/master/filters/remove-strong.py

(它使用Panflute所以你需要pip install panflute,並有蟒蛇2.7+安裝)


您也可以替換該行:

if isinstance(elem, pf.Strong)

有了這一個:

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

(或只是運行過濾器只對文本輸出!)

+1

「痛苦文字」。 ;) – selbie