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

Reply via email to