我正在使用静态网站生成器Pelican。我已将ARTICLE_URL
设置配置为在网址中包含年份和月份。
例如
ARTICLE_URL = 'posts/{date:%Y}/{date:%b}/{slug}/'
我的帖子网址会像
/posts/2015/Dec/my-new-post/
我希望这个月是低级的,即
/posts/2015/dec/my-new-post/
有没有简单的方法来实现这一目标?
答案 0 :(得分:1)
我也遇到了同样的问题,并通过制作一个小的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)
激活后,您可以在lowercase_month
和lowercase_month_short
中使用新的小写月份名称变量(ARTICLE_URL
和ARTICLE_SAVE_AS
):
ARTICLE_URL = '/{date:%Y}/{lowercase_month_short}/{date:%d}/{slug}'
ARTICLE_SAVE_AS = '{date:%Y}/{lowercase_month_short}/{date:%d}/{slug}/index.html'
答案 1 :(得分:0)
尝试使用此代替:
ARTICLE_URL = 'posts/{date:%Y}/{date:%b | lower }/{slug}/'