# Custom code for 'pinned' widget class ::RuneBlog::Widget class Pinned def initialize(repo) @blog = repo @self = "pinned" @datafile = "list.data" end def _html_body(file, css = nil) # FIXME file.puts "" if css file.puts "
" file.puts " " file.puts " " end file.puts " " yield file.puts " \n" end def build @tmp = File.new("/tmp/debug-out", "w") posts = nil Dir.chdir(@blog.root/:posts) { posts = Dir["*"] } lines = File.exist?(@datafile) ? File.readlines(@datafile) : [] hash = {} @links = [] lines.each do |x| num, title = x.chomp.split(" ", 2) hash[num] = title pre = '%04d' % num nslug = posts.grep(/#{pre}-/).first name = nslug[5..-1] link = name+".html" @links << [title, link] end write_main write_card end def write_main tag = "pinned" card_title = "Pinned posts" # FIXME # setvar "card.title", card_title css = "* { font-family: verdana }" mainfile = "#@self-main" File.open("#{mainfile}.html", "w") do |f| _html_body(f, css) do f.puts "