【问题标题】:Is there a way to add another variable to site object in jekyll?有没有办法在 jekyll 中向站点对象添加另一个变量?
【发布时间】:2016-07-09 23:08:12
【问题描述】:

我创建一个博客只是为了将我的笔记转入其中。我喜欢site.tagssite.categories 能走多远。我现在真正需要的是拥有另一个过滤器选项的能力。 li site.sublog 它会帮助我创建我需要的东西

所以这里有一个帖子

---
layout: post
title: "Angular.js With Codeschool:part five"
date: 2015-05-14 07:57:01 +0100
category: [Angularjs-codeschool, basics]
tags: [angular with codeschool]
sublog: [web]
---

基本上我想就我感兴趣的一切写笔记:网络、通用技术、历史……以及创建子博客

有办法解决它,但现在我在这里,我只想知道这样的事情是否可能

【问题讨论】:

    标签: jekyll jekyll-extensions


    【解决方案1】:

    Categories and tags 受到 Jekyll 的特殊处理,因此您不会发现帖子中的其他前端条目将被收集到像 site.categoriessite.tags 这样的站点范围变量中。

    Jekyll 文档有一个关于 retrieving items based on front matter properties 的教程,该教程展示了如何迭代整个集合并根据前端变量的值对每个项目进行一些处理。

    您可以iterate 覆盖您的集合,检查每个项目的sublog 值并将它们concat-ing 到所有已知sublog 值的列表中(也许之后使用uniq 删除重复项,并且可以选择在进一步处理之前sort-ing 他们)。

    这将使您能够创建所有子博客的列表,并为每个子博客创建其中的帖子列表(这可能是您的最终目标)。

    【讨论】:

      【解决方案2】:

      您可以在 _config.yml 中存储站点范围信息 + 配置设置。

      您的示例在 YAML 前端显示页面特定信息!

      请阅读Jekyll Documentation

      【讨论】:

      • 这与我的要求不同。在您提供的链接中,我们有site.tags.TAG。所以TAG 来自我们在 YAML 中指定的内容。我问有没有办法添加另一个像变量一样的“标签”?所以site.series.Series 所以在每篇文章中我添加series: X 并使用{% for series in site.series %} 获取这些值。所以 {% tag in site.tags %}` 有效,有没有办法添加site.series(或者我想要的任何名称)
      • 是的,没问题。您可以根据需要在站点范围内或特定页面添加这么多变量。您可以将变量嵌套为数组、哈希、...。请阅读Yaml Cookbook 了解更多信息。
      • “您可以在整个站点范围内......”我要问的是怎么做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多