To wrap this up, I posted a simple how-to on my blog, combining  
Nathan, Hampton, and Evgeny's comments:

http://calicowebdev.com/blog/show/11

If you're ever in need of writing a Haml filter, I hope this gets you  
underway faster :)

--steve

On Apr 7, 2007, at 8:39 PM, Hampton wrote:

>
> This may not even be worth mentioning, but you can do this.
>
> Haml::Template.options[:filters] = {
>                      :inline_javascript => InlineJavascriptFilter,
>                      :tip_builder         => TipFilter
>                   }
>
> Just to show the built-out syntax.
>
> -hampton.
>
> On 4/7/07, Nathan Weizenbaum <[EMAIL PROTECTED]> wrote:
>>
>> Yes, you can define filters via the options hash. From the options
>> section of the Haml reference:
>>
>> :filters
>>     A hash of filters that can be applied to Haml code. The keys  
>> are the
>>     string names of the filters; the values are references to the
>>     classes of the filters. User-defined filters should always have
>>     lowercase keys, and should have:
>>
>>         * An initialize method that accepts one parameter, the  
>> text to
>>           be filtered.
>>         * A render method that returns the result of the filtering.
>>
>> So you can set Haml::Template.options[:filters] 
>> ['inline_javascript'] =
>> InlineJavascriptFilter or whatever.
>>
>> As to the newline conversion issue, I have no idea what's up with  
>> that.
>> It could have something to do with the way you added the filter...  
>> try
>> adding it using options, and see if it works.
>>
>> - Nathan
>>
>> s.ross wrote:
>>> I wrote my first Haml filter but I hacked it into the code. Is there
>>> an "approved" way of adding rather than hacking?
>>>
>>> Also, I want to use the filter like this:
>>>
>>> :inline_javascript
>>>    function onLoad()
>>>    {
>>>      doSomething();
>>>    }
>>>
>>> and have the results come out:
>>>
>>> <script type="text/javascript">
>>> //<!CDATA[
>>>    function onLoad()
>>>    {
>>>      doSomething();
>>>    }
>>> //]]>
>>> </script>
>>>
>>> All this works but I get the newline conversion to &#x000A;. How  
>>> do I
>>> convince Haml not to perform this conversion?
>>>
>>> Thanks,
>>>
>>> Steve
>>>
>>>>
>>>
>>>
>>
>>
>>>
>>
>
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to