Есть ли способ добавить еще одну переменную к объекту сайта в jekyll?

Я создаю блог только для того, чтобы выкладывать туда свои заметки. Мне нравится, как далеко я могу зайти с site.tags и site.categories. Все, что мне действительно нужно сейчас, это возможность иметь другой вариант фильтра. Что-нибудь 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]
---

По сути, я хочу писать заметки обо всем, что меня интересует: Интернет, общие технологии, история... и что-то вроде создания подблогов.

Есть способы обойти это, но теперь, когда я здесь, я просто хотел знать, возможно ли такое


person relidon    schedule 09.07.2016    source источник


Ответы (2)


Категории и теги обрабатываются Jekyll специально, поэтому вы не найдете что другие вступительные записи из поста будут собраны в общесайтовую переменную, такую ​​как site.categories и site.tags.

В документации по Jekyll есть руководство по извлечение элементов на основе свойств вступительной части, которая показывает, как выполнять итерацию по всей коллекции и выполнять некоторую обработку для каждого элемента на основе значения переменной вступительной части.

Вы можете перебирать свою коллекцию, проверяя sublog значения каждого элемента и concat — добавление их в список всех известных sublog значений (возможно, удаляя дубликаты с помощью uniq впоследствии и, при желании, sort — перед дальнейшей обработкой).

Это позволит вам создать список всех подблогов и для каждого подблога создать в нем список постов (что, по-видимому, и является вашей конечной целью).

person Alex Peters    schedule 11.12.2018

Вы можете хранить информацию о сайте + настройки конфигурации в _config.yml.

В вашем примере показана конкретная информация о странице во вступительной части YAML!

Прочтите, пожалуйста, документацию по Jekyll.

person jMike    schedule 12.07.2016
comment
Это отличается от того, что я спрашиваю. По предоставленной вами ссылке у нас есть site.tags.TAG. Таким образом, TAG исходит из того, что мы указываем в YAML. Я спрашиваю, есть ли способ добавить еще один тег, например переменную? Итак, site.series.Series Итак, в каждом посте я добавляю series: X и получаю эти значения, используя {% for series in site.series %}. Итак, {% тег в site.tags %}` работает, есть ли способ добавить site.series (или любое другое имя, которое я хочу) - person relidon; 12.07.2016
comment
Да нет проблем. Вы можете добавлять переменные для всего сайта или страницы, если хотите. И вы можете вкладывать переменные как массив, хеш, .... Прочтите Поваренную книгу Yaml для получения дополнительной информации. - person jMike; 13.07.2016
comment
Можно по сайту... что я и спрашиваю как сделать. - person relidon; 13.07.2016