我具有项目的当前文件夹结构
.
├── Rakefile
└── S6
├── CD_CS304.md
├── CN_CS306.md
├── DAA_CS302.md
└── graphviz
└── cs304_compilerphases.dot
2 directories, 5 files
我正在为每个markdown文件构建单独的pdf,这是我的Rakefile
# Convert all markdown files to PDF
MD_SOURCES = Rake::FileList.new("**/*.md")
DOT_SOURCES = Rake::FileList.new("**/*.dot")
task :default => :output_pdfs
task :output_pdfs => [MD_SOURCES.ext(".pdf"), :output_dotpngs].flatten
task :output_dotpngs => DOT_SOURCES.ext(".png")
rule ".pdf" => ".md" do |t|
sh 'pandoc ' \
'--variable fontsize=12pt ' \
'--variable date:"\today" ' \
'--variable geometry:a4paper ' \
'--variable documentclass:book ' \
'--table-of-contents ' \
'--number-sections ' \
'--filter pandoc-fignos ' \
"-f markdown #{t.source} " \
"-o #{t.name}"
end
rule ".png" => ".dot" do |t|
sh `dot -Tpng #{t.source} -o #{t.name}`
end
我想将点程序的输出嵌入到乳胶pdf中,但是在这里Rakefile不会将点文件变成png,而是直接编译pdf。
由于png文件不存在,这会使pdf编译出错。