2

I want to have Nanoc compile a single item in multiple formats - specifically, compile a Markdown file to both HTML and PDF. As far as I know, a single item can only match a single compilation rule.

A hard link (ln somefile.md newfile.md) allows me to compile the same file as if it were two different files, but that's kind of an awkward solution.

Is there a better way to do this?

Nathan Long
  • 122,748
  • 97
  • 336
  • 451

1 Answers1

6

You can use item representations in order to achieve that. You can compile a single item into multiple output items (representations). Here’s an example:

compile '/stuff/' do
  filter :markdown
end

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

The only thing remaining is to provide routing rules that write the two item representations to their right location (also using :rep => ...).

Denis Defreyne
  • 2,213
  • 15
  • 18
  • 1
    How nice to have the project's creator answer my question. :) Thanks for the great tool, and thanks for your help. – Nathan Long Nov 19 '12 at 11:52