在 Pelican 网址中使用小写月份名称

Use lowercase month names in Pelican urls

我正在使用静态站点生成器 Pelican. I've configured the ARTICLE_URL 设置将年份和月份包含在 url 中。

例如

ARTICLE_URL = 'posts/{date:%Y}/{date:%b}/{slug}/'

我的 post url 会是这样的

/posts/2015/Dec/my-new-post/

我希望月份是小写的,即

/posts/2015/dec/my-new-post/

有没有简单的方法可以做到这一点?

试试改用这个:

ARTICLE_URL = 'posts/{date:%Y}/{date:%b | lower }/{slug}/'

我遇到了同样的问题,并通过制作一个小 Pelican plugin 解决了这个问题,将小写的月份名称添加为内容元数据变量。

这是插件:

from pelican import signals

def add_lowercase_month_to_metadata(content):
    if "date" in content.metadata:
        content.metadata["lowercase_month"] = content.metadata["date"].strftime("%B").lower()
        content.metadata["lowercase_month_short"] = content.metadata["date"].strftime("%b").lower()

def register():
    signals.content_object_init.connect(add_lowercase_month_to_metadata)

激活后,您可以在 ARTICLE_URLARTICLE_SAVE_AS:

中使用新的小写月份名称变量(lowercase_monthlowercase_month_short
ARTICLE_URL = '/{date:%Y}/{lowercase_month_short}/{date:%d}/{slug}'
ARTICLE_SAVE_AS = '{date:%Y}/{lowercase_month_short}/{date:%d}/{slug}/index.html'