动态创建Nanoc规则和编译指令

时间:2015-09-18 06:55:11

标签: ruby nanoc

我想从帮助程序模块生成规则DSL。我有自定义博客助手,我希望它能自动生成RSS源,因此只要存在特定的元数据,我就不必在Rules文件中指定任何编译和路由规则。

让我说我的博客位于news.erbnews\*.md目录中。 Erb文件在其元数据部分中有博客配置(要显示的文章数量,订购等等)。在预处理中,我有create_blog函数,根据\page\N中的元数据生成news.erb 。如果此元数据包含rss: true部分,我希望create_blog函数还注册2个附加规则(如果之前未定义)和1个附加文件/feeds/news.xml

compile /feeds\/.+/  do
  filter :erb
end

route /feeds\/.+/ do
    item.identifier.chop + '.xml'
end

我可以正确生成文件,但为了保持网站模块化,我想在create_blog本身创建上述规则。这允许我稍后,如果我想删除博客,只需注释掉模块而不是更改Rules文件。

0 个答案:

没有答案