私は HAML と CoffeeScript に非常に興奮しており、Rails 以外の環境でそれらを使用する方法を示すチュートリアルに取り組んでいます。したがって、haml には使いやすいコマンドライン ユーティリティがあります。
haml input.haml output.html.
そして、素晴らしいことに、 CoffeeScript を HAML ファイル内の JS に変換するカスタム フィルターを提供することを目的としたプロジェクト (多くのフォークの 1 つ: https://github.com/aussiegeek/coffee-haml-filter ) が存在します。残念ながら (何か足りないのでしょうか?)、haml では、コマンド ラインや構成ファイルでカスタム フィルターを指定することはできません。
私 (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
最初のrequireを除いて、これは非常に簡単です。
さて、質問は次のとおりです。
1)本当にそれを使用する必要がありますか、またはカスタムフィルターを使用してオンデマンドの HAML から HTML へのコンパイルを行う別の方法はありますか?
2) HAML 監視モードはどうですか? それは素晴らしく便利です。python
もちろん、ディレクトリの変更を監視してこのスクリプトを呼び出すポーリング スクリプトを作成することもできます.rb
が、それは汚いソリューションのように見えます。
Heikki による返信に加えて、私の解決策は次のとおりです: https://gist.github.com/759002
便利だと思ったら自由に使ってください