# Custom code for 'pages' widget # How to update repl code? class ::RuneBlog::Widget class Pages Type, Title = "pages", "Pages" def initialize(repo) @blog = repo @datafile = "list.data" @lines = File.readlines(@datafile) @data = @lines.map {|x| x.chomp.split(/, */, 2) } end def build # build child pages children = Dir["*.lt3"] - ["pages.lt3"] children.each do |child| dest = child.sub(/.lt3$/, ".html") preprocess src: child, dst: dest end write_main write_card end def _html_body(file, css = nil) file.puts "" if css file.puts " " file.puts " " file.puts " " end file.puts " " yield file.puts " \n" end def write_main css = "body { font-family: verdana }" card_title = Title File.open("#{Type}-main.html", "w") do |f| _html_body(f, css) do f.puts "

#{card_title}



" url_ref = nil @data.each do |url, title| url_ref = "href = '#{url}'" css = "color: #8888FF; text-decoration: none; font-size: 21px" f.puts %[#{title}
] end end end end def write_card tag = Type url = :widgets/tag/tag+"-main.html" card_title = "Pages" # FIXME cardfile = "#{Type}-card" File.open("#{cardfile}.html", "w") do |f| f.puts <<-EOS
#{card_title}
EOS @data.each do |url2, title| f.puts "" url3 = :widgets/tag/url2 f.puts "" url_ref = %[href="javascript: void(0)" onclick="javascript:open_main('#{url3}')"] anchor = %[#{title}] wrapper = %[
  • #{anchor}
  • ] f.puts wrapper end f.puts <<-EOS
    EOS end end def edit_menu end def refresh end end end