我想根据元数据中的状态代码将帖子呈现到不同的文件夹。
例如,如果我的属性为status: draft
,我希望将这些项呈现到名为/draft/
的文件夹,而status: live
将呈现给{{1} }}。然后我可以用密码保护/blog/
文件夹,这样我才能查看它。如果根本没有状态,则默认为草稿。
这可能吗?
答案 0 :(得分:4)
在规则文件中,使用以下命令:
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中的新增内容)。