Я очень взволнован по поводу HAML и CoffeeScript и работаю над учебным пособием, показывающим, как использовать их в среде без Rails.Итак, у haml есть простая в использовании утилита командной строки
haml input.haml output.html.
И, что здорово, существует проект (один из многих форков: https://github.com/aussiegeek/coffee-haml-filter), направленный на предоставление настраиваемого фильтра, который преобразует CoffeeScriptв JS внутри файлов HAML. К сожалению (или я что-то упустил?) haml не позволяет указывать пользовательские фильтры в командной строке или с каким-либо файлом конфигурации.
I (не фанат Ruby или даже незнающийему достаточно) удалось решить его (основываясь на каком-то умном предложении где-то на SO) с помощью этого вспомогательного скрипта: haml.rb
require 'rubygems'
require 'active_support/core_ext/object/blank'
require 'haml'
require 'haml/filters/coffee'
template = ARGV.length > 0 ? File.read(ARGV.shift) : STDIN.read
haml_engine = Haml::Engine.new(template)
file = ARGV.length > 0 ? File.open(ARGV.shift, 'w') : STDOUT
file.write(haml_engine.render)
file.close
Что довольно просто, за исключением требований в начале.
Теперь возникают вопросы:
1) действительно ли я должен его использовать или есть другой способ компиляции HAML в HTML по требованию с пользовательскими фильтрами?
2) Как насчетHAML режим просмотра?Это здорово и удобно.Конечно, я могу создать скрипт опроса в python
, который будет следить за изменениями в каталоге и вызывать этот скрипт .rb
, но он выглядит как грязное решение.
В дополнение к ответу отХейкки , мое решение следующее: https://gist.github.com/759002
Не стесняйтесь использовать, если вы найдете это полезным