根据目录结构自动化 Jekyll page.categories
Automate Jekyll page.categories according to directory structure
目标
使 Jekyll post 根据目录结构有自己的类别。
例如)_post/category1/category2/post-content.md
必须具有 ['category1', 'category2']
的类别(我猜 Jekyll 将类别作为数组处理)。
关键是,使 1) 无需在 Front Matter
中指定类别和 2) 按目录结构每隔 post 自动分类 .
描述
官方 Jekyll 文档说 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
目录位于 中 其他目录中。我认为 _post
目录必须在根目录中,所以对我来说将 post 定位在像 /work/code/_posts/2008-12-24-closures.md
这样的路径中似乎是不可能的。可能吗?还是不可能?
如果 1.
不可能 ,我如何为每个 post 匹配类别和目录结构?我不想每 post 秒手动执行一次。
我尝试使用 {{ page.path }}
使其自动化,但遇到了 2 个问题。 1) 不确定 Liquid(template engine)
是否支持完整的 ruby 功能,例如 File.basename
用于解析。 2) 不确定是否可以在 Front Matter
中完成解析之类的代码。例如,我在 Front Matter
中尝试了 categories: {{ page.path | array_to_sentence_string }}
,但最终出现错误。
这些问题有什么解决办法吗?还是没有办法?
您正确地遵循了说明:您可以使用任一文件夹结构,但后者是首选。
问题是特殊目录是 _posts
复数,而不是 _post
单数。
目标
使 Jekyll post 根据目录结构有自己的类别。
例如)_post/category1/category2/post-content.md
必须具有 ['category1', 'category2']
的类别(我猜 Jekyll 将类别作为数组处理)。
关键是,使 1) 无需在 Front Matter
中指定类别和 2) 按目录结构每隔 post 自动分类 .
描述
官方 Jekyll 文档说 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
目录位于 中 其他目录中。我认为_post
目录必须在根目录中,所以对我来说将 post 定位在像/work/code/_posts/2008-12-24-closures.md
这样的路径中似乎是不可能的。可能吗?还是不可能?如果
1.
不可能 ,我如何为每个 post 匹配类别和目录结构?我不想每 post 秒手动执行一次。
我尝试使用{{ page.path }}
使其自动化,但遇到了 2 个问题。 1) 不确定Liquid(template engine)
是否支持完整的 ruby 功能,例如File.basename
用于解析。 2) 不确定是否可以在Front Matter
中完成解析之类的代码。例如,我在Front Matter
中尝试了categories: {{ page.path | array_to_sentence_string }}
,但最终出现错误。
这些问题有什么解决办法吗?还是没有办法?
您正确地遵循了说明:您可以使用任一文件夹结构,但后者是首选。
问题是特殊目录是 _posts
复数,而不是 _post
单数。