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

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

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

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


当前回答

我创建了一个类似于Atom预览功能的工具,但是作为一个独立的应用程序。不确定这是否是你要找的,但它可能会有帮助。——https://github.com/yoshuawuyts/vmd

其他回答

GitHub(从那时起)开发了一个很好的模块化文本编辑器Atom(基于Chromium,并使用Node.js模块作为包)。

一个默认的预安装包Markdown预览让您显示您的预览在一个单独的选项卡使用Ctrl + Shift + M。

我还没有测试它的完整语法,但由于它来自GitHub,如果预览的语法与他们的不同(使用~~~工作的栅栏块),我会非常惊讶。

现在,虽然它在技术上不是基于命令行,但它使用Node.js并输出到基于dom的渲染器,这可能会帮助任何试图在基于Node.js的web服务器上渲染基于GitHub语法的HTML的人,或者只是编辑她/他的README。md离线。

参见https://softwareengineering.stackexchange.com/a/128721/24257。


如果你对我们(Github)如何渲染Markdown文件感兴趣,你可能想看看Redcarpet,我们的Ruby接口到Sundown库。

Ruby-script,使用Redcarpet,将是“命令行工具”,如果你有本地Ruby

使用标记。它支持GitHub调味Markdown,可以作为Node.js模块和从命令行使用。

一个例子是:

$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>

我用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

来看看。

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

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

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