diff options
Diffstat (limited to 'climbing.rb')
-rwxr-xr-x | climbing.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/climbing.rb b/climbing.rb new file mode 100755 index 0000000..6705aba --- /dev/null +++ b/climbing.rb @@ -0,0 +1,28 @@ +#!/usr/bin/env ruby +require_relative 'lib' + +html = File.read(File.join(SNIPPETS, 'head.html')) +html += nav 'climbing' +Dir[File.join(MEDIA_DIR, 'climbing', '*.txt')].collect do |txt| + lines = File.read(txt).lines.collect { |l| l.chomp } + { date: lines.shift, + text: lines.join('<br>'), + mp4: txt.sub(MEDIA_DIR, MEDIA_URL).sub('.txt', '.mp4'), + webm: txt.sub(MEDIA_DIR, MEDIA_URL).sub('.txt', '.webm'), + webp: txt.sub(MEDIA_DIR, MEDIA_URL).sub('.txt', '.webp') } +end.sort_by { |m| m[:date] }.reverse.each do |post| + w, h = `ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 #{post[:webm]}`.chomp.split(',') + html += '<div class="post">' + html += "<h1>#{post[:date]}</h1>" + html += "<video controls preload='none' width='#{w}' height='#{h}' poster=#{post[:webp]}> + <source src='#{post[:webm]}' type='video/webm'> + <source src='#{post[:mp4]}' type='video/mp4'> + <a href=#{post[:mp4]}>#{post[:mp4]}</a> + </video><p> + " + html += post[:text] + html += '</div>' +end +html += '<p> © pdp8 <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>' +html += File.read(File.join(SNIPPETS, 'tail.html')) +print_html 'climbing', html |