【问题标题】:How do I make JSON data file objects use a layout如何使 JSON 数据文件对象使用布局
【发布时间】:2015-10-03 17:14:06
【问题描述】:

首先,我使用的是GitHub Pages dependencies

我正在尝试使用 Jekyll 的数据文件,但在制作功能链接时遇到问题,这些链接会使用布局来显示更多对象的内容。

我可以通过 url 访问该页面:http://127.0.0.1:4000/dev/ - 我在./dev/index.htmlfor 循环 显示应该如此。如果我点击该页面上的任何链接,我会收到一条 404 消息,因为例如:http://127.0.0.1:4000/dev/parent/child 找不到。

Jekyll 中的帖子使用 Front Matter 来确定它应该使用哪种布局,但是当我单击 ./dev/index.html 中的任何链接时,我不知道如何使我的链接使用我的自定义布局。

如何在./dev/index.html 中的网址之间创建“链接”以显示./_layouts/post.html

这是我目前得到的。

./_data/dev.json:

[
  {
    "id": 0,
    "name": "I am (g)Root",
    "link": "parent",
    "data": [
      {
        "id": 0,
        "name": "Some kid",
        "content": "bla bla bla",
        "link": "child"
      },
      {
        "id": 1,
        "name": "A desk",
        "content": "texty texty",
        "link": "desk"
      }
    ]
  }
]

./dev/index.html

---
layout:       page
title:        'dev'
published:    true
date:         2015-10-03 18:48:58 +02:00
category:     'module'
---

{% assign data = site.data.dev.first %}
{% for post in data.data %}
  <ul>
    <!-- URL will look like this: /parent/child -->
    <li><a href="{{ data.link | prepend: site.baseurl }}/{{ post.link }}">{{ post.name }}</a></li>
  </ul>
{% endfor %}

./_layouts/post.html

---
layout: default
---

{{ content }}

./_config.yml

permalink: /:categories/:title

【问题讨论】:

  • 你定义了_posts中的实际帖子吗?
  • 没有帖子。只有 _data 文件夹中的 dev.json 文件。

标签: jekyll liquid


【解决方案1】:

数据文件只是您可以循环使用的数据。如果没有generator plugins,您将无法从中生成页面。

为了从“数据”生成页面,您可以使用collections

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多