我想根据元数据中的状态代码将帖子呈现到不同的文件夹。
例如,如果我有一个属性,status: draft
我希望将这些项目呈现到名为 的文件夹/draft/
,而status: live
将呈现到/blog/
. 然后我可以对文件夹进行密码保护,draft
以便只有我可以查看它。如果根本没有状态,则默认为草稿。
这可能吗?
在您的规则文件中,使用以下内容:
route '*' do
if item.binary?
item.identifier.chop + '.' + item[:extension]
elsif item[:status]
'/' + item[:status] + item.identifier.chop + '.' + item[:extension]
else
item.identifier + 'index.html'
end
end
这将为您拥有的每个状态创建一个目录。例如:以开头的源文件
---
title: file1
status: testing
---
将在 /testing/ 文件夹中创建。
要在编译后删除剩余文件,您可以使用“nanoc prune”(nanoc 3.3.x 中的新功能)。