Rack - Prosty parser haml
05 stycznia 2009Jakiś czas temu stwierdziłem, że przydała by mi się aplikacja do parsowania plików .haml podczas tworzenia designu dla strony. Z pomocą przyszedł rack.
Wszystko zakończyło się w 13 linijkach ;)
require "rack/response" require "haml" app = Proc.new do |env| path = env["REQUEST_URI"].sub("/", "") if path =~ /\.haml$/ [200, {"Content-type" => "text/html"}, Haml::Engine.new(File.read(path)).render] else Rack::File.new(Dir.pwd).call(env) end end run app
A wszystko odpalane poprzez:
thin start -R design.ru -p 9999
W przeglądarce wpisujemy np. "localhost:9999/foo/bar.haml" i zostanie wyrenderowany plik bar.haml z folderu foo. Pliki inne niż .haml nie zostaną zparsowane.
10 komentarzy
ruski design! ;p
Hm?
plik design.ru ;p
. . . brak mi słów :p
to zajrzyj do słownika, tam ich znajdziesz dużo
Proponuję StaticMatic jeżeli byś potrzebował czegoś bardziej rozwiniętego
Z okruchów: możesz skrócić …File.open(path).read… do …File.read(path)… i cały kod się będzie ładnie mieścił bez przewijania (przynajmniej na moich 1024 pikselach w poziomie).
@Shot As you wish :)
obacz sinatrę - http://www.sinatrarb.com/
@slss Znam sinatre, ale chcialem cos prostszego, a przy okazji pobawic sie troche z rackiem ;]