If I offer to implement block support, is there any interest in absorbing this
contribution into the codebase.
Here's what I intend to do,
1. Add a new directive called "blockmacro", along the same lines as macro,
subclassing behavior from the current macro processing both in the directive
and the JJT.
2. In order to render the content of the block, one could use a special context
variable called "yield", that could be customized as whatever in the properties.
The net definition would look something like,
#blockmacro strong
<strong>${yield}</strong>
#end
and usage would look like
#strong
This is a strong text for #if (${user.male}) Mr. #else Ms. #end
${user.name}.
#end
Regards,
Raghu.
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Subject: RE: Blocks in Velocimacros
> Date: Thu, 3 Jan 2008 17:49:07 -0500
>
> I think I will go the custom directive route.
>
> Thanks for all the pointers. I especially like the Hacking Velocity
> presentation - rather groovy. It addresses nearly all the issues I had.
>
> Raghu.
>
>
> > Date: Thu, 3 Jan 2008 14:37:35 -0800
> > From: [EMAIL PROTECTED]
> > To: [EMAIL PROTECTED]
> > Subject: Re: Blocks in Velocimacros
> >
> > Of course, you would then have to be sure to escape all " characters
> > in your body content:
> >
> > #set( $Q = '"' )
> >
> > #myForm( "
> > <!-- some ${Q}arbitrary${Q} -->
> > " )
> >
> > so that you don't prematurely end your $body parameter. this is
> > obviously not ideal, but may be easier than writing a custom
> > directive, depending on the specifics of your case(s).
> >
> > On Jan 3, 2008 2:35 PM, Nathan Bubna <[EMAIL PROTECTED]> wrote:
> > > Also note that as of Velocity 1.5, you can include line breaks in
> > > strings, making it reasonable (though not as pretty to do something
> > > like:
> > >
> > > #macro( myForm $body )
> > > <form...>
> > > $body
> > > </form>
> > > #end
> > >
> > > #myForm("
> > > <!-- some arbitrary html here -->
> > > ")
> > >
> > >
> > >
> > > On Jan 2, 2008 7:13 PM, Raghuram Rajah <[EMAIL PROTECTED]> wrote:
> > >
> > > > Can I use a block within a velocimacro? Basically, I am trying to
> > > > create a macro that will emit a XHTML tag with some javascript out. I
> > > > would hate to create a begin macro and an end macro to accomplish this.
> > > > That would be rather error prone.
> > > >
> > > > I would ideally like to do something like,
> > > >
> > > > #myForm(...)
> > > > <!-- some arbitrary html here -->
> > > > #end
> > > >
> > > > generating something like
> > > >
> > > > <form ....
> > > > <!-- some arbitrary html here -->
> > > > </form>
> > > >
> > > > Any suggestions would be greatly appreciated.
> > > >
> > > > Thanks,
> > > > Raghu.
> > > >
> > > > _________________________________________________________________
> > > > Share life as it happens with the new Windows Live.
> > > > http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_122007
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
> _________________________________________________________________
> i’m is proud to present Cause Effect, a series about real people making a
> difference.
> http://im.live.com/Messenger/IM/MTV/?source=text_Cause_Effect
_________________________________________________________________
Watch “Cause Effect,” a show about real people making a real difference.
http://im.live.com/Messenger/IM/MTV/?source=text_watchcause