4

我想根据元数据中的状态代码将帖子呈现到不同的文件夹。

例如,如果我有一个属性,status: draft我希望将这些项目呈现到名为 的文件夹/draft/,而status: live将呈现到/blog/. 然后我可以对文件夹进行密码保护,draft以便只有我可以查看它。如果根本没有状态,则默认为草稿。

这可能吗?

4

1 回答 1

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 中的新功能)。

于 2012-01-10T11:15:05.870 回答