Jekyll - Front Matter 默认不工作

Posted

技术标签:

【中文标题】Jekyll - Front Matter 默认不工作【英文标题】:Jekyll - Front Matter defaults not working 【发布时间】:2015-08-17 02:33:35 【问题描述】:

使用Jekyll 2.5.3,我尝试在_config.yml 中设置默认值(我现在只是在玩弄感觉)。我正在尝试在本地服务的网站上设置默认布局。我已经设置了 --watch 并且工作正常。当我在 _config.yml 中设置任何 YAML 默认值时,Jekyll 根本不会应用默认值。

这是我目前使用的配置文件:

name: jekyll test
description: test server

url: "http://localhost:4000"

markdown: rdiscount
permalink: pretty

defaults:
  -
    scope:
      path: ""
    values:
      layout: "default"

默认布局不适用于任何页面。我也尝试过标题,结果相同。

我的index.md

---
title: index
----

  page.title  

我的default.html

<style>
    body 
        background-color: black;
        color: white;
        font-family: "Helvetica", Arial, sans-serif;
    
</style>

<body>
      content  
</body>

将默认布局放入索引页面本身的 YAML Front Matter 时效果很好,我正在寻找它的主要原因是我可以将default.html 应用于 404 页面。 config.yml 中的其他元素并没有给我带来任何麻烦。是不是我做错了什么?

【问题讨论】:

这很奇怪。你能把你的代码推送到github吗? 我正要这样做,但看起来重新启动服务器修复了它。我不确定发生了什么,我会尝试进一步调查。 找到了,很明显,我应该知道的。发布解决方案。 一种验尸副本:***.com/questions/32281093/… 【参考方案1】:

我自己修复了它 - --watch 不会监听站点本身未包含的文件的更改(即 _config.yml,用于在运行时生成页面)。要将更改应用到站点配置,我只需要重新启动 Jekyll,感觉有点愚蠢。

底线:我已经吸取了教训。如果更改似乎没有保存,请在询问之前将其关闭并重新打开。

【讨论】:

【参考方案2】:

我遇到了这个问题。在我的 index.md 的 frontmatter 中切换评论“#”标签后,有一个额外的空格

---
#title: index
 title: index2
----

我通过删除空格来修复它:

---
#title: index
title: index2
----

【讨论】:

以上是关于Jekyll - Front Matter 默认不工作的主要内容,如果未能解决你的问题,请参考以下文章

Jekyll 教程——Front Matter & YAML

在 Front Matter 中的 Jekyll if 语句

无法访问自定义 Front Matter 变量

在 YAML Front Matter 变量中使用液体标签

hexo的front-matter和收起文章内容

Gulp Front Matter + Markdown 通过 Nunjucks