Как мне просмотреть файл Markdown как страницу руководства без создания временного файла?
Я хотел бы прочитать файлы Markdown как man
страницы. Я могу сделать это:
pandoc README.md -t man --standalone > tmp_file && man ./tmp_file
Однако я хотел бы сделать это без создания временного файла. Я старался:
man <(pandoc README.md -t man –standalone)
Но я получил ошибку:
fgets: Undefined error: 0
Error reading man page /dev/fd/63
No manual entry for /dev/fd/63
Есть идеи? Я посмотрел на этот вопрос, но это не работает на версии MacOS man
, похоже на то.
Я действительно не забочусь об использовании man
По сути, но я хотел бы иметь возможность просматривать предварительно отформатированные файлы Markdown в терминале. pandoc
можно преобразовать в groff, который я могу затем отправить man
чтобы получить хороший дисплей. Есть ли программа, которая man
использует под капотом, что может работать?
1 ответ
Попробуйте эту трубу, чтобы groff:
pandoc -s -f markdown -t man README.md | groff -T utf8 -man | less
( Источник)
Я использую эту функцию оболочки:
mdv () { # This function display Markdown in the terminal from file or "-"
pandoc -s -t man ${1:-"-"} | # Read into Pandoc from file or STDIN
groff -T utf8 -man | # format for Pager
sed 1,4d | head -n -4 | # Chop off 4 leading/trailing (empty) lines
${PAGER:-$(DN=/dev/null; # Use $PAGER, if available
which less &>$DN && { echo "less -FRSEX"; } || # less w/ opts
which more 2>$DN || echo cat )} # Fallbacks
}
Основная идея такая же, как и в принятом ответе, я просто добавил несколько наворотов вокруг нее и обернул ее в документированную функцию