I would need some ideas for the differents modes names configuration.

Here are some proposals:
- "none": the one which do nothing (the current bahavior of velocity macro)
- "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

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

Reply via email to