I make a lot of use of merb-jquery's 'jquery' helper, which just
accumulates snippets of javascript to be output all at once, e.g., in
a document ready event.
To use it with haml, I generally need to do:
- jquery do
:plain
$('#id').function();
While not necessary for the simple case, any script that has
indentation, etc., must be run through the plain filter or haml
complains about nested indentation, etc.
For aesthetics, I tried to create a custom filter that combines the
helper call and the plain filter, so I can just do:
:jquery
$('#id').function();
Right now, the precompiled source output looks basically the same to
me, but I'm not getting any output (nothing at all) when I use the
custom filter. The filter is defined as follows:
module Haml
module Filters
module JQuery
include Base
def compile(precompiler, text)
precompiler.instance_eval do
return if options[:suppress_eval]
push_silent "jquery do"
push_script
"find_and_preserve(#{unescape_interpolation(text)})", false
push_silent "end"
end
end
end
end
end
As best I can tell, the Engine.precompiled output is the same for both
cases, so I'm not sure what I'm doing wrong. Any ideas?
Thanks,
-Dan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---