require 'rubygems'
require 'erector'
require "#{File.dirname(__FILE__)}/sitegen"
require 'fileutils'
require 'bluecloth'
class Layout < Erector::Widget
def content
html do
head do
link :rel => "stylesheet",
:type => "text/css",
:href => "./screen.css"
rawtext %(
)
end
body do
div :id => 'top' do
div :id => 'main_navigation' do
main_navigation
end
end
div :id => 'middle' do
div :id => 'main_content' do
main_content
end
end
div :id => 'bottom' do
end
end
end
end
def main_navigation
ul do
li { link_to "Documentation", SyntacticRecognition, Documentation }
li { link_to "Contribute", Contribute }
li { link_to "Home", Index }
end
end
def main_content
end
end
class Index < Layout
def main_content
bluecloth "index.markdown"
end
end
class Documentation < Layout
abstract
def main_content
div :id => 'secondary_navigation' do
ul do
li { link_to 'Syntax', SyntacticRecognition }
li { link_to 'Semantics', SemanticInterpretation }
li { link_to 'Using In Ruby', UsingInRuby }
li { link_to 'Advanced Techniques', PitfallsAndAdvancedTechniques }
end
end
div :id => 'documentation_content' do
documentation_content
end
end
end
class SyntacticRecognition < Documentation
def documentation_content
bluecloth "syntactic_recognition.markdown"
end
end
class SemanticInterpretation < Documentation
def documentation_content
bluecloth "semantic_interpretation.markdown"
end
end
class UsingInRuby < Documentation
def documentation_content
bluecloth "using_in_ruby.markdown"
end
end
class PitfallsAndAdvancedTechniques < Documentation
def documentation_content
bluecloth "pitfalls_and_advanced_techniques.markdown"
end
end
class Contribute < Layout
def main_content
bluecloth "contributing_and_planned_features.markdown"
end
end
Layout.generate_site