我想让 less
显示具有某种格式的 *.md
markdown 文件——我知道 less
可以,对于联机帮助页,等。我正在运行 Ubuntu 12.04。
我目前正在将一个用户定义的过滤器放入.lessfilter
:
#!/bin/sh
case "$1" in
*.md)
fn=/tmp/$1.$$.html
markdown "$1" | html2txt > $fn ### LOSES FORMATTING
cat $fn ### TO STDOUT???
;;
*)
# We don't handle this format
exit 1
esac
# No further processing by lesspipe necessary
exit 0
所以,主要问题是:
- 如何将一些基本格式信息也传递给
less
,而不是用html2txt
丢失它 - 只将新内容打印到stdout 是否正确?或者我可以只将
*.html
写入文件磁盘,然后让less
自行处理该 html(查看 html 扩展名并对其执行操作?)<
最佳答案
看看Pandoc .它可以将文件从 markdown 格式转换为 groff 手册页,然后您可以在 man
中查看。
您的 .lessfilter
脚本将是:
case "$1" in
*.md)
pandoc -s -f markdown -t man "$1" | man -l -
;;
或者,使用 markdown
命令将其转换为 html,然后使用 lynx
浏览器查看它,但这对我来说效果不佳。
case "$1" in
*.md)
markdown "$1" | lynx -stdin
;;
是的,lessfilter
脚本必须写入标准输出。
关于linux - 如何配置 'less'显示格式化的markdown文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15496865/