diff options
Diffstat (limited to '')
-rw-r--r-- | _plugins/generate-lilypond.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/_plugins/generate-lilypond.rb b/_plugins/generate-lilypond.rb new file mode 100644 index 0000000..c0c1a13 --- /dev/null +++ b/_plugins/generate-lilypond.rb @@ -0,0 +1,28 @@ +module Jekyll + class LilyPondGenerator < Generator + safe true + priority :high + + def generate(site) + site.config['musics'].each do |music| + ref = music['ref'] + file = "music/#{ref}" + ly = "#{file}.ly" + pdf = "#{file}.pdf" + unless File.exist? pdf then + puts "Missing '#{pdf}', generating..." + puts `lilypond -o #{file} #{ly}` + site.static_files << Jekyll::StaticFile.new(site, site.source, '', pdf) + end + + ogg = "#{file}.ogg" + midi = "#{file}.midi" + unless File.exist? ogg then + puts "Missing '#{ogg}', generating..." + puts `timidity -Ov #{midi}` + site.static_files << Jekyll::StaticFile.new(site, site.source, '', ogg) + end + end + end + end +end |