teamon.eu

blah blah blah

Rack - Prosty parser haml

05 stycznia 2009

Kategorie:

Tagi:

  • Rack
  • Ruby

Jakiś 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

  • Moarc/J-23 05 stycznia 2009 07:27:12

    ruski design! ;p

  • Teamon 05 stycznia 2009 09:10:14

    Hm?

  • Moarc/J-23 05 stycznia 2009 09:10:27

    plik design.ru ;p

  • Teamon 05 stycznia 2009 09:11:19

    . . . brak mi słów :p

  • Moarc/J-23 05 stycznia 2009 09:11:57

    to zajrzyj do słownika, tam ich znajdziesz dużo

  • alfanick 05 stycznia 2009 14:50:04

    Proponuję StaticMatic jeżeli byś potrzebował czegoś bardziej rozwiniętego

  • Shot 06 stycznia 2009 20:38:08

    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).

  • teamon 06 stycznia 2009 20:51:59

    @Shot As you wish :)

  • slss 24 marca 2009 13:51:26

    obacz sinatrę - http://www.sinatrarb.com/

  • teamon 24 marca 2009 14:53:24

    @slss Znam sinatre, ale chcialem cos prostszego, a przy okazji pobawic sie troche z rackiem ;]

Zostaw komentarz

code