Sha256: 1cb43f9e98b478dc859c5a6b7cea62e4187eb664579fe4b8e4b075d7ff4f607d
Contents?: true
Size: 1.04 KB
Versions: 6
Compression:
Stored size: 1.04 KB
Contents
require 'yaml' class Book < Shoes url '/', :index url '/incidents/(\d+)', :incident def index incident(0) end #INCIDENTS = YAML.load_file("good/good-stories.yaml") INCIDENTS = YAML.load_file("#{DIR}/samples/good/_why-stories.yaml") def table_of_contents toc = [] INCIDENTS.each_with_index do |(title, story), i| toc.push "(#{i + 1}) ", link(title, :click => "/incidents/#{i}"), " / " end toc.pop span *toc end def incident(num) num = num.to_i background white stack :margin => 10, :margin_left => 190, :margin_top => 20 do banner "Incident", :margin => 4 para strong("No. #{num + 1}: #{INCIDENTS[num][0]}"), :margin => 4 end flow :width => 180, :margin_left => 10, :margin_top => 0 do para table_of_contents, :size => 8 end stack :width => -190, :margin => 10, :margin_top => 0 do INCIDENTS[num][1].split(/\n\n+/).each do |p| para p end end end end Shoes.app :width => 640, :height => 700, :title => "Incidents, a Book"
Version data entries
6 entries across 6 versions & 2 rubygems