我怎样才能让Nanoc以多种方式编译同一个项目?

时间:2012-11-17 13:30:41

标签: nanoc

我想让Nanoc以多种格式编译单个项目 - 具体来说,将Markdown文件编译为HTML和PDF。据我所知,单个项目只能匹配一个编译规则。

硬链接(ln somefile.md newfile.md)允许我编译同一个文件,好像它是两个不同的文件,但这是一种尴尬的解决方案。

有更好的方法吗?

1 个答案:

答案 0 :(得分:6)

您可以使用项目表示来实现这一目标。您可以将单个项目编译为多个输出项目(表示形式)。这是一个例子:

compile '/stuff/' do
  filter :markdown
end

compile '/stuff/', :rep => :pdf do
  filter :markdown
  filter :pdf
end

唯一剩下的就是提供将两个项目表示写入正确位置的路由规则(也使用:rep => ...)。