Rake を使用して Markdown ファイルから PDF を生成します。マークダウン ファイルが の場合filename.md
、PDF が でfilename.md.pdf
はないことが好きfilename.pdf
です。これにより、オートコンプリートが思いどおりに機能し、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 $@