18

在 Jekyll 中工作时,是否可以在使用 pygments 突出显示的代码部分中使用水平滚动而不是文本换行。

文件来源:

{% highlight bash %}

Full thread dump OpenJDK Client VM (19.0-b09 mixed mode, sharing):

"Attach Listener" daemon prio=10 tid=0x0a482400 nid=0x5105 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
....
{% endhighlight %}

生成的页面(注意十六进制地址被包装而不是滚动): 在此处输入图像描述

4

4 回答 4

20

在以下位置找到您的 highlight.css:/PROJECT_ROOT/assets/themes/THEME_NAME/css/highlight.css

并在最后添加这一行:

pre { white-space: pre; overflow: auto; }

感谢@manatwork 的解决方案。

于 2012-06-21T12:57:13.857 回答
18

这个答案专门处理在 github 页面上使用 pygments 和 jekyll

突出显示是这样生成的:

<div class="highlight">
  <pre>
    <code>
      ... pygments highlighting spans ...
    </code>
  </pre>
</div>

将您带到您想要的地方的CSS是:

// -- selector prefixed to the wrapper div for collision prevention

.highlight pre code * {
  white-space: nowrap;    // this sets all children inside to nowrap
}

.highlight pre {
  overflow-x: auto;       // this sets the scrolling in x
}

.highlight pre code {
  white-space: pre;       // forces <code> to respect <pre> formatting
}
于 2014-04-30T16:57:13.637 回答
10

我正在使用 Jekyll 和 Twitter Bootstrap,以下是最终对我有用的方法:

.highlight pre {
    word-wrap: normal;
}

.highlight pre code {
    white-space: pre;
}
于 2014-06-13T03:14:35.473 回答
1

至于我,使用最新和最伟大的 Jekyll 和荧光笔版本,这解决了这个问题:

/* Make code block overflow */
.highlight pre {
  display: inline-block;
}
于 2014-08-29T20:54:01.677 回答