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

Version Path
scarpe-0.4.0 examples/legacy/not_checked/good/_why-stories.rb
scarpe-0.3.0 examples/legacy/not_checked/good/_why-stories.rb
scarpe-0.2.2 examples/legacy/not_checked/good/_why-stories.rb
lacci-0.2.1 examples/legacy/not_checked/good/_why-stories.rb
scarpe-0.2.1 examples/legacy/not_checked/good/_why-stories.rb
scarpe-0.2.0 examples/legacy/not_checked/good/_why-stories.rb