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

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

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

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


当前回答

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

其他回答

为此,我设法使用了一行Ruby脚本(尽管它必须放在单独的文件中)。首先,在每台客户端机器上运行这些命令一次,你将从下面的机器推送文档:

gem install github-markup
gem install commonmarker

接下来,在客户端镜像中安装这个脚本,并将其命名为render-readme-for-javadoc.rb:

require 'github/markup'

puts GitHub::Markup.render_s(GitHub::Markups::MARKUP_MARKDOWN, File.read('README.md'))

最后,像这样调用它:

ruby ./render-readme-for-javadoc.rb >> project/src/main/javadoc/overview.html

ETA:这不会帮助你与stackoverflow风味Markdown,这似乎是失败的答案。

改进@barry- state和@Sandeep的答案,为普通用户的elinks,你会添加以下到。bashrc:

function mdviewer() {
  pandoc $* | elinks --force-html
}

不要忘记安装pandoc(和elinks)。

我用Python写了一个小的CLI,并添加了GFM支持。它叫做Grip (Github Readme即时预览)。

安装方法:

$ pip install grip

要使用它,简单地说:

$ grip

然后访问localhost:5000查看自述文件。Md文件在那个位置。

你也可以指定你自己的文件:

$ grip CHANGES.md

并更改端口:

$ grip 8080

当然,特别渲染github - flavour Markdown,可选的存储库上下文:

$ grip --gfm --context=username/repo issue.md

显著的特点:

渲染页面显示完全像在GitHub Fenced块 Python API 在2.0中添加的链接文件(谢谢vladwing!)之间导航 导出到2.0中添加的单个文件(谢谢,iliggio! 新增:从stdin读取并导出到stdout

来看看。

我还没有找到一个快速和简单的方法,github风味Markdown,但我已经找到了一个稍微更通用的版本- Pandoc。它可以从/转换为多种格式,包括Markdown, Rest, HTML和其他格式。

我还开发了一个Makefile来将所有。md文件转换为。html(在很大程度上是Writing, Markdown和Pandoc的例子):

# 'Makefile'
MARKDOWN = pandoc --from gfm --to html --standalone
all: $(patsubst %.md,%.html,$(wildcard *.md)) Makefile

clean:
    rm -f $(patsubst %.md,%.html,$(wildcard *.md))
    rm -f *.bak *~

%.html: %.md
    $(MARKDOWN) $< --output $@

最新的添加,但showdownjs有一个CLI工具,您可以使用它将MD解析为HTML。