Pizza is good but I think jelly beans will make a better bribe.

Hunt & pecked on my iPhone... Sorry if it's brief!

On Nov 23, 2008, at 4:11 PM, railsjedi <[EMAIL PROTECTED]> wrote:

>
> As per Nathan's comments, I've rebased and update the commit to
> include everything needed for universal interpolation into a single
> commit:
> http://github.com/jcnetdev/haml/commit/7cf76917cfd21272ce41f00276a7d78dbd4f54a2
>
> Additional comments welcome. If this gets added to Haml, I promise
> I'll scour all the documentation and make sure to both document the
> new change, and update existing docs so they are compatible. AND I'll
> buy Nathan a pizza if he includes this patch into his repository :-)
>
>
> On Nov 22, 10:48 pm, railsjedi <[EMAIL PROTECTED]> wrote:
>> The change for universal interpoliation has been implemented 
>> here:http://gist.github.com/jcnetdev/haml/commit/55b0bb02572e8387fbf7b96d0 
>> ...
>>
>> This change allows any static text line with #{} in it to be
>> interpreted the same as if ==. It's done in the precompiler so it
>> should be wicked fast.
>>
>> It was actually really easy to hook into the precompiler. Since we're
>> already doing this functionality for filters, I was able to use the
>> same helpers and apply it to lines of static text.
>>
>> It includes 6 unit tests that verifies the functionality it every
>> scenario. Also, it includes a test that verifies escaped #{} display
>> as normal.
>>
>> This change allows any static text line with #{} in it to be
>> interpreted the same as if ==. It's done in the precompiler so it
>> should be wicked fast.
>>
>> It also works with auto-html escaping. So if you include an &, if
>> there's an #{} in that line, it will work that same as if it were an
>> &==.
>>
>> I think %#{tag_name}= wouldn't be expected behavior because its not  
>> in
>> a content block. Just like no one will expect %div{#{attr_name} =>
>> "blah"} to work. Haml seems to have an extremely clear separation
>> between tag definition and content.
>>
>> Would love to get your guys thought on this change. I think it's an
>> hugely positive one as it'll make haml documents amazingly simple for
>> interpolation.
>>
>> Thanks
>>
>> -Jacques
>>
>> On Oct 12, 11:43 am, Nathan Weizenbaum <[EMAIL PROTECTED]> wrote:
>>
>>> I'm also a little worried about people taking it too far... someone
>>> recently posted a message about %#{tag_name}= ..., and I think  
>>> allowing
>>> #{} to be ubiquitous within text would do more to encourage that.
>>
>>> Chris Eppstein wrote:
>>>> Yes, if you change your double quotes to single quotes.
>>
>>>> But \#{h @user.name} is more straight forward and already  
>>>> supported in
>>>> == mode.
>>
>>>> Btw, I'm still +1 on this despite the need to occasionally escape.
>>>> Unfortunately, the fact that escaping is necessary means that it is
>>>> not a backwards compatible change.
>>
>>>> chris
>>
>>>> On Sep 30, 5:13 pm, Lawrence Pit <[EMAIL PROTECTED]> wrote:
>>
>>>>>   An example interpolation is #{h @user.name}
>>
>>>>> could be escaped as:
>>
>>>>>   An example interpolation is #{ "#{h @user.name}" }
>>
>>>>> Lawrence
>>
>>>>>> It should be noted that doing so would create a need for  
>>>>>> escaping the
>>>>>> #{ sequence if it occurs naturally in text.
>>
>>>>>> Chris
>>
>>>>>> On Sep 30, 4:45 pm, Lawrence Pit <[EMAIL PROTECTED]> wrote:
>>
>>>>>>> That's how I do it as well... I rarely use the == syntax. Only  
>>>>>>> in cases
>>>>>>> like these:
>>
>>>>>>>   == Hello #{h @user.name},
>>
>>>>>>> which is nicer compared to:
>>
>>>>>>>   Hello
>>>>>>>   = succeed ',' do
>>>>>>>     = h @user.name
>>
>>>>>>> But of course simply this is even nicer:
>>
>>>>>>>   Hello #{h @user.name},
>>
>>>>>>> As indeed is already possible when defined within a filter  
>>>>>>> block.
>>
>>>>>>> I vote +1 on the proposal.
>>
>>>>>>> Lawrence
>>
>>>>>>>> While I don't find anything conceptually wrong and would even  
>>>>>>>> +1 this
>>>>>>>> because there's times it would be convenient, I simply do this:
>>
>>>>>>>> http://gist.github.com/13840
>>
>>>>>>>> -chris
>>
>>>>>>>> On Sep 30, 6:16 am,JacquesCrocker<[EMAIL PROTECTED]> wrote:
>>
>>>>>>>>> In the process of bombarding the world with open source haml  
>>>>>>>>> rails
>>>>>>>>> apps (see here, here, here), I've definitely noticed a few  
>>>>>>>>> small
>>>>>>>>> things haml could do to increase the readability of haml  
>>>>>>>>> view code.
>>
>>>>>>>>> The most important one that I would like to suggest is some  
>>>>>>>>> kind of
>>>>>>>>> universal interpolation of #{} without the requirement of  
>>>>>>>>> beginning
>>>>>>>>> the line with ==. I've been using == so much lately that its  
>>>>>>>>> starting
>>>>>>>>> to look pretty ugly. Seems like it would help a lot if that  
>>>>>>>>> it was the
>>>>>>>>> standard. So my question to haml users is: what would be the  
>>>>>>>>> speed and
>>>>>>>>> functionality implications of allowing #{} to be used  
>>>>>>>>> anywhere without
>>>>>>>>> the requirement of ==?
>>
>>>>>>>>> Here's a quick code example:http://gist.github.com/13805
>>
>>>>>>>>> I imagine automatically treating every static content line  
>>>>>>>>> as if it
>>>>>>>>> were a == would make haml an order of magnitude slower. The  
>>>>>>>>> trick
>>>>>>>>> would be to specifically recognize the existence of #{} in  
>>>>>>>>> content
>>>>>>>>> blocks (hopefully via a super fast content eval) and  
>>>>>>>>> automatically
>>>>>>>>> turn the evaluation of that line to ==.
>>
>>>>>>>>> I spent a little time looking at the the haml codebase to  
>>>>>>>>> verify my
>>>>>>>>> findings but things haven't clicked for me yet. Would love any
>>>>>>>>> feedback from someone who has a better handle on the parser  
>>>>>>>>> on whether
>>>>>>>>> this is possible without a huge problem in performance.  
>>>>>>>>> Aside from the
>>>>>>>>> implementation details, is there anyone who would object  
>>>>>>>>> functionality-
>>>>>>>>> wise to being able to use #{} anywhere in normal content  
>>>>>>>>> blocks? Since
>>>>>>>>> #{} is a rarely used html token I don't think it would  
>>>>>>>>> conflict with
>>>>>>>>> peoples existing view code. And since this type of automatic
>>>>>>>>> interpolation is already done by default within Filters, it  
>>>>>>>>> seems a
>>>>>>>>> natural extension to use it in normal content blocks.
>>
>>>>>>>>> Would love feedback on anything regarding the idea or  
>>>>>>>>> implementation
>>>>>>>>> challenges. Maybe I'm way off base here, but if it sounds like
>>>>>>>>> something that had a remote chance to be added to haml core,  
>>>>>>>>> I can do
>>>>>>>>> some hacking on a fork and see how it goes.
>>
>>>>>>>>> Thanks
>>
>>>>>>>>> -Jacques
>>>>>>>>> railsjedi.com
>>
>>
> >

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