ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ ΠΎΡΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ Liquid, Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠΈ is_haml?
Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²/ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Liquid ΠΈ HAML ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Haml ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Object#is_haml?
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° Haml. Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Liquid Π³Π΄Π΅-ΡΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠΎ... ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π΄Π°ΡΡ ΠΌΠ½Π΅ tar-Π°ΡΡ
ΠΈΠ² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Rails, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
@dewski - Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΡΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ ActionView Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΆΠΈΠ΄ΠΊΠΎΡΡΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠ°Ρ .
ΠΡΠΈΠΌΠ΅Ρ:
module LiquidFilters
include ActionView::Helpers::TagHelper
include ActionView::Helpers::UrlHelper
def mailto(address, name = nil)
mail_to(address, name, :encode => "javascript")
end
end
Liquid::Template.register_filter(LiquidFilters)
ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ...
Liquid error: undefined method `is_haml?' for #
ΠΡΠΎΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΎΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Haml::Helpers Π² ΠΌΠΎΠ΄ΡΠ»Ρ...
include Haml::Helpers
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,
ΠΡΠ²ΠΈΠ΄ ΠΠΎΠ»Π΄ΡΠΈΠ½
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ, Ρ ΠΏΡΠΎΠ²Π΅ΡΡ ΡΡΠΎ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΠΊ Π²Π°ΠΌ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΡΠ²ΠΈΠ΄, ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π― ΠΎΡΡΠ°Π²Π»ΡΡ ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΠ°ΡΠ°Π½ ΡΠ΅ΡΠΈΡ ΡΡΠΎ. ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Haml ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π»ΠΈ Liquid, ΠΈ Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ?
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΆΠΈΠ΄ΠΊΠΎΡΡΡΡ Π·Π΄Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ. ΠΠ°ΠΌ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅. Π― Π²ΡΠ΅ Π΅ΡΠ΅ Ρ ΠΎΡΠ΅Π» Π±Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Rails, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ Π²Π°Ρ...
git clone git://github.com/baldwindavid/liquidhaml.git
cd liquidhaml
rake db:setup
script/server
Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Β«ΠΠΎΠΊΠ°Π·Π°ΡΡΒ» Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°. Π’ΠΎΠ³Π΄Π° Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π°...
config/initializers/liquid.rb
Π Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ include Haml::Helpers
Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠ»ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Rails 2.3.5 ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ...
config.gem "haml", :version => "3.0.4"
config.gem "liquid", :version => "2.0.0"
ΠΠ°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,
ΠΡΠ²ΠΈΠ΄ ΠΠΎΠ»Π΄ΡΠΈΠ½
ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ. ΠΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π·Π°ΡΡΠΎΠ½ΡΡ ΡΡΠΈΠΌ, Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ, ΠΈ Ρ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΡΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @baldwindavid . Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ include Haml::Helpers ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@dewski - Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΡΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ ActionView Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΆΠΈΠ΄ΠΊΠΎΡΡΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠ°Ρ .
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ...
ΠΡΠΎΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΎΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Haml::Helpers Π² ΠΌΠΎΠ΄ΡΠ»Ρ...
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,
ΠΡΠ²ΠΈΠ΄ ΠΠΎΠ»Π΄ΡΠΈΠ½