#!/usr/bin/env ruby require 'erb' MEDIA_DIR = '/srv/media' MEDIA_URL = 'https://media.pdp8.info' WWW_DIR = '/srv/www/pdp8-test' SNIPPETS = File.join(File.dirname(__FILE__), 'html') def nav(cat) html = '' html end def file_html(basename) path = File.join(SNIPPETS, basename + '.html') html = File.read(File.join(SNIPPETS, 'head.html')) html += nav basename html += "
').gsub("\n", '
') + '
' cover = File.join(MEDIA_URL, dir.sub(MEDIA_DIR, ''), 'cover.jpeg') html += "" html += '
" html += " | #{name} | " html += '
Bandcamp: #{bc}" html += '
© pdp8 Creative Commons Attribution 4.0 International License' html += File.read(File.join(SNIPPETS, 'tail.html')) print_html 'music', html end def video_html videos = Dir[File.join(MEDIA_DIR, 'videos', '*')].sort.reverse html = File.read(File.join(SNIPPETS, 'head.html')) html += nav 'videos' videos.each_with_index do |dir, _i| date = File.basename(dir).split('_')[0] html += "
' mp4 = File.join(MEDIA_URL, 'videos', File.basename(dir), title.gsub(' ', '_') + '.mp4') webm = File.join(MEDIA_URL, 'videos', File.basename(dir), title.gsub(' ', '_') + '.webm') poster = File.join(MEDIA_URL, 'videos', File.basename(dir), 'poster.png') html += "
"
html += lines.join('
')
html += '
© pdp8 Creative Commons Attribution 4.0 International License' html += File.read(File.join(SNIPPETS, 'tail.html')) print_html 'videos', html end music_html video_html %w[about code pictures contact].each do |basename| file_html basename end last = (Dir[File.join(MEDIA_DIR, 'music', '*')] + Dir[File.join(MEDIA_DIR, 'videos', '*')]).sort_by { |d| File.basename(d) }.last.split('/')[-2] + '.html' puts `cp "#{File.join(WWW_DIR, last)}" "#{File.join(WWW_DIR, 'index.html')}"` [ 'pdp8.png', '540px-PDP-8_.jpg', 'style.css', 'slideshow.js', 'robots.txt' ].each { |f| puts `rsync -av "#{File.join(SNIPPETS, f)}" "#{WWW_DIR}"` }