You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pelican中创建万能分类及生成文章标题列表页?

问题1:如何在Pelican中创建一个万能分类?

万能分类指包含所有文章的分类页面,可通过以下步骤实现:

  • 在主题模板目录下新建all_posts.html模板文件,内容如下:
{% extends "base.html" %}

{% block title %}所有文章{% endblock %}

{% block content %}
<h1>所有文章</h1>
<ul>
{% for article in articles %}
    <li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a> - {{ article.date.strftime('%Y-%m-%d') }}</li>
{% endfor %}
</ul>
{% endblock %}
  • 在content/pages目录下新建all-posts.md页面文件:
Title: 所有文章
Template: all_posts
  • 确保pelicanconf.py中PAGE_PATHS包含pages目录(默认已配置),生成站点后即可通过对应URL访问这个包含所有文章的“万能分类”页面。
问题2:制作仅列出所有文章标题的分组页面

要实现类似WP Sitemap插件的HTML格式文章标题列表(支持按时间/分类分组、无摘要),操作如下:

  • 在主题模板目录下新建post_sitemap.html模板文件:
{% extends "base.html" %}

{% block title %}文章站点地图{% endblock %}

{% block content %}
<h1>文章站点地图</h1>

<h2>按时间分组(倒序)</h2>
{% for year, year_articles in articles|groupby('date.year')|reverse %}
    <h3>{{ year }}</h3>
    <ul>
    {% for month, month_articles in year_articles|groupby('date.month')|reverse %}
        {% set month_name = month_articles[0].date.strftime('%B') %}
        <h4>{{ month_name }}</h4>
        {% for article in month_articles %}
            <li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
        {% endfor %}
    {% endfor %}
    </ul>
{% endfor %}

<h2>按分类分组</h2>
{% for category, category_articles in categories %}
    <h3><a href="{{ SITEURL }}/{{ category.url }}">{{ category.name }}</a></h3>
    <ul>
    {% for article in category_articles %}
        <li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
    {% endfor %}
    </ul>
{% endfor %}
{% endblock %}
  • 在content/pages目录下新建post-sitemap.md页面文件:
Title: 文章站点地图
Template: post_sitemap
  • 若要将该页面添加到导航栏,可在pelicanconf.py中配置MENUITEMS:
MENUITEMS = [
    ('首页', '/'),
    ('文章站点地图', '/post-sitemap.html'),
    # 其他导航项...
]

内容的提问来源于stack exchange,提问作者filo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 01:05:23