On Jun 6, 2009, at 6:02 PM, Thomas Mortagne wrote: > I would need some ideas for the differents modes names configuration.
What's the config param name? Any proposal? rendering.velocity.whitespaceMode ? (provided dots work, if not: velocityMacro.whitespaceMode for ex) > Here are some proposals: > - "none": the one which do nothing (the current bahavior of velocity > macro) sounds good. > - "html"/"compact"/"full" (I don't really like any of theses): the B2 > behavior, i.e. replace whites spaces/new lines groups by a space > (which looks like html behavior and so "html" mode name) and inject > $nl and $sp binding in velocity context "html" sounds good to me since it's the HTML behavior. Another idea: use a config param name of: stripWhitespace = none, all Thanks -Vincent > On Thu, Jun 4, 2009 at 17:24, Vincent Massol<[email protected]> > wrote: >> >> On Jun 4, 2009, at 5:23 PM, Ludovic Dubost wrote: >> >>> +1 Sounds good to me >>> >>> Will this change make the macros behave like they are today ? Or >>> will we >>> have a slight change behavior in default mode ? >> >> Default will become B2 so it'll be different. If you want the same >> behavior you'll need to change your xwiki.properties file to >> specify a >> different default mode. >> >> -Vincent >> >>> Ludovic >>> >>> Vincent Massol a écrit : >>>> Hi, >>>> >>>> We really need to close this before 1.9 final. After discussing it >>>> with Thomas here's what we propose: >>>> >>>> * Introduce a "mode" parameter to the Velocity macro. It's a >>>> cleaning mode. >>>> * Implement 2 modes for now: >>>> - the current mode where no cleaning is done >>>> - the B2 mode as defined below (using $nl and $sp) >>>> * Introduce a xwiki.properties config to define the default mode >>>> (which would be B2 by default for now) >>>> >>>> This allows users who are already using the 2.0 syntax today to >>>> keep >>>> using the current mode. It also allows us to introduce new cleaning >>>> mode later on (such as the one Ludovic wanted). >>>> >>>> WDYT? >>>> >>>> Here's my +1 >>>> >>>> Thanks >>>> -Vincent >>>> >>>> PS: Please answer ASAP since 1.9 is supposed to be today and Thomas >>>> will need a few hours to implement this. >>>> >>>> On Thu, Apr 16, 2009 at 3:56 PM, Vincent Massol >>>> <[email protected]> wrote: >>>> >>>>> Hi devs, >>>>> We need to come to a conclusion for handling New Lines(NL) and >>>>> white spaces >>>>> (WS) in HTML and Velocity Macro. >>>>> If you remember from http://markmail.org/thread/mhqhxnz5twhev5se >>>>> the current >>>>> problem is that we cannot indent scripts since WS and NL are >>>>> meaningful. >>>>> I'd like to reiterate the proposal that was sent but not enough >>>>> people voted >>>>> on it (only Thomas did). >>>>> A) For the HTML macro, we propose to make the following changes: >>>>> - strip NL/WS between elements (elements that don't accept CDATA) >>>>> - strip leading/trailing NL/WS for element content before passing >>>>> them to >>>>> the wiki syntax parser >>>>> B) for the Velocity macro we have 2 choices I can think of: >>>>> 1) strip all leading spaces for all lines (but keep NL) >>>>> Note that this means that inside a velocity macro you wouldn't be >>>>> able to >>>>> have a line break with the new line starting with spaces without >>>>> escaping >>>>> the leading space with ~(space). >>>>> Note also that this means we will not be able to add extra new >>>>> lines to >>>>> format the text nicely (since that would add new paragraphs) or >>>>> split a >>>>> single line into several lines for extra readability. This is the >>>>> case today >>>>> with the old syntax and it's a pain not to be able to aerate the >>>>> text with >>>>> empty lines. >>>>> Ex: >>>>> some text >>>>> ~ next line #if (...) this goes on the same line >>>>> #something(...) #end >>>>> This is a new paragraph >>>>> In this example notice that we need the velocity #if to be on the >>>>> same line >>>>> since NL are significant. >>>>> 2) strip all leading spaces for all lines + remove all NL too. >>>>> This means we need to ensure we still have one space remaining >>>>> between >>>>> "words" (same as HTML). >>>>> The user would use something like $nl and $sp to explicitely enter >>>>> new lines >>>>> and spaces. >>>>> The advantage is that you control completely the formatting (no >>>>> magic >>>>> anymore) at the cost of a little extra work (adding the $nl where >>>>> required). >>>>> Basically this means the same pros/cons as when you work with HTML >>>>> where you >>>>> need to explicitly add <br/> when you want new lines. >>>>> Ex: >>>>> some text $nl >>>>> $sp next line >>>>> #if (...) >>>>> this goes on the same line >>>>> #something(...) <-- this is also on the same line >>>>> #end >>>>> $nl $nl >>>>> This a new paragraph >>>>> Note: I've aerated the text by putting extra new lines around the >>>>> velocity >>>>> #if to show that it would work. >>>>> 3) Same as 1) + strip 1 NL (i.e. line breaks) and only allow >>>>> "forced" line >>>>> breaks with "\\". >>>>> The exact algorithm is: if there's 1 NL remove it, if there's more >>>>> than 1 >>>>> leave them. >>>>> Ex: >>>>> some text\\ >>>>> ~ next line >>>>> #if (...) >>>>> this goes on the same line >>>>> #something(...) <-- this is also on the same line >>>>> #end >>>>> This a new paragraph >>>>> I'm +1 for A) >>>>> For B) I think the most flexible is 2) but I'm wondering if it's >>>>> too big a >>>>> change for our users or not. If not 2) then 3). >>>>> Thanks >>>>> -Vincent >>>>> >>>>> >>>> _______________________________________________ >>>> devs mailing list >>>> [email protected] >>>> http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >>> >>> >>> -- >>> Ludovic Dubost >>> Blog: http://blog.ludovic.org/ >>> XWiki: http://www.xwiki.com >>> Skype: ldubost GTalk: ldubost >>> >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > > > > -- > Thomas Mortagne > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

