如何消除jekyll呈现的代码块中的空行?

时间:2014-02-16 06:06:04

标签: html syntax-highlighting markdown jekyll github-pages

GitHub页面Jekyll默认使用Pygments来呈现代码块的语法高亮。但我更喜欢一个更容易的替代highlight.js来完成这项工作,因为我只需要缩进4个空格来标记markdown源文件中的代码块。

但是,我的R代码都被miss.js错误地解释为php或perl或makefile或其他类型的代码,我想手动标记代码块

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

代替。但是当我使用它时,代码块的第一行似乎总是一个空白行。我查看由4空格标记生成的HTML源代码,就像

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

没有遇到这个问题。

如何消除代码块第一行中的空白行?

1 个答案:

答案 0 :(得分:0)

今天,当我将荧光笔更改为highlight.js时,我面临同样的问题。 在别人的帮助下,我终于摆脱了这条空白,并愿意分享解决方案。基本上,whitespace内的<pre>未被修剪,并被视为呈现页面中的换行符(您可以使用启用了show whitespace的Firefox的firebug扩展来观察额外的行)。

然后解决方案很明显。

  1. precode标记与您的实际代码放在同一行。像这样:

    <pre><code class="css">@font-face {
      font-family: Chunkfive; src: url('Chunkfive.otf');
    }
    
  2. 或使用mhulse提供的解决方案使您的原始帖子更具可读性

        <pre><code
        >line of code
        Here and ...
        Here
        </code></pre>
    
    1. 编写您自己的js代码以修剪内容的L / R空格,然后将其放入<pre>
    2. 有关详细信息,请查看此page