diff options
Diffstat (limited to 'lib/latex.rb')
-rw-r--r-- | lib/latex.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/latex.rb b/lib/latex.rb index e17a6ef..fa1094c 100644 --- a/lib/latex.rb +++ b/lib/latex.rb @@ -1,3 +1,9 @@ +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 @@ -10,8 +16,25 @@ def render_pdf song 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 |