def render_partial_latex song template = tex_template 'song-partial' templated = template.result binding File.write(tmp(song_partial_tex song.id), templated) end def render_latex song template = tex_template 'song' templated = template.result binding File.write(tmp(song_tex song.id), templated) end def render_pdf song render_latex song system "lualatex --shell-escape -output-directory=#{TmpDir}/#{SongsDir} #{tmp (song_tex song.id)}" system "mv #{tmp (song_pdf song.id)} #{build (song_pdf song.id)}" end def render_songbook_latex songs template = tex_template 'songbook' templated = template.result binding File.write(tmp('songbook.tex'), templated) end def render_songbook songs render_songbook_latex songs system "lualatex --shell-escape -output-directory=#{TmpDir}/ #{tmp 'songbook.tex'}" # compile twice for table of contents to generate properly system "lualatex --shell-escape -output-directory=#{TmpDir}/ #{tmp 'songbook.tex'}" system "mv #{tmp 'songbook.pdf'} #{build 'songbook.pdf'}" end def make_pdfs songs songs.each_value do |song| render_partial_latex song render_pdf song end render_songbook songs end