我使用了Jekyll的_data feature在.yml文件中存储短文本消息。
例如,我有一个名为messages.yml
的文件,里面有我:
hello: 'Hello world!'
在我的index.html文件中,我有<h1>{{ site.data.messages.hello }}</h1>
。当我在本地运行Jekyll服务器时,我得到一个不错的输出:<h1>Hello world!</h1>
但是一旦我在 gh-pages 中合并更改并检查网站的github版本,我得到的是<h1></h1>
为什么网站生效后, _data 中的文字没有呈现?
答案 0 :(得分:0)
在我试图简化问题的过程中,我忽略了一个至关重要的事情(通常会发生)导致问题。
我有多种语言的消息,并使用存储在页面前端内部的 lang 变量以适当的语言显示消息。
例如,在我的模板中,我有这一行:
<p>{{ site.data.messages.[page.lang].hello }}</p>
如果页面在frontmatter中包含lang: en
,则输出将为<p>Hello world!</p>
;如果它包含lang: es
==&gt; <p>Hola mundo!</p>
。这非常有效。
我已使用Jekyll&#39; s为 en 和 es 目录中的所有文件设置默认 lang 值{3}} 在Jekyll 1.5.1 中不支持defaults feature。我使用的是最新版本的Jekyll 2.0.3。
我必须为每个页面设置 lang 变量来解决这个问题。
我希望这个答案有助于某人。对不起,感到困惑。