【问题标题】:Jekyll YAML file with nested elements带有嵌套元素的 Jekyll YAML 文件
【发布时间】:2014-10-08 09:07:06
【问题描述】:

我想访问“benefit.yml”文件中的嵌套元素并使用循环调用这些元素。但它不起作用,什么也没有出现。

这是我的“benefit.yml”:

locales:
  en:
    title: "Games"
    detail: "To relax and take breaks during the day, we play football, table tennis and Xbox"
    icon: benefit1.png
  fr:
    title: "Jeux"
    detail: "To relax and take breaks during the day, we play football, table tennis and Xbox"
    icon: benefit1.png

  en:
    title: "Drink"
    detail: "The fridge is full of beer cans and Coca-Cola, Ice Tea and coffee. You can drink whatever makes you happy, all day!"
    icon: benefit2.png
  fr:
    title: "Boissons"
    detail: "The fridge is full of beer cans and Coca-Cola, Ice Tea and coffee. You can drink whatever makes you happy, all day!"
    icon: benefit2.png

这是我的循环:

  {% for benefit in site.data.benefits.locales.en %}
    <div class="s-column6">
      <div class="kiwup-benefit pb1 mb1">
        <img src="/image/benefit/{{ benefit.icon }}" alt="kiwuper">
        <div class="kiwup-benefit-info">
          <h3 class="h4-like text-dark">{{ benefit.title }}</h3>
          <p>{{ benefit.detail }}</p>
        </div>
      </div>
    </div>
  {% endfor %}

【问题讨论】:

    标签: yaml jekyll liquid


    【解决方案1】:

    1。您的数据文件有误,locales.enlocales.fr 的条目重叠。正确的嵌套可以是:

    语言环境:

    games:
      en:
        title: "Games"
        detail: "To relax and take breaks during the day, we play football, table tennis and Xbox"
        icon: benefit1.png
      fr:
        title: "Jeux"
        detail: "To relax and take breaks during the day, we play football, table tennis and Xbox"
        icon: benefit1.png
    
    drink:
      en:
        title: "Drink"
        detail: "The fridge is full of beer cans and Coca-Cola, Ice Tea and coffee. You can drink whatever makes you happy, all day!"
        icon: benefit2.png
      fr:
        title: "Boissons"
        detail: "The fridge is full of beer cans and Coca-Cola, Ice Tea and coffee. You can drink whatever makes you happy, all day!"
        icon: benefit2.png
    

    2。数据文件名

    如果您的数据文件名为 benefit.yml,您可以使用 site.data.benefit.locales.drink

    访问您的数据

    3。你的循环是错误的

    然后循环给你类似的东西:

    benefit = Array
    ["en",{"title"=>"Drink", "detail"=>"The fridg...!", "icon"=>"benefit2.png"}]
    

    benefit[0] = enbenefit[1] = hash{"title"=&gt;"Drink", "detail"=&gt;"The fridg...!", "icon"=&gt;"benefit2.png"} 的位置

    如果你想在这里访问数据,你可以{{ benefit[1].title }}

    games 语言环境的完整代码:

    {% for benefit in site.data.benefit.locales.games %}
    <div class="s-column6">
      <div class="kiwup-benefit pb1 mb1">
        <img src="/image/benefit/{{ benefit[1].icon }}" alt="kiwuper">
        <div class="kiwup-benefit-info">
          <h3 class="h4-like text-dark">{{ benefit[1].title }}</h3>
          <p>{{ benefit[1].detail }}</p>
        </div>
      </div>
    </div>
    {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-27
      • 2014-11-25
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多