On Dec 17, 2008, at 3:39 PM, Thomas Mortagne wrote:
> On Wed, Dec 17, 2008 at 3:38 PM, Thomas Mortagne
> <[email protected]> wrote:
>> On Wed, Dec 17, 2008 at 3:12 PM, Vincent Massol
>> <[email protected]> wrote:
>>>
>>> On Dec 17, 2008, at 3:07 PM, Thomas Mortagne wrote:
>>>
>>>> On Wed, Dec 17, 2008 at 3:02 PM, Vincent Massol
>>>> <[email protected]>
>>>> wrote:
>>>>>
>>>>> On Dec 17, 2008, at 2:38 PM, Thomas Mortagne wrote:
>>>>>
>>>>>> On Wed, Dec 17, 2008 at 1:15 PM, Vincent Massol <[email protected]
>>>>>> >
>>>>>> 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
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs