On Sat, Jun 6, 2009 at 18:48, Vincent Massol<vincent(a)massol.net> wrote:
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
I did not test yet if we can have dot in in a property key. but I was
thinking of something more like
macro.velocity.filter
since it's not have to be a white space cleaner but it's specific to
velocity macro, anyone could code any kind of velocity macro content
filter.
?
(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
This is way too specific IMO, with a conf like that it's pretty
useless to have generic component to clean/filter velocity content.
Thanks
-Vincent
On Thu, Jun 4, 2009 at 17:24, Vincent
Massol<vincent(a)massol.net>
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
> <vincent(a)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(a)xwiki.org
>
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
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne