UNIX系统的less-style markdown viewer

50 unix bash markdown node.js less-unix

我在JavaScript中有一个Markdown字符串less,我想more在命令行的(或者,我认为)风格的查看器中显示它(带有粗体等).

例如,使用字符串

"hello\n" + 
"_____\n" + 
"*world*!"
Run Code Online (Sandbox Code Playgroud)

我想输出弹出的可滚动内容看起来像

你好

世界

这是可能的,如果是这样的话怎么样?

Kei*_*son 68

Pandoc可以将Markdown转换为groff手册页.

这(感谢nenopera的评论):

 pandoc -s -f markdown -t man foo.md | man -l -
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.该-s选项告诉它生成正确的页眉和页脚.

那里可能还有其他markdown-to-roff转换器; Pandoc恰好是我发现的第一个.

另一种选择是markdown命令(apt-get install markdown在Debian系统上),它将Markdown转换为HTML.例如:

markdown README.md | lynx -stdin
Run Code Online (Sandbox Code Playgroud)

(假设您有lynx基于终端的Web浏览器).

或者(感谢Danny的建议)你可以这样做:

markdown README.md > README.html && xdg-open README.html
Run Code Online (Sandbox Code Playgroud)

其中xdg-open(在某些系统上)在首选应用程序中打开指定的文件或URL.这可能会README.html在您首选的GUI Web浏览器中打开(这不是"风格不太好",但它可能很有用).

  • 适用于Linux,但Mac OS X中的`man`版本(可能还有其他BSD)不支持本地文件模式(`man -l`).这是我最接近的Mac OS X:pandoc -s -f markdown -t man foo.md | groff -T utf8 -man | 减 (8认同)
  • 真的很棒,而且不仅仅是为了男人的降价.但是如果你不想搞砸了,那就是some-pandoc-command:pandoc -s -f markdown -t man <file>.真的很重要 - 添加man的头部(或者它不会工作)更好地使用pandoc-command | man -l - (更好的页面宽度) (2认同)

Joe*_*oss 30

我尝试在上面的评论中写这个,但我无法正确格式化我的代码块.要编写"较少过滤器",请尝试将以下内容另存为~/.lessfilter:

#!/bin/sh

case "$1" in
    *.md)
        extension-handler "$1"
        pandoc -s -f markdown -t man "$1"|groff -T utf8 -man -
        ;;
    *)
        # We don't handle this format.
        exit 1
esac

# No further processing by lesspipe necessary
exit 0
Run Code Online (Sandbox Code Playgroud)

然后,您可以键入less FILENAME.md,它将被格式化为联机帮助页.

  • 别忘了`chmod + x`` .lessfilter`.此外,可能需要`less -R`. (5认同)

Red*_*ill 8

如果你喜欢颜色,那么这也值得检查:

terminal_markdown_viewer

它也可以在其他程序或python模块中直接使用.

它有很多样式,比如200以上的降价和可以组合的代码.

PIC2

放弃

  • 这可能还有错误

  • 我是它的作者,也许有些人喜欢它;-)


Alb*_*ban 5

一个完全不同的选择是疯狂的.这是我刚刚发现的shell脚本.它非常容易安装,并且可以很好地在控制台中显示降价.