jekyll 中的 Jekyll 代码

Posted

技术标签:

【中文标题】jekyll 中的 Jekyll 代码【英文标题】:Jekyll code in jekyll 【发布时间】:2014-02-26 14:32:04 【问题描述】:

我正在为 Jekyll 创建一个鸟瞰图教程,托管在 Github 页面上(在我在 Jekyll 上运行的博客上)。所以,我想在那里放一些代码。如果我输入以下内容:

% for post in site.posts %
% if post.categories contains '<categoryname>' %
    <h2>
      <a href=" post.url "> post.title </a>
    </h2>
% endif %
% endfor %

(制表符后的所有行),它不会呈现为代码,而是执行。如何阻止它执行并将其呈现为代码?

【问题讨论】:

查看jekyllrb.com/docs/templates 和***.com/questions/6761990/… 上的Code snippet highlighting 部分 我也试过这个。如何突出显示 jekyll?虽然适用于 html 【参考方案1】:

Jekyll 使用的%...% 语法是Liquid templating engine 的一部分。要转义这些标签并按字面意思显示它们,您应该使用raw tag。

您可能希望将此与代码块的降价语法结合起来。使用 Redcarpet,您可以使用三重反引号语法。将反引号放在 raw 标记内还是相反都没关系:

%raw%
```
% for post in site.posts %
% if post.categories contains '<categoryname>' %
    <h2>
      <a href=" post.url "> post.title </a>
    </h2>
% endif %
% endfor %
```
%endraw%

【讨论】:

【参考方案2】:

用反引号括起来你的代码:

(使用 redcarpet markdown 引擎测试)

```
% for post in site.posts %
% if post.categories contains '<categoryname>' %
    <h2>
      <a href=" post.url "> post.title </a>
    </h2>
% endif %
% endfor %
```

【讨论】:

markdown 引擎在你的 _config.yml 中指定。我有这行:markdown: redcarpet 啊!我正在使用rdiscount。那么@zeis 引擎有问题吗? 不同的引擎可能对代码块使用不同的标记。 知道这可能使用哪个标记。选项卡在大多数情况下都有效 我不使用 rdiscount,无论如何试试这个: % highlight html % YOUR CODE HERE % endhighlight % 这应该适用于启用 pygments,但我还没有测试过。跨度> 【参考方案3】:

至少存在三个选项,可用于在 Jekyll 中格式化代码:

    highlight - Jekyll 已内置
% 高亮 java % ValidationResult validationResult = NetLicensing.LicenseeService.validate(context, licenseeNumber); % endhighlight %

示例:https://raw.githubusercontent.com/Labs64/netlicensing.io/gh-pages/_drafts/2010-09-16-post-template.md(参见语法高亮部分)

    反引号 - GitHub 风格
```java ValidationResult validationResult = NetLicensing.LicenseeService.validate(context, licenseeNumber); ```
    HTML 前/代码 - HTML 也可以包含在 Markdown 中

<pre><code> ValidationResult validationResult = NetLicensing.LicenseeService.validate(context, licenseeNumber); <code/></pre>

【讨论】:

以上是关于jekyll 中的 Jekyll 代码的主要内容,如果未能解决你的问题,请参考以下文章

html [Jekyll日期格式] Jekyll中的德国日期#jekyll

如何更改 Jekyll 中的默认订单页面?

在 Windows 上为 jekyll 安装 rouge 代码荧光笔

使用 Pygments 在 Jekyll 中突出显示围栏代码块

ruby Jekyll模板中的环境变量

html 将变量传递给Jekyll中的包含