6

我想为我的 jekyll + 液体安装使用动态变量。我想使用动态变量名动态访问 _config.yml 文件。

最好用一个例子来解释:

页:

---
layout: default
title: title_homepage
---

默认布局:

{{ site.locales[site.default_locale].page.title }}

_config.yml:

default_locale: "en"

locales:
  en:
    title_homepage: "This is my homepage title!"
  pirate:
    title_homepage: "Yaaawwwr. Homepage title."

那么如何使用动态变量名访问 _config.yml 呢?

4

2 回答 2

3

您要提取的标题来自站点配置。不是页面本身。您需要做的就是将默认布局列表中的调用更改为:

{{ site.locales[site.default_locale].title_homepage }}

当您设置default_locale: "en"输出将是“这是我的主页标题!”。当您将 _config.yml 文件更新为 时default_locale: "pirate",输出将是“Yaaawr. Homepage title”。我已经在 J​​ekyll 0.11.2 上对此进行了测试,它按预期工作。

于 2012-05-22T18:55:17.260 回答
0

Jekyll 是一个静态网站生成器,它不能使用变量。但我想对于自己的语言环境,有一个简单的解决方案。

遵循这个文件结构(或类似的东西):

root
  - _include
    home.html
  - _layout
    default.html
  - en
    index.html
  - pirate
    index.html
  index.html

很简单,现在使用包含 {{content}} 并创建带有变量和单行的简单文件 {% include index.html %}

_include/index.html:

<h1>{{page.title}}</h1>

zh/index.html:

---
layout: default
title: "This is my homepage title!"
---
{% include home.html %}

海盗/index.html:

---
layout: default
title: "Yaaawwwr. Homepage title."
---
{% include home.html %}

所以……就是这样。

现在创建一个页面变量来处理每个页面的语言环境 url....

我希望这会有所帮助。

于 2013-03-16T13:56:11.937 回答