问题描述
我有一个 pelican 博客,我想从 URL 中删除 .html 扩展名。我在 pelicanconf.py 中添加了以下内容
ARTICLE_URL ='{slug}'
PAGE_URL = '{slug}'
问题是 invoke livereload
不提供没有 html 扩展名的网址。 pelican --autoreload --listen
可以,但它不会在更改时自动刷新我的浏览器。
有什么解决方案可以两全其美?
解决方法
利用 *_URL
和 *_SAVE_AS
配置选项。
例如:
ARTICLE_URL = '{slug}/'
ARTICLE_SAVE_AS = '{slug}/index.html'
PAGE_URL = '{slug}/'
PAGE_SAVE_AS = '{slug}/index.html'
以上确实依赖于这样一个事实,即当您尝试直接浏览目录时,网络服务器将提供“index.html”文件,但这是近乎普遍的行为。
您可以对任何 *_URL
设置执行上述操作。进一步的例子:
CATEGORY_URL = "category/{slug}/"
CATEGORY_SAVE_AS = "category/{slug}/index.html"
CATEGORIES_URL = "category/"
CATEGORIES_SAVE_AS = "category/index.html"