11

compassとで遊び始めたのは今日だけですhamlsass私はその仕組みにかなり精通しており、それが何compassのためにあり、どのように使用されるかを理解していますが、効率的sassに使用することになると、少し障害にぶつかりました.haml

もちろん、ここにいる誰かが私の問題に対する答えをすでに知っていて、haml.

私が達成したいことは次のとおりです。保存時に HAML ファイルを自動コンパイルします。

phpただし、このプロジェクトは、後で ExpressionEngine CMS (ベース ソリューション)に統合するためのテンプレート セットを構築するための小さな静的サイト (数ページ) にすぎません。

haml watchしたがって、HAML を使用して最初の「HTML/CSS へのデザイン」プロセスを単純にスピードアップすることを念頭に置いて、HAML ファイルを HTML に自動コンパイルする良い方法は何か、基本的には自分で実行できるコマンドを提供してくれるものです。事業?

このようなものもありますか?

私が実行しているプラ​​ットフォームについては、OS X 10.6.6 を実行している Mac を持っています。

読んでくれてありがとう、アイデア、提案、助けをいただければ幸いです。

4

6 に答える 6

7

@Jacobと@Jonathanの両方に感謝します。最終的には、どちらのアプローチも使用せず、使用することmiddlemanなりました。したがって、私自身の質問に対する答えです。

同様の質問を念頭に置いてこのトピックを読んでいる人にとって、私がmiddlemanとても好きな理由は、ワークフロー全体を1つのミニサーバーアプリに効果的に結合するためです。ディレクトリを使用するmm-ini project_nameと、mm-serverCompass、HAML、SASSにすぐにアクセスでき、いつでもプレーンhtmlに出力することができます。

詳細は次のとおりです:http middleman//middlemanapp.com/

StaticmaticとNanocもHAMLを実行しますが、私が知る限り、「すぐに使える」コンパス(SASS)コンパイルをサポートしていません。これは、一部の人にとっては良い面かもしれませんが、私にとってはそうではありませんでした。

繰り返しになりますが、あなたの答えに感謝しますが、これが私が最終的に従うことを選んだ答えです。

于 2011-04-20T08:24:14.597 に答える
3

Ruby がインストールされている場合は、watchr gem を使用できます。

ここで見つけたちょっとした素敵なスクリプトの助けを借りて、haml ファイルへの変更を認識するプロセスを開始できます。

その下に、カスタマイズした watchr.rb があります。

def compile_haml
  %x[haml index.haml index.html]
end

def do_growl(message)
  growlnotify = `which growlnotify`.chomp
  title = "Watchr Message"
  passed = message.include?('0 failures, 0 errors')
  image = passed ? "~/.watchr_images/passed.png" : "~/.watchr_images/failed.png"
  severity = passed ? "-1" : "1"
  options = "-w -n Watchr --image '#{File.expand_path(image)}'"
  options << " -m '#{message}' '#{title}' -p #{severity}"
  system %(#{growlnotify} #{options} &)
end

do_growl "Watching folders and waiting for changes..."

watch(".*\.haml$") { |x|
  compile_haml
  do_growl "Compiled HAML!"
}

唸り声がインストールされていない場合は、その部分をそのままにしておきます

于 2012-12-17T08:33:38.037 に答える
2

StaticMaticは、HAML で静的 Web サイトを構築するのに非常に適していることがわかりました。

于 2011-04-13T13:01:10.263 に答える
1

もう少しマニュアルが必要かもしれませんが、いつでもfs-events gem をインストールして、次のようなことを行うことができます。

require 'rb-fsevent'
require "open3"

include Open3

fsevent = FSEvent.new
fsevent.watch Dir.pwd do |directories|
  puts "Detected change inside: #{directories.inspect}"
  popen3('haml',
         '..parameters..',
         '..parameters..') do |stdin, stdout, stderr|
    stdout.read.split("\n").each do |line|
      puts line
    end
  end
end
fsevent.run

オブジェクトの値を使用して、変更されたファイルdirectoriesで実行可能ファイルを呼び出しhamlます。

于 2011-04-13T12:58:21.163 に答える
1

Codekit は私が使用するものです。これは素晴らしいもので、SASS、Compass、HAML などを処理します。

于 2012-10-08T11:02:02.943 に答える
1

探していたものが見つかったようですがmiddleman、すべての人にとって完璧なソリューションではない可能性があるため、別のアプローチを投稿します。私のアプローチでは Rake を使用します。ファイルが変更されるたびに、sass (またはコンパス) および haml ファイルを再コンパイルする「監視」タスクを含む単純な rakefile を作成しました。さらに、ブラウザのプレビューをリロードします:)(仲買人がそれを実行できるかどうかはわかりません)。

rakefile は github にあります: https://gist.github.com/1635301/

于 2012-01-19T19:22:31.843 に答える