2017-01-28 13 views
1

Для моей программы у меня есть документ с разметкой, который я использую для создания как справочной страницы 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