发现这个比 md 的功能好,就想看看 http://github.github.com/github-flavored-markdown/preview.html https://github.com/github/github-flavored-markdown 但是官网上没教程,我以为要运行 code.rb , 但是有这个问题 https://github.com/github/github-flavored-markdown/pull/36 这东西怎么用啊?
GFM 实际上是 showdown.js 的一个分支,而 showdown.js 是一个 javascript 写的 markdown 渲染库,它并不是一个 ruby 项目。GFM 中的那个 code.rb
文件是用来给已经渲染好的 html 代码加上一些额外功能。
如果你要在自己的网页中用 GFM,那么 你所需要用的是 script
文件夹下面的那个 showdown.js
(已经被 Github 加过料的)。像使用正常的 js 文件般在 html 中引用,然后就可以写脚本将页面上的 Markdown 文本渲染成 html 了。
示例:
var text = "som texts. **bold**";
var converter = new Showdown.converter();
var html = converter.makeHtml(text);
#4 楼 @jiyinyiyong gem install redcarpet
然后就有 redcarpet 这个命令了
$ redcarpet --help
Usage: redcarpet [<file>...]
Convert one or more Markdown files to HTML and write to standard output. With
no <file> or when <file> is '-', read Markdown source text from standard input.
当然也可以在 ruby 程序里面玩这个 gem
#6 楼 @jiyinyiyong 是的,默认配置时运行,输出和普通 Markdown 标准解析输出是一样的,需要配置一下,具体看项目 readme
命令行可以用选项启用这些配置,例如:
tmp.md 的内容是
# hello world
tables:
| table head | | |
|------------|----|----|
| Hello | A | B |
| World | C | D |
运行 cat tmp.md | redcarpet --parse-tables
,结果是:
<h1>hello world</h1>
<p>tables:</p>
<table><thead>
<tr>
<th>table head</th>
<th></th>
<th></th>
</tr>
</thead><tbody>
<tr>
<td>Hello</td>
<td>A</td>
<td>B</td>
</tr>
<tr>
<td>World</td>
<td>C</td>
<td>D</td>
</tr>
</tbody></table>
运行 cat tmp.md | redcarpet
,结果是:
<h1>hello world</h1>
<p>tables:</p>
<p>| table head | | |
|------------|----|----|
| Hello | A | B |
| World | C | D |</p>
#8 楼 @jiyinyiyong GFM 是一种格式标准,redcarpet 是一个支持 GFM 的工具 redcarpet 命令行我基本不用,所以你说的问题我没有遇到过,不妨把 markdown 源码贴出来看看?
showdown 的?https://github.com/github/github-flavored-markdown/blob/gh-pages/scripts/showdown.js 然后描述 gfm 处理换行是这样的 http://coapp.org/reference/garrett-flavored-markdown.html#p 我引用 showdown.js 脚本编译的换行是对的,但空行 (\n\n) 不见了,上面也没提空行 可能我不留神把细节复杂化了,markdown 本身空行在来区分代码块中用到的.. 反正我要的功能不多的,干脆自己写脚本先用着了