Jekyll 在生成博客文章时插入额外的代码

Posted

技术标签:

【中文标题】Jekyll 在生成博客文章时插入额外的代码【英文标题】:Jekyll inserting extra code when generating blog posts 【发布时间】:2018-07-12 19:28:11 【问题描述】:

我正在创建我的第一个 Jekyll 网站。我尝试包含一个博客部分,我从现有的非 Jekyll 版本中复制它,转换现有的硬编码 html 的博客页面。

我将页眉、导航和页脚 html 放在 _include 文件中。我将它们合并到一个布局文件中,其中还包括 content

我从旧的 html 文件中删除了页眉、导航和页脚,我只在帖子的 .markdown 文件中包含了正文。

我希望 markdown 文件的内容会包含在 content 的位置...确实如此,但是 Jekyll 似乎也将其包含在 content 内容之前:


所以我没有看到我自己生成的 html,而是看到了我的 html 的“代码”版本。这个额外的代码是从哪里来的,我该如何绕过它?

【问题讨论】:

【参考方案1】:

这个额外的代码是从哪里来的..?

您看到的额外代码<div class="highlighter-rouge"><div class="highlight"> 是语法高亮的标志。

语法高亮以2种方式呈现:

当您用三个反引号和语言 ```ruby 括起一段文本时

```红宝石 def some_method # 做点什么 结尾 ```

变成

def some_method
  # do something
end

(上面的块在生成的index.html中会有相同的额外代码


当您将 kramdown 内容缩进超过 4 个空格时

      ## Heading 2

      Some Markdown text here.
      Lorem Ipsum [dolor](sit/amet/index.html)

变成未渲染的 Markdown 块,突出显示语言 plain-text

## Heading 2

Some Markdown text here.
Lorem Ipsum [dolor](sit/amet/index.html)

【讨论】:

以上是关于Jekyll 在生成博客文章时插入额外的代码的主要内容,如果未能解决你的问题,请参考以下文章

Jekyll 博客高亮代码生成无效的 html

使用 easylogging++ 记录 QString 时插入的额外空间

在 Java for 循环中插入额外代码

Jekyll/Liquid 模板:如何按年份对博客文章进行分组?

Jekyll定制收藏钩

Jekyll 教程——模板语言 Liquid