Jekyll突出显示标签:防止逃逸 [英] Jekyll Highlight Tag: Prevent escaping
本文介绍了Jekyll突出显示标签:防止逃逸的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
{% highlight %}
I want {% raw %}<span class="handle">{% endraw %}this span{% raw %}</span>{% endraw %} to be rendered as HTML.
{% endhighlight %}
是否可以阻止Jekyll的highlight
标记处理输入的某些部分?
在上面的示例中,我希望Jekyll生成如下所示的HTML:
<pre>
<code>I want <span class="handle">this span</span> to be rendered in HTML</code>
</pre>
而不是:
<pre>
<code>I want <span class="handle" ...</code>
</pre>
推荐答案
突出显示带两个参数标记。第一个参数是您需要突出显示的语言(我假设它是html),第二个参数称为linenos
,这是一个可选参数,它将强制突出显示的代码包括行号。因此,您需要使用html来获得您想要的内容。
{% highlight html %}
I want {% raw %}<span class="handle">{% endraw %}this span{% raw %}</span>{% endraw %} to be rendered as HTML.
{% endhighlight %}
换句话说,您不能为此使用{% highlight %}
。如果不太冗长,请使用HTML。
HTML的冗长可以通过Jekyll的{% include %}
解决。
Jekyll功能强大且灵活。
使用{% include %}
包含代码段可以很好地简化表达。
包括:
{% assign linenos = "1 2 3" | split: " " %}
{% include linenos.html numbers=linenos %}
{% highlight text %}
Once upon a time, there was a unicorn.
The unicorn looked around.
{% endhighlight %}
包含的代码段:
<pre class="linenos"><code>{% for number in include.numbers %}{{ number }}
{% endfor %}</code></pre>
和附带的css很简单:pre.linenos { float: left; }
结果是能够以您喜欢的样式添加行号(通过{% include %}
)。
上面的独角兽示例here。
<span>
元素。您需要抛弃{% highlight %}
,自己选择<pre><code></code></pre>
,抱歉。Jekyll的{% highlight %}
转义它收到的所有内容,也不例外。该示例为here。
插件也可以工作
但如果您直接将jekyll build
步骤(您自己的步骤)发布到GitHub页面,则不会。
如果您包含要执行的脚本jekyll build
(就像上述项目中所做的那样),请随意编写您自己的插件!
这篇关于Jekyll突出显示标签:防止逃逸的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文