3

我一直在尝试在我的 Jekyll博客中实现Code Prettify。我遵循了一些指南并能够实现它,但这并不理想。这就是我所做的:

1-我去_includes并添加了必要的文件head.html

旭日主题:

<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autoload=true&amp;skin=sunburst&amp;lang=css" defer="defer"></script>

主题的 CSS 文件(位于我css在 GitHub 上的文件夹中):

<link rel="stylesheet" href="/css/prettify.css" rel= 'stylesheet' type='text/css'>

2-例如,我使用标签<pre class= "prettyprint"></pre>对其进行测试。正如您在这篇文章中看到的(代码块位于页面底部),它确实有效。如果您注意到,您会发现它<iostream>丢失了,因为我使用<pre></pre>了它,因此它会看到<>字符,将它们视为 HTML 并且不显示<iostream>. 这是它的外观:

在此处输入图像描述

我可以使用 HTML 实体来修复它,但这并不理想。我已经搜索了 2 个小时,但找不到可靠的来源来解决这个问题。


所以我的问题是:

是否有可能使代码美化在降价中工作,使用 `` 而不是<pre></pre>?如果没有,是否有另一种方法可以在 Jekyll 中实现它?或者让它更容易使用?如果这些都不可能,是否有更好的替代 Jekyll 的支持Code Prettify

如果您需要查看其他文件,请检查我的存储库

4

2 回答 2

2

使用 Jekyll,您可以使用两种高亮显示方法:

反引号风格的围栏代码

_config.yml中,设置:

kramdown:
  input: GFM

像这样突出显示您的代码:

``` c
include <iostream>
using namespace std;

int main () {
cout << "and then there were none" << endl;
return 0;
}
```

带高亮液体标签

{% highlight c %}
include <iostream>
using namespace std;

int main () {
cout << "and then there were none" << endl;
return 0;
}
{% endhighlight %}

造型

款式来自_scss/_syntax-highlighting.scss.

于 2016-02-28T11:02:12.347 回答
-1

我目前用于代码高亮的插件是“jekyll-rouge”,它很好地支持了'''风格的markdown:

https://sacha.me/articles/jekyll-rouge/

于 2016-02-28T11:38:16.587 回答