首页 > 解决方案 > 如何使用 Pelican 实现与内容文件夹中的档案或页面相同的行为?

问题描述

我希望 Pelican 使用页面或文章文件夹生成内容的方式相同,这些内容被构造为/pages/路径下的页面作为文件我想如果我想要例如与调用products的其他文件夹具有相同的行为,我想如何做同样的事情为了鹈鹕生成/products/<file>.hml

content
   products
       product1.md
       product2.md
   articles
       article1.md
       article2.md
   pages
       about.md
       index.md

应该很容易(我认为)说 Pelican 我想处理内容中的另一个文件夹,但我找不到方法。

任何想法?也许一些鹈鹕插件?

我已经看到了这个答案:Python Pelican:如何按类别分隔内容?但并不完全是 Ï 想要的,因为他正在谈论 pages 文件夹中的子文件夹。

谢谢!

标签: pythonpelican

解决方案


在弄乱可用选项之后,您的场景中阻力最小的路径似乎是PATH_METADATA在您的配置文件中设置。以下是您可以具体拥有的内容:

# In pelicanconf.py
PATH_METADATA= '(?P<path_no_ext>.*)\..*'
ARTICLE_URL = '{path_no_ext}.html'
ARTICLE_SAVE_AS = '{path_no_ext}.html'

这将重新创建目录content内部的结构,output如下所示:

. (output folder)
├── about.html
├── archives.html
├── index.html
├── etc.
├── products
│   └── article-filename.html
│   └── article2-filename.html
├── articles
│   ├── article3-filename.html
│   └── article4-filename.html
├── pages
│   ├── article5-filename.html
│   └── article6-filename.html

推荐阅读