ЦельАвтоматизировать Джекилла page.categories согласно структуре каталогов
Сделать Джекил пост имеет свою собственную категорию в соответствии со структурой каталогов.
например. _post/category1/category2/post-content.md
должен иметь категории ['category1', 'category2']
(думаю, Jekyll имеет дело с категориями в виде массива).
Дело в том, что 1) нет необходимости указывать категорию в Front Matter
и 2) автоматически классифицировать каждое сообщение по структуре каталогов.
Описание
Официальный Джекил документ говорит Categories are derived from the directory structure above the _post directory. For example, a post at /work/code/_posts/2008-12-24-closures.md would have this field set to ['work', 'code'].
https://jekyllrb.com/docs/variables/
Если это возможно, я бы с радостью использовать эту функцию. Проблема в том, что я не знаю, как сделать
_post
dir, который будет расположен в других каталогов. Я думал, что_post
dir должен быть в корневом каталоге, поэтому для меня позиционирование сообщения в пути, как/work/code/_posts/2008-12-24-closures.md
, кажется невозможным. Является ли это возможным? или не возможно?Если
1.
is невозможно, как я могу сопоставлять категории и dir-struct для каждого сообщения? Я не хочу делать это вручную для каждого сообщения.
Я попытался использовать{{ page.path }}
, чтобы сделать его автоматизированным, но 2 проблемы, с которыми я столкнулся. 1) не уверенLiquid(template engine)
поддержка полной рубиновой функциональности, такой какFile.basename
для синтаксического анализа. 2) не уверен, что коды, такие как синтаксический анализ, могут быть выполнены вFront Matter
. Например, я попробовалcategories: {{ page.path | array_to_sentence_string }}
вFront Matter
, но это оказалось ошибкой.
любое решение по этим вопросам? Или нет пути?
Oh God thx! Теперь я вижу, как работает структура dir. В любом случае, что вы подразумеваете под «последним предпочтительным»? любая ссылка для рекоммендации или более подробное объяснение для этого? – user6119787