2014-02-16 50 views
1

GitHub頁面Jekyll默認使用Pygments來渲染代碼塊的語法高亮。但我更喜歡使用更簡單的替代highlight.js來完成這項工作,因爲我只需要縮減4個空格來在markdown源文件中標記代碼塊。如何消除由jekyll渲染的代碼塊中的空行?

然而,我的R代碼裏面都錯誤地解釋爲PHP或Perl或MAKEFILE或通過其他highlight.js類型的代碼,並欲手動標記由

```r 
(some r code) 
``` 

代替代碼塊。但是當我使用這個時,代碼塊的第一行總是顯示爲空行。我查看了由4空格標記產生的HTML源代碼,它就像

<pre><code>x <- rnorm(100) 
y <- 2*x + rnorm(100) 
lm(formula=y~x) 
</code></pre> 

它不會遇到這個問題。

如何消除代碼塊第一行中的空白行?

+0

你解決了嗎? – hakunami

回答

0

我今天面對同樣的問題,當我將熒光筆更換爲highlight.js。 在別人的幫助下,我終於擺脫了這一空白,願意分享解決方案。基本上,<pre>內部的whitespace未被修剪,並且在渲染頁面中被視爲換行符(您可以使用啓用Firefox的Firebug擴展,使用show whitespace來觀察額外的行)。

那麼解決方案是顯而易見的。

  1. precode標籤在您的實際代碼的同一行。像這樣:

    <pre><code class="css">@font-face { 
        font-family: Chunkfive; src: url('Chunkfive.otf'); 
    } 
    

,或者使用由mhulse提供解決方案,使你的原始post更易讀

<pre><code 
    >line of code 
    Here and ... 
    Here 
    </code></pre> 
  • 自己寫js代碼修剪大號/ R將內容輸入之前的空白內容<pre>
  • 有關更多詳細信息,請檢查此page

    +0

    儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

    +0

    @YohanesKhosiawan許先漢感謝您的提醒。 Iv更新了答案。 – hakunami

    +0

    @hakunami有關[this]的任何想法(http://stackoverflow.com/q/34532476/2404470) – xameeramir