summaryrefslogtreecommitdiff
path: root/climbing.rb
blob: 6705abaac05f54bd914c790a1b6b3eb92124f256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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>&nbsp;&copy; 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