启用嵌套分类和每篇文章多个分类
项目描述
more-categories
此插件为每篇文章多个分类和嵌套分类提供了支持。它需要Pelican 4.0.0或更高版本。
多个分类
要指明文章属于多个分类,请使用逗号分隔的字符串
Category: foo, bar, bazz
这将把文章添加到分类 foo
、bar
和 bazz
。
模板
现有主题如果使用 article.category
,则只会显示这些分类中的第一个,即 foo
。此插件添加了 article.categories
,您可以遍历它。为了在主题中适应此插件,无论它是否存在,请使用
{% for cat in article.categories or [article.category] %}
<a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a>{{ ', ' if not loop.last }}
{% endfor %}
嵌套分类
(这是对 subcategory
插件的重新实现。)
要表示一个分类是另一个分类的子分类,请使用斜杠分隔的字符串
Category: foo/bar/bazz
这将把文章添加到分类 foo/bar/bazz
、foo/bar
和 foo
中。
模板
现有使用 article.category
的主题将显示这些分类中最具体的全路径,即 foo/bar/bazz
。对于任何分类 cat
,此插件添加 cat.shortname
,在这个例子中是 bazz
,cat.parent
,在这个例子中是分类 foo/bar
,以及 cat.ancestors
,这是一个包含分类祖先的列表,以分类本身结束。例如,如果此插件存在,要在文章页面上包含每个祖先分类的链接,可以使用
{% for cat in article.category.ancestors or [article.category] %}
<a href="{{ SITEURL }}/{{ cat.url }}">{{ cat.shortname or cat }}</a>{{ '/' if not loop.last }}
{% endfor %}
同样,category.shortname
、category.parent
和 category.ancestors
也可以在分类模板中使用。
此外,此插件还添加了 category.children
:一个包含具有 category
作为父级的分类的 list
。
{% for child in category.children %}
<a href="{{ SITEURL }}/{{child.url}}">{{child.shortname|capitalize}}</a>
{% endfor %}
如果您需要所有后代而不是仅直接子代,可以使用后代的 list
:category.descendents
。
别名
分类的别名是通过递归地将分类及其祖先的短名称转换为别名并保留斜杠生成的。
slug-of-(foo/bar/baz) := slug-of-foo/slug-of-bar/slug-of-baz
分类文件夹
要使用目录结构指定分类,您可以配置 PATH_METADATA
以将文章路径提取到 category
元数据中。以下设置将使用整个结构
PATH_METADATA = '(?P<category>.*)/.*'
如果您将所有文章存储在单个 articles/
文件夹中,并且想要忽略此目的,请使用
PATH_METADATA = 'articles/(?P<category>.*)/.*'
模板中的分类
所有分类及其对应文章的列表 categories
,在上下文中可用,可以在模板中使用(例如,制作可用分类的菜单),按字典顺序排序,因此分类始终跟随其父分类
aba
aba/dat
abaala
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
pelican-more-categories-0.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe8440db77e52cba6511228b1a7e8b0b84618e9587a05fc5186f118e6243008a |
|
MD5 | 8c56c600b56a213371db87de78539f88 |
|
BLAKE2b-256 | 1f6f4032705412fd8afd9868e868e055a061da2ff3fb02ec37cddfc92a617c8d |
pelican_more_categories-0.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8d8e424a88f39f4186f9c91587e8e11353fb89054d0cf92a9ef419986386473e |
|
MD5 | 92ef1f52fca66c4041a2f2f6bf7bb3d3 |
|
BLAKE2b-256 | c424e32de438b861f729ecebf9dc49f8ad8c85ca1fec8ce45371430a8b87e721 |