为每个项目启用嵌套类别和多个类别

pelican-more-categories的Python项目详细描述


更多类别

Build Status

这个插件增加了对每个文章的多个类别和嵌套的支持 类别。它需要鹈鹕4.0.0或更新版本。在

多类别

要指示一个项目属于多个类别,请使用 逗号分隔字符串:

Category: foo, bar, bazz

这将把文章添加到类别foobar和{}。在

模板

使用article.category的现有主题将只显示 这些类别,foo。此插件添加article.categories,您可以 而是循环。在一个主题中容纳这个插件是否存在 无论是否使用:

^{pr2}$

嵌套类别

(这是subcategory插件的重新实现。)

若要指示某个类别是另一个类别的子类别,请使用 斜线分隔字符串:

Category: foo/bar/bazz

这将把文章添加到foo/bar/bazzfoo/barfoo。在

模板

使用article.category的现有主题将显示指向 这些类别中最具体的,foo/bar/bazz。对于任何类别cat,此 插件添加cat.shortname,在本例中是bazzcat.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.shortnamecategory.parent和{}也可以 也可用于类别模板。在

另外,这个插件添加了category.children:一个list类别 以category为父级。在

{% for child in category.children %}
    <a href="{{ SITEURL }}/{{child.url}}">{{child.shortname|capitalize}}</a>
{% endfor %}

如果您需要所有的子代,而不仅仅是直接的子代,您可以使用子代的list:category.descendents。在

弹头

类别的slug是通过将 类别及其祖先,以及保留斜杠:

slug-of-(foo/bar/baz) := slug-of-foo/slug-of-bar/slug-of-baz

分类文件夹

要使用目录结构指定类别,可以配置 PATH_METADATA将项目路径提取到{}元数据中。这个 以下设置将使用整个结构:

PATH_METADATA = '(?P<category>.*)/.*'

如果您想将所有文章存储在一个articles/文件夹中 为此,请使用:

PATH_METADATA = 'articles/(?P<category>.*)/.*'

模板中的类别

所有类别对的列表categories及其对应的 文章,在上下文中可用,可以在模板中使用(例如。 要制作可用类别的菜单),则按字典顺序排列,因此 类别始终跟随其父类别:

aba
aba/dat
abaala

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Apache Felix 6.0.1:init上的BundleException   java编写了一个方法,该方法以相反的列主顺序返回2D数组   java“Singleton是每个进程和每个类装入器”的含义是什么?   集群Tomcat的java同步/互斥   java Springboot SOAP Web服务错误(提交响应后无法创建会话)   java Selenium Webdriver在页面刷新/重定向后找不到元素   java创建一个带有图标和名称的快捷按钮,就像三星的时钟应用程序一样   在EntityMode中使用条件时发生java Hibernate NullPointerException。DOM4J会话   java如何从日志文件中删除Tomcat信息   java如何跨同一项目的其他类使用公共类报告(用于日志记录目的)和公共静态方法   java Eclipse Indigo:Eclipse可执行文件无法找到其配套的共享库   intellij idea在Java中从构造函数创建对象时,我遇到了一个奇怪的行为   java如何知道HTTPserver何时完成数据发送   java JavaFx将附加FXML加载到FXML“模板”中   java什么是“事务内的读取操作不允许故障转移”?