我正在使用 jekyll 生成我的网站。我想在我的代码块中添加一个行号列。我搜索了谷歌,每个人都告诉我在hightlight标签中添加一个“linenos”选项,但在我的情况下我不起作用:

{% highlight ruby linenos %}
def foo():
puts 'foo'
end
{% endhighlight %}

亮点运行良好,但行号....

你能帮我解决这个问题吗?如果您想查看源 css/html 文件,请点击 here

谢谢!

进一步检查:

为本节生成的 html 是:
<div class="highlight"><pre><code class="ruby">
    <span class="k">def</span> <span class="nf">foo</span><span class="p">():</span>
    <span class="nb">puts</span>
    <span class="s1">&#39;foo&#39;</span>
    <span class="k">end</span>
</code></pre></div>

最佳答案

我克隆了你的 repo,生成了站点,然后在浏览器中查看。 一切看起来都很好。 (我喜欢你的布局!)这向我表明你的设置中有一些时髦的东西。代码高亮对你有用吗?如果没有,您可能没有正确设置 Pygments。

安装:

sudo apt-get install python-setuptools
sudo easy_install Pygments

要生成 css:
pygmentize -S default -f html > default.css

确保您的 _config.yml 中有 pygments: true

确保正确放置此样式表并将其包含在您的 default.html 中。

我看到您的页面中已经包含此样式表,并且您的 _config.yml 看起来不错,但对于需要此答案的其他人来说,它就在那里。

如果您使用 jekyll --no-auto 生成站点,您是否在输出中看到任何错误?

让我知道,我很乐意尝试并提供进一步帮助。 :)

更新 :这是为我为您拥有的高亮测试博客文章生成的 HTML。
<div class="highlight"><pre><code class="c"><span class="lineno">1</span> <span class="cp">#include &lt;stdio.h&gt;</span>
<span class="lineno">2</span>
<span class="lineno">3</span> <span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
<span class="lineno">4</span> <span class="p">{</span>
<span class="lineno">5</span>   <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Hello World!</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="lineno">6</span>   <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="lineno">7</span> <span class="p">}</span>
</code></pre>
</div>

关于syntax-highlighting - 为什么 "linenos"选项在 Jekyll 中添加行号失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14089633/

10-12 16:30