aboutsummaryrefslogtreecommitdiff
path: root/_plugins/generate-media-files.rb
blob: 2ef92dba6884b5b4b00bef0fb228f1e630c54cdd (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module Jekyll
  class MediaFilesGenerator < Generator
    safe true
    priority :high

    def generate(site)
      site.collections['podcasts'].docs.each do |document|
        date = document.data['date'].strftime('%Y-%m-%d')
        slug = document.data['slug']
        flac = "resources/podcasts/#{date}-#{slug}.flac"
        ogg =  "resources/podcasts/#{date}-#{slug}.ogg"
        unless File.exist? ogg then
          puts "Missing '#{ogg}' file, generating..."
          puts `ffmpeg -i #{flac} -ar 48000 -vn -c:a libvorbis -b:a 320k #{ogg}`
          site.static_files << Jekyll::StaticFile.new(site, site.source, '', ogg)
        end
      end
    end
  end
end