+1

Thanks,
Marius

Thomas Mortagne wrote:
> Hi devs,
> 
> The chosen filter (B2) is becoming more and more complex (I had to
> code an almost complete velocity parser to support it correctly) and
> after some more usability tests from Vincent it does not look so good
> after all.
> 
> I coded a very simple parser (based on another of the ideas listed)
> which only take care of indentation: basically it mean it remove all
> first white spaces of each line. Vincent tested it and use ## to
> aerate code and actually it looks pretty good. See
> http://pastebin.com/m4a681aaf for example (the B2 based one is
> http://pastebin.com/m17149f85) and most of all it's just one line a
> code, a simple and quick regexp replaceAll.
> 
> So i propose to put the new filter as default filter.
> 
> WDYT ?
> 
> Here is my +1
> 
> On Thu, Jun 4, 2009 at 12:54, Vincent Massol<vinc...@massol.net> wrote:
>> 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 <vinc...@massol.net> 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
>> devs@xwiki.org
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
> 
> 
> 
_______________________________________________
devs mailing list
devs@xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to