2012-12-30 44 views
3

我正在使用jekyll來生成我的網站。我想在我的代碼塊中添加一個行號列。我搜索谷歌,每個人都告訴我了「linenos」選項添加到hightlight標籤,但我不會在我的情況下工作:爲什麼「linenos」選項無法在Jekyll中添加行號?

{% 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> 
+0

行編號通常通過CSS樣式添加,例如, http://twitter.github.com/bootstrap/assets/js/google-code-prettify/prettify.css。不知道爲什麼「lineno」類沒有被Jekyll添加到您的HTML中。 – cboettig

回答

3

我克隆你的回購,產生的網站,並檢查它在瀏覽器中。 一切看起來不錯。(我喜歡你的佈局!)這表明在你的設置中有些東西是有趣的。代碼突出顯示對你有用嗎?如果沒有,你可能沒有正確設置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> 
+0

感謝您的回覆!我使用'jekyll --no-auto',但沒有提示錯誤。我讓我的朋友在他的電腦上生成我的網站,並出現行號,所以這是設置問題。但是,我重新安裝分區,並且行號問題仍然存在;我甚至安裝了虛擬機(Ubuntu 12.04 LTS),並設置了jekyll。不幸的是,它也無法生成行號。 – user1875337

+0

我使用突出顯示測試的輸出編輯了我的答案。你的輸出是否同意?你使用什麼瀏覽器/操作系統? – Curtis

+0

我在_site中檢查過html,當然,沒有行號,沒有class =「lineno」這樣的東西。我使用鉻(這不是我的瀏覽器的問題)。謝謝。 – user1875337

1

我只是遇到了與pygments和jekyll相同的問題。我的降價看起來

{% highlight c# linenos %} 

    //my code 

{% endhighlight %} 

所得生成的HTML

<div class="highlight"> 
    <pre> 
     <code class="c"> 
      ... 
     </code> 
    </pre> 
</div> 

高亮顯示在某種程度上奇數和已經添加沒有行號。最終問題是Pygments顯然沒有認識到「c#」是一種有效的語言,但是我不得不添加「csharp」。

(以防其他人在設置時遇到此問題)

0

我做了同樣的事情。雖然行號顯示CSS不是很漂亮。主要原因是bootstrap與我的style.css衝突。將以下內容添加到style.css解析它。

.highlight pre { 
    background-color: transparent; 
    border: transparent; 
    color: inherit; 
} 
相關問題