source: projects/web/trunk/bin/layout.rb @ 8397

Revision 8397, 1.3 KB checked in by daisuke, 10 years ago (diff)

update to new web design

Line 
1#!/usr/bin/ruby
2# -*- encoding: utf-8 -*-
3require 'erb'
4
5contentsdir = 'contents.d/'
6tmpdir = 'tmp/'
7
8class Layout
9  require './bin/render_rss.rb'
10  include RenderRss
11  extend ERB::DefMethod
12  tmpldir = 'template/'
13  def_erb_method('layout', File.join(tmpldir, 'layout.html.erb'))
14  def_erb_method('layout_top', File.join(tmpldir, 'layout-top.html.erb'))
15  def_erb_method('layout_pkginfo', File.join(tmpldir, 'layout-pkginfo.html.erb'))
16  def_erb_method('layout_members', File.join(tmpldir, 'layout-members.html.erb'))
17end
18
19Dir::glob(File.join(contentsdir, "*.html")) do |filename|
20
21  template = ERB.new(IO.read(filename),nil,'<>')
22  filebasename = File.basename(filename)
23  newfile = open(File.join(tmpdir, filebasename), "w")
24
25  header_title_base = 'Vine Linux'
26 
27  layout = Layout.new
28 
29  case filebasename
30  when /index.html/
31    layout_type = "layout_top"
32  when /projectvine.html/
33    layout_type = "layout_members"
34  when /package-info.html/
35    layout_type = "layout_pkginfo"
36  else
37    layout_type = "layout"
38  end
39 
40  title=File.read(filename).lines.grep(/h1 class=\"title/).first
41  if title
42    $header_title = header_title_base+' - '+title.gsub(/.*>(.*)<.*/,"\\1").chomp
43  else
44    $header_title = header_title_base
45  end
46
47  newfile.puts layout.send(layout_type) { template.result }
48  newfile.close
49
50end
Note: See TracBrowser for help on using the repository browser.