Sha256: 792ca5b61664c134e32a065b18c5437533035932de85380d8027d3194c89524a
Contents?: true
Size: 870 Bytes
Versions: 1
Compression:
Stored size: 870 Bytes
Contents
require 'rubygems' require 'json/pure' use Rack::Static, :root => File.dirname(__FILE__), :urls => %w(/vendor/css /vendor/lib /config.json /vendor/themes /vendor/images) map '/' do run Proc.new { |env| [ 200, { 'Content-Type' => 'text/html', 'Cache-Control' => 'public, max-age=86400' }, [File.read('index.html')] ] } end map '/slides.json' do run Proc.new { |env| slides = Dir['slides/*[.html,.md,.markdown]'] slides = slides.inject({}) do |result, slide| noext, name = File.basename(slide, File.extname(slide)), File.basename(slide) result[name] = {:markup => File.read(slide)} result[name][:script] = File.read("slides/#{noext}.js") if Dir["slides/#{noext}.js"].any? result end [ 200, { 'Content-Type' => 'application/x-json', 'Pragma' => 'no-cache' }, [slides.to_json] ] } end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shining-2.0.1 | lib/config.ru |