2017-01-28 13 views
1

Für mein Programm habe ich ein Abschriften-Dokument, mit dem ich sowohl eine Unix-Manpage als auch ein einfaches Textdokument erstellen kann.pandoc - Großschreibung des Hervorhebungsabzugs deaktivieren

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

Der Inhalt des Abschlags mit zwei Sternchen (z.B. **foobar**) verwendet emphasis Ergebnisse in bold Text in der Handbuchseite auszudrücken. Aber in der Textausgabe führt es zu Großbuchstaben.

Zum Beispiel:

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

Ergebnisse in:

FOOBAR

Aber ich würde es eher die Betonung Tagging und gerade Ausgabe foobar in Klartextausgabe ignorieren.

Das Beste, was ich habe in der Lage zu kommen mit ist ein sed Ausdruck zu verwenden, um alle Betonung Tags Streifen aus:

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

Gibt es eine formale Art und Weise, dies zu tun?

+0

Sie können jederzeit das Textdokument erzeugen _from die manpage_. – AlexP

Antwort

2

Sie möchten einen Pandoc-Filter verwenden, der starken Text in normalen Text umwandelt, wenn er als Text ausgegeben wird.

Es ist ein Filter, der nur tut dies: https://github.com/sergiocorreia/panflute-filters/blob/master/filters/remove-strong.py

(Es verwendet Panflöte, so dass Sie pip install panflute brauchen, und haben Python 2.7+ installiert)


Sie können auch diese Zeile ersetzen:

if isinstance(elem, pf.Strong)

Mit dieser:

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

(Oder starten Sie einfach die Filter nur für die Textausgabe!)

+1

"Schmerztext". ;) – selbie