#!/usr/bin/ruby # -*- encoding: utf-8 -*- require 'erb' contentsdir = 'contents.d/' tmpdir = 'template/' class Layout extend ERB::DefMethod def_erb_method('layout', 'template/layout.html.erb') def_erb_method('layout_top', 'template/layout-top.html.erb') end #Dir.foreach(contentsdir).grep(/.html$/) do |filename| Dir::glob(contentsdir + "*.html") do |filename| template = ERB.new(IO.read(filename),nil,'<>') newfile = open(File.basename(filename), "w") header_title_base = 'Vine Linux' if File.basename(filename) == "index.html" newfile.puts Layout.new.layout_top { template.result } else title=File.read(filename).grep(/h1 class=\"title/) if title[0] $header_title = header_title_base+' - '+title[0].gsub(/.*>(.*)<.*/,"\\1").chomp else $header_title = header_title_base end newfile.puts Layout.new.layout { template.result } end newfile.close end