A) +1
B) +1 for 2)

On Thu, Apr 16, 2009 at 15:56, 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
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to