【问题标题】:How do I create 'draft' items in nanoc?如何在 nanoc 中创建“草稿”项目?
【发布时间】:2012-01-10 10:54:54
【问题描述】:

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

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

这可能吗?

【问题讨论】:

    标签: ruby metadata blogs nanoc


    【解决方案1】:

    在您的规则文件中,使用以下内容:

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

    【讨论】:

    • 太好了,谢谢,这为我指明了正确的方向。问题解决了。谢谢@Alkaline。
    • 标识符之前不需要额外的“/”,因为标识符已经以斜线开头。此外,在即将发布的 nanoc 3.3 版本中,您将能够使用“nanoc prune”修剪剩余的编译文件,并且还能够自动修剪。
    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 2022-07-26
    • 2022-08-16
    • 1970-01-01
    • 2018-02-20
    • 2016-08-27
    • 2014-10-19
    • 2022-08-24
    相关资源
    最近更新 更多