Sha256: ecd8374fff846c4bad7ea3931c8285b363db7ab9cb214e71e9d36919136c7b8a
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
module TimelineSetter class Timeline attr_reader :timeline # Instantiate a new timeline from an events # array created in Parser#initialize def initialize(events) @events = events end # Convert human dates to timestamps, sort the hash by timestamp, and # convert the events hash to JSON to stick into our HTML. def to_json @events.each {|r| r[:timestamp] = Time.parse(r[:date]).to_i * 1000 } @events.to_json end def timeline_markup tmpl("timeline-markup.erb") end # Create timeline HTML by interpolating events hash into an ERB template. # Re-template timeline by editing ../templates/timeline.erb # This version preserves external links to CSS and JS. def timeline @timeline = tmpl("timeline.erb") end # Create a minified one-page version of a timeline by minifying CSS and JS and embedding all assets # into our ERB template. def timeline_min @js = "" @css = Kompress::CSS.new(File.open("#{TimelineSetter::ROOT}/public/stylesheets/timeline-setter.css").read).css libs = Dir.glob("#{TimelineSetter::ROOT}/public/javascripts/vendor/**") libs.each { |lib| @js << File.open(lib,'r').read } @min_html = Kompress::HTML.new(timeline_markup).html @js << Closure::Compiler.new.compile(File.open("#{TimelineSetter::ROOT}/public/javascripts/timeline-setter.js", 'r')) @timeline = tmpl("timeline-min.erb") end def tmpl(tmpl_file) ERB.new(File.open("#{TimelineSetter::ROOT}/templates/#{tmpl_file}").read).result(binding) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
timeline_setter-0.1.2 | lib/timeline_setter/timeline.rb |
timeline_setter-0.1.1 | lib/timeline_setter/timeline.rb |