我想知道是否有一个命令行实用程序可以将GitHub风味Markdown文件并将其呈现为HTML。

我正在使用GitHub维基创建网站内容。我已经在服务器上克隆了存储库,然后想把它处理成常规HTML。对我来说,重要的是,在GitHub上出现的内容正是我的网站应该如何寻找的。我也非常喜欢使用带~~~的围栏块,所以我宁愿不使用标准Markdown语法。

我已经看了一下JavaScript的实时预览,我想我可以把它挂钩到Node.js,但他们说它已经被弃用了。我已经查看了红地毯存储库,但它看起来不像有命令行界面。

我选择了自己的解决方案,但是,由于这里没有一个解决方案明显比其他解决方案更好,所以我将不选择答案。


当前回答

也许这可能会有所帮助:

gem install github-markdown

没有文档,但我从咕噜的文档里找到的。查看rubydoc.info,看起来你可以使用:

require 'github/markdown'  
puts GitHub::Markdown.render_gfm('your markdown string')

在你的Ruby代码中。你可以在脚本中轻松地将其包装成命令行实用程序:

#!/usr/bin/env ruby

# render.rb
require 'github/markdown'

puts GitHub::Markdown.render_gfm File.read(ARGV[0])

使用./render执行它。rb路径/ /我/减价/ file.md。注意,在没有消毒的生产中使用是不安全的。

其他回答

我找到了一个网站,可以帮你做到这一点:http://tmpvar.com/markdown.html。粘贴你的Markdown,它会为你显示它。它似乎工作得很好!

然而,它似乎不能处理代码的语法高亮显示选项;也就是说,~~~ruby特性不起作用。它只打印‘ruby’。

可能不是你想要的,但既然你提到了Node.js:我找不到一个好工具在提交到GitHub之前在我的本地驱动器上预览GitHub调味Markdown文档,所以今天我创建了一个基于Node.js的文档:https://github.com/ypocat/gfms

因此,如果您的问题仍然是实际的,也许您可以在您的Wiki中重用其中的showdown.js。如果不是这样,也许其他和我面临同样问题的人会发现(就像我一样)这个问题和这个答案。

这主要是@barry- states对使用Pandoc的回答的后续。如果你用的是Mac电脑,Homebrew也有这个功能:

brew install pandoc

Pandoc通过markdown_github名称支持GFM作为输入格式。

输出到文件

cat foo.md | pandoc -f markdown_github > foo.html

在Lynx中打开

cat foo.md | pandoc -f markdown_github | lynx -stdin # To open in Lynx

在OS X的默认浏览器中打开

cat foo.md | pandoc -f markdown_github > foo.html && open foo.html # To open in the default browser on OS X`

TextMate软件集成

像大多数编辑器所允许的那样,您始终可以将当前选择或当前文档输送到上述其中一个。您还可以轻松地配置环境,以便pandoc替换Markdown包使用的默认Markdown处理器。

首先,创建一个包含以下内容的shell脚本(我将其命名为ghmarkdown):

#!/bin/bash
# Note included, optional --email-obfuscation arg
pandoc -f markdown_github --email-obfuscation=references

然后,您可以将TM_MARKDOWN变量(在Preferences→Variables中)设置为/path/to/ghmarkdown,它将替换默认的Markdown处理器。

pip3 install --user markdown
python3 -m markdown readme.md > readme.html

它不能处理GitHub扩展,但总比没有强。我相信您可以扩展模块来处理GitHub的添加。

我的最终解决方案是使用Python Markdown。我自己做了扩建,把栅栏块修好了。