1

我已经完整地查看了 Hexo 的文档,但我仍然不确定如何使用 Hexo 模板将结构化数据(YAML、JSON)集成到页面/帖子中。我能找到的最接近的是插件文档的文件数据部分。我不确定这是否是我正在寻找的,并且没有任何实施示例。

对于那些熟悉 Jekyllrb(流行的 Ruby 静态站点生成器)的人来说,您可以使用_data目录来存储 JSON 和 YAML 文件。在模板中,您可以使用类似{% for event in site.data.events %}...{% endfor %}.

Hexo 中是否有等价物?

4

3 回答 3

2

如果要访问 Markdown 文件中的 YAML 或 JSON 数据,请执行以下操作。

  1. 创建静态数据文件:/source/_data/mydata.yml
var1: "value 1"
var2: "value 2"
var3: "value 3"
  1. 然后在您的帖子中访问它/source/_posts/mypost.md
---
title: "My Post"
data: 2021-01-01 14:41:29
---

{{ site.data.mydata.var1 }}
于 2021-01-01T10:33:19.173 回答
0

您可以使用类似<%= page.title %>,<%= page.date %>甚至<%= page.foo %>(在 EJS 模板中)的表达式 wheretitle和是来自帖子或页面标题的 YAML 属性,例如datesource /_posts/2015-06-14-my-awesome-post.markdown"foo

---
layout: post
title: "My Awesome Post"
date: 2015-06-14T17:23:00+04:00
foo: bar
---
Hello World
于 2015-06-14T13:49:49.287 回答
0

Hexo 3 现在可以处理 Jekyll 风格的数据文件。

文档

此功能在 source/_data 文件夹中加载 YAML 或 JSON 文件,以便您可以在您的站点中使用它们。

例如,在 source/_data 文件夹中添加 menu.yml。

Home: /
Gallery: /gallery/
Archives: /archives/

您可以在模板中使用它们:

{% for link in site.data.menu %}
   <a href="{{ link }}">{{ loop.key }}</a>
{% endfor %}
于 2016-04-07T20:34:25.403 回答