You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jekyll中用Liquid遍历未知名称的页面YAML变量?

解决Jekyll中遍历页面YAML前置变量的问题

嘿,我来帮你搞定这个遍历YAML变量的需求!你之前的写法问题出在对Jekyll对象的理解上——Jekyll里并没有page.data这个属性,要获取页面YAML前置里的变量,我们需要用page.frontmatter这个专门存储前置数据的哈希对象。

正确的Liquid代码写法

直接遍历page.frontmatter,然后通过数组下标获取键和值(Liquid里遍历哈希时,每个元素是一个[键, 值]的数组):

{% for key_value in page.frontmatter %}
  key-name : {{ key_value[0] }} , value : {{ key_value[1] }} <br>
{% endfor %}

效果演示

假设你的文章YAML前置内容是:

---
layout: post
title: MyBlog
custom_description: 这是我的第一篇博客
---

运行上面的代码后,会输出:

key-name : layout , value : post 
key-name : title , value : MyBlog 
key-name : custom_description , value : 这是我的第一篇博客 

额外说明

如果你直接遍历page对象({% for pair in page %}),会输出很多Jekyll内置的页面属性(比如content、url、date等),而page.frontmatter只会包含你在YAML前置里手动定义的变量,完全符合你“只获取自定义YAML变量”的需求。

内容的提问来源于stack exchange,提问作者demiton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:39:57