【发布时间】:2012-01-10 10:54:54
【问题描述】:
我想根据元数据中的状态代码将帖子呈现到不同的文件夹。
例如,如果我有status: draft 的属性,我希望将这些项目呈现到名为/draft/ 的文件夹中,而status: live 将呈现到/blog/。然后我可以用密码保护draft 文件夹,这样只有我可以查看它。如果根本没有状态,则默认为草稿。
这可能吗?
【问题讨论】:
我想根据元数据中的状态代码将帖子呈现到不同的文件夹。
例如,如果我有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 中的新功能)。
【讨论】: