On Wed, Dec 17, 2008 at 3:38 PM, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
On Wed, Dec 17, 2008 at 3:12 PM, Vincent Massol
<vincent(a)massol.net> wrote:
>
> On Dec 17, 2008, at 3:07 PM, Thomas Mortagne wrote:
>
>> On Wed, Dec 17, 2008 at 3:02 PM, Vincent Massol
>> <vincent(a)massol.net>
>> wrote:
>>>
>>> On Dec 17, 2008, at 2:38 PM, Thomas Mortagne wrote:
>>>
>>>> On Wed, Dec 17, 2008 at 1:15 PM, Vincent Massol <vincent(a)massol.net
>>>> >
>>>> wrote:
>>>>>
>>>>> On Dec 17, 2008, at 12:57 PM, Lucien PEREIRA wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Working on annotation feature, I need to retrieve
>>>>>> xwiki document source code from a selection on XHTML.
>>>>>>
>>>>>> This requires to have a correspondence between content
>>>>>> typed by user and content that appears in html.
>>>>>>
>>>>>> I noticed in xwiki 2.0 synthax that white spaces typed
>>>>>> in a list item context are ignored :
>>>>>>
>>>>>> *<
>>>>>> space
>>>>>>>
>>>>>> <
>>>>>> space
>>>>>>> <
>>>>>>> space
>>>>>>>> <
>>>>>>>>
space><space>foo<space><space><space>bar<space><space><space>
>>>>>>
>>>>>> renders in XHTML
>>>>>>
>>>>>>
<li>foo<space> bar </li>
>>>>>>
>>>>>> so I could not determine the real offset of selection in xwiki
>>>>>> document source.
>>>>>
>>>>> There's another problem: leading spaces before list items and
>>>>> headers.
>>>>> We need to allow them (for several reasons, one of them is for
>>>>> supporting indenting velocity code when we have velocity mixed
>>>>> with
>>>>> wiki syntax). So in term of rendering they should be considered
>>>>> as a
>>>>> ListItemBlock and the spaces should not be rendered.
>>>>>
>>>>> One problem is when we go through the wysiwyg these spaces
>>>>> will be
>>>>> removed. Removing them for content not in macros is not such a
>>>>> big
>>>>> deal IMO (except for Lucien's use case but there are other
>>>>> ways of
>>>>> doing it for him). Removing them would be a problem when inside
>>>>> macros. Fortunately we don't touch at macro content for the
>>>>> moment.
>>>>>
>>>>>> This can be solved by not ignoring spaces so render become :
>>>>>>
>>>>>> <
>>>>>> li
>>>>>>>
>>>>>>  
>>>>>> ; 
>>>>>> ; 
>>>>>>
; foo<space> bar </
>>>>>> li>
>>>>>>
>>>>>> This policy of rendering already exists in underline or italic
>>>>>> context so it's strange to have a different behaviour in
list
>>>>>> item context.
>>>>>>
>>>>>> Moreover I think we should not suppose what content is
>>>>>> relevant for user or not, so source shouldn't be altered.
>>>>>
>>>>> We have to alter source in the case of badly formed content,
>>>>> as in
>>>>> "**bold". We also later for unisignificant escapes (as
with
>>>>> "~hello"'
>>>>> is transformed into "hello") + some other use cases
probably.
>>>>>
>>>>> Right now I don't have any idea of what to do differently. Only
>>>>> idea I
>>>>> could think of would be to have a parameter for list items and
>>>>> headers, passing to them the number of leading spaces, tabs, etc
>>>>> but I
>>>>> don't like this too much.
>>>>>
>>>>> I think the idea of leaving the content intact is not correct
>>>>> and
>>>>> we
>>>>> shouldn't expect that behavior for a wiki syntax. A wiki syntax
>>>>> needs
>>>>> to be as simple as possible for users to use. Allowing leading
>>>>> spaces
>>>>> go in that direction. OTOH I agree with Lucien that we've
>>>>> decided
>>>>> to
>>>>> make spaces in paragraph significant so it's not fully
>>>>> consistent.
>>>>>
>>>>> What do others think?
>>>>
>>>> I agree that it's not alway possible to respect the original
>>>> source
>>>> especially with useless escapes (~toto which become toto).
>>>>
>>>> Now in the case of list item content I think we should support it
>>>> because it's exactly the same context that space in a paragraph
>>>> and
>>>> such so it have to behave the same way for consistency.
>>>>
>>>> So +1 to support spaces at beginning of list item.
>>>
>>> Could you explain what you mean by "support spaces at begining of
>>> list
>>> item"?
>>
>> Yes it's not very clear: +1 for not removing first spaces of list
>> item
>> content. In other words +1 for changing the current behavior.
>
> This is still not clear.
>
> If we don't remove leading spaces is it still a list item?
>
> And if it's still a list item how do we implement this since lists
> are
> block elements?
>
> And what about spaces after the first space after the list item
> delimiters?
>
+1 for :
<#LI: (<SPACE>)* ( ("*")+ (":" | ";")* | (
"1" | "*" )+ "." (":" |
";")* | (":" | ";")+ ) (<SPACE>)* >
I mean
<#LI: (<SPACE>)* ( ("*")+ (":" | ";")* | (
"1" | "*" )+ "." (":" |
";")* | (":" | ";")+ ) (<SPACE>) >
ok, I'd agree with this one. It makes sense to me too.
Note for others: it still means that entering:
(space)(space)*(space)item
is transformed into:
*(space)item
for example when going from wysiwyg editor to wiki syntax.
Thanks
-Vincent
> in place of
>
> <#LI: (<SPACE>)* ( ("*")+ (":" | ";")* | (
"1" | "*" )+ "." (":" |
> ";")* | (":" | ";")+ ) (<SPACE>)+ >
>
>> Thanks
>> -Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org