有没有一种简单的方法可以使用 github 的 Pygments 向我的各种插件的 gh-pages 添加语法突出显示?
我知道每个页面都通过 Jekyll 引擎运行并提供语法高亮(ref)。但我不想安装博客。我只想将语法突出显示应用于我的 gh 页面中的代码块。
我想我总是可以在我的 gh-pages 中包含一个不同的插件......
有没有一种简单的方法可以使用 github 的 Pygments 向我的各种插件的 gh-pages 添加语法突出显示?
我知道每个页面都通过 Jekyll 引擎运行并提供语法高亮(ref)。但我不想安装博客。我只想将语法突出显示应用于我的 gh 页面中的代码块。
我想我总是可以在我的 gh-pages 中包含一个不同的插件......
Pages 已经做了 pygments,没有什么可安装的。就用吧!
---
layout: default
title: Something with codes
---
Happy fun highlighting.
[More details](https://github.com/mojombo/jekyll/wiki/liquid-extensions)
{% highlight ruby %}
def foo
puts 'foo'
end
{% endhighlight %}
“ GitHub Pages 现在只支持 Rouge,一个纯 Ruby 语法高亮器”,所以你只需要更改'kramdown'语法高亮,以在你的_config.yml文件中使用'rouge' 。
markdown: kramdown
kramdown:
input: GFM
syntax_highlighter: rouge
在试图找出语法突出显示时发现这个线程是第一个命中,我发现了一种更简单的方法,我认为我会分享。只需在受保护的代码块(参考)之后突出显示您想要突出显示的语言的名称。无需生成任何 css 或使用 yaml。
This is regular text
```ruby
# This is highlighted code
def foo
puts 'foo'
end
```
```python
# Here is some in python
def foo():
print 'foo'
```
正如@David Douglas 所指出的,“GitHub Pages 现在只支持 Rouge,一个纯 Ruby 语法高亮器”
你必须把这个放在你身上_config.yml
。这是来自_config.yml
Barry Clark 的 Jekyll Now
# Jekyll 3 now only supports Kramdown for Markdown
kramdown:
# Use GitHub flavored markdown, including triple backtick fenced code blocks
input: GFM
# Jekyll 3 and GitHub Pages now only support rouge for syntax highlighting
syntax_highlighter: rouge
syntax_highlighter_opts:
# Use existing pygments syntax highlighting css
css_class: 'highlight'
然后对于代码突出显示部分......
此处列出了 Rouge 的语言别名列表:https ://github.com/jneen/rouge/wiki/List-of-supported-languages-and-lexers
它使用全小写的后者。
例如,对于 JavaScript:
``` javascript
function test() {
console.log("test");
}
```
默认的语法高亮是 rouge(相当于highlighter: rouge
你的 _config.yml 文件)。使用 rouge,如果你在 markdown 中编写这样的代码块:
~~~js
let z = 26;
~~~
你可以期望得到一个这样的 HTML 块:
<div class="language-js highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>
<span class="kd">let</span> <span class="nx">z</span> <span class="o">=</span> <span class="mi">26</span><span class="p">;</span>
</code></pre>
</div>
</div>
然后你只需要一个 CSS 文件(如果你使用的是 GitHub Pages 主题,你会自动获得 CSS)。我不确定 CSS 应该来自哪里,但是
随意根据自己的喜好自定义 css。