我已在 VPS 上部署了 Jekyll 博客。我现在想向其中添加 Github 风格的 Markdown,使用 Pygments 突出显示,但我不知道必须编辑哪些文件以及如何编辑。
到目前为止,我配置的唯一文件是 _config.yml
,如下所示:
1 safe: false
2 auto: false
3 server: false
4 server_port: 4000
5 baseurl: /
6 url: http://localhost:4000
7
8 source: .
9 destination: ./_site
10 plugins: ./_plugins
11
12 future: true
13 lsi: false
14 pygments: false
15 markdown: maruku
16 permalink: date
17
18 maruku:
19 use_tex: false
20 use_divs: false
21 png_engine: blahtex
22 png_dir: images/latex
23 png_url: /images/latex
24
25 rdiscount:
26 extensions: []
27
28 kramdown:
29 auto_ids: true,
30 footnote_nr: 1
31 entity_output: as_char
32 toc_levels: 1..6
33 use_coderay: false
34
35 coderay:
36 coderay_wrap: div
37 coderay_line_numbers: inline
38 coderay_line_numbers_start: 1
39 coderay_tab_width: 4
40 coderay_bold_every: 10
41 coderay_css: style
如何正确配置 Jekyll 以使用 Github 风格的 Markdown 和 Pygments 突出显示?
最佳答案
编辑:现在更容易
从 Jekyll >= 0.12.1 开始,Jekyll 原生支持 redcarpet2,因此您只需将配置设置为 markdown: redcarpet
即可使用 GFM/隔离代码块,而无需使用剩下的这些胡言乱语......
原始答案
您明确要求使用 Github 风格的 markdown,因此我认为您并不是在寻找使用非 markdown 液体格式创建代码块的答案:
{% highlight python %}
def yourfunction():
print "Hello World!"
{% endhighlight %}
但宁愿能够使用 protected 代码块编写一些东西:
```python
def yourfunction():
print "Hello World!"
```
等等。为此,您需要使用 redcarpet Markdown 解析器。
Github 风格的 markdown 使用名为“Redcarpet”的 markdown 解析器 1 。讽刺的是,尽管 Github 风格的 Markdown 使用 redcarpet2 ,Jekyll 默认不支持这个 markdown 解析器。相反,您可以通过安装 ruby gem 将其添加为插件
gem install redcarpet
然后添加 redcarpet2 Jekyll plugin 。 (在 Jekyll 中安装插件相当于将该存储库中给出的 .rb
ruby 脚本放入您的 _plugins
目录中。可以位于 _plugins
的子目录中> 也是)。
然后,按照文档中的说明,编辑 _config.yml
以使用 redcarpet2:
markdown: redcarpet2
redcarpet:
extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript"]
它添加了 github-flavored-markdown 又名 redcarpet2 提供的通用扩展(好吧,几乎。这不会做 github 特定的 markdown 事情,比如按数字识别问题,或按哈希提交,所以它们在技术上并不相同)。
拥有该插件意味着,目前您必须在本地构建您的网站,如果您在 github 上托管您的网站,则必须将 _site
复制到 github,因为 Redcarpet2 在 Github 上不可用Jekyll 引擎的版本(请参阅 Jekyll 上的 open issue)
注意:顺便说一句,您不需要在 _config.yml
中指定的所有 Markdown 编辑器。对于使用 redcarpet2 的基本示例,您可能想查看此 config以及与之相关的 jekyll 目录。
关于Github flavor 的 Markdown 和 Jekyll 中突出显示的 pygments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13464590/