如何使用Jekyll和Pygments获取内嵌代码?

luc*_*oli 8 css syntax-highlighting pygments jekyll

我正在使用Markdown with Liquid标签为Jekyll生成的网站标记一些代码,并希望包含一些内联(在段落中)并具有彩色语法(使用Pygments)的代码,但它不会似乎工作.

标记

Lorem ipsum dolor {% highlight javascript %} var sit = "amet"; {% endhighlight %} consectetur adipiscing elit.
Run Code Online (Sandbox Code Playgroud)

结果是

<p>Lorem ipsum dolor <div class='highlight'><pre><code class='javascript'> <span class='kd'>var</span> <span class='nx'>sit</span> <span class='o'>=</span> <span class='s2'>&quot;amet&quot;</span><span class='p'>;</span></code></pre></div> consectetur adipiscing elit.</p>
Run Code Online (Sandbox Code Playgroud)

我非常希望突出显示的文字不被包装<div class='highlight'>,或者至少它是一个<span class='highlight'>.

{% highlight javascript nowrap %}其他地方建议的,使用不起作用.(也许这是我的设置问题 - 这是Ruby 2.0,Jekyll 0.12.1,pygments.rb 0.3.7?)

我想在GitHub上托管这个页面,这意味着我不能依赖插件.糟糕,对吗?

附录:行编号(即{% highlight javascript linenos %})似乎也不起作用.人.

Jer*_*nch 5

最简单的方法是使用Github Flavored Markdown并使用其默认内联代码。

_config.yml文件中,将减价更改为redcarpet。您现在就可以使用GFM。

markdown: redcarpet
Run Code Online (Sandbox Code Playgroud)

现在,您可以关注所有GitHub Markdown。要执行内联代码,如下所示:

Here is some `inline code` in the middle of sencence
Run Code Online (Sandbox Code Playgroud)

  • 普通的内联代码很容易。问题是Pygments *语法突出显示*内联代码。 (2认同)

Pet*_*ble 0

.highlight div 有什么问题?放置它是为了使语法突出显示易于主题化。要将包装器更改为跨度,我敢打赌您必须更改 Jekyll 配置。

仅当您有多行片段时才会出现行号。