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

时间:2019-01-14 16:23:23

标签: python pelican

我希望Pelican使用page或articles文件夹生成内容的方式相同,并且它们以/pages/路径下文件的形式构造为页面。如果我想要例如具有相同的内容,我想怎么做与其他名为products的文件夹进行行为,以便Pelican生成/products/<file>.hml

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

很容易(我认为)说Pelican我想像在内容中一样处理另一个文件夹,但是我找不到办法。

有什么主意吗?也许是一些Pelican插件?

我已经看到了这个答案:Python Pelican: How can I separate content by category?,但不是Ï想要的,因为他正在谈论页面文件夹中的子文件夹。

谢谢!

1 个答案:

答案 0 :(得分:0)

弄乱了可用选项后,看来您的方案中阻力最小的路径是在配置文件中设置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