我使用 Rake 从 Markdown 文件生成 PDF。如果 Markdown 文件是,我不filename.md
喜欢 PDF ,以便自动完成以我喜欢的方式工作,并且清楚 PDF 文件的来源是什么。filename.md.pdf
filename.pdf
我有这个 Rake 文件,它工作正常。
MDFILES = FileList["*.md"]
PDFS = MDFILES.ext("pdf")
desc "Build PDFs of all chapters"
task :pdfs => PDFS
# Build PDFs from Markdown source
rule ".pdf" => ".md" do |t|
sh "pandoc #{t.source} -o #{t.name}"
end
如果我运行rake pdfs
或rake filename.pdf
按预期生成 PDF,但 PDF 被命名为filename.pdf
.
但我希望 Rakefile 改为:
MDFILES = FileList["*.md"]
PDFS = MDFILES.ext("md.pdf")
desc "Build PDFs of all chapters"
task :pdfs => PDFS
# Build PDFs from Markdown source
rule "md.pdf" => ".md" do |t|
sh "pandoc #{t.source} -o #{t.name}"
end
运行rake pdfs
或rake filename.md.pdf
返回错误Don't know how to build task 'filename.md.pdf'
。
如何以我想要的方式生成文件名?
顺便说一句,这种类型的规则适用于 Make,即:
%.md.pdf : %.md
pandoc $< -o $@