On Apr 9, 2010, at 2:54 PM, Andreas Jonsson wrote:

> Vincent Massol wrote:
>> On Apr 9, 2010, at 2:14 PM, Andreas Jonsson wrote:
>> 
>> 
>>> Hi,
>>> 
>>> I prefer a solution where the end token is changed rather than
>>> the content.  Look at the embedded parser construction in
>>> MoinMoin syntax for an example.
>>> 
>>> I instead propose to introduce an instruction to the parser in
>>> the start-tag to expect a different end token.  Something like:
>>> 
>>> {{foo #endtag:foobar}}
>>> content
>>> {{/foo}}
>>> still content
>>> {{/foobar}}
>>> 
>> 
>> Not a bad idea. It would be backward compatible too.
>> 
>> 
>>> For verbatim we could use the same technique as MoinMoin, either:
>>> 
>>> {{{{
>>> content
>>> }}}
>>> more content
>>> }}}}
>>> 
>>> or:
>>> 
>>> {{{arbitrarystringofalphanumerics
>>> content
>>> }}}
>>> more content
>>> arbitrarystringofalphanumerics}}}
>>> 
>> 
>> This would change our syntax since right now we can write: {{{hello}}}
>> 
>> Your solution would loose the ability to have inline verbatim.
>> 
> 
> I am not proposing that this style is used for inlined verbatim only for 
> blocks.  So the start token is only a start token if it stands on a line 
> by itself outside of any pargraph.

So what would be your solution for inline verbatim (i.e. to be able to write: 
{{{...}}}...}}})?

Thanks
-Vincent

> 
> Best regards,
> 
> Andreas Jonsson
>> Thanks
>> -Vincent
>> 
>> 
>>> Best regards,
>>> 
>>> Andreas Jonsson
>>> 
>>> 
>>> Thomas Mortagne wrote:
>>> 
>>>> Hi devs,
>>>> 
>>>> We have a limitation in the xwiki/2.0 parser related to the way macros
>>>> are parsed: impossible to have the ending syntax of a macro as content
>>>> of this macro.
>>>> 
>>>> Here is the related jira issue: 
>>>> http://jira.xwiki.org/jira/browse/XWIKI-5077
>>>> 
>>>> A good example is: i want to have "{{/code}}" alone as the content of
>>>> a code macro. That's impossible.
>>>> 
>>>> The only way to have {{/code}} in the content is with:
>>>> 
>>>> {{code}}
>>>> {{code}}
>>>> {{/code}}
>>>> {{/code}}
>>>> 
>>>> or
>>>> 
>>>> {{code}}
>>>> ~{{/code}}
>>>> {{/code}}
>>>> 
>>>> but in the first case you get "{{code}}" you did not want and in the
>>>> second you get "~" you did not want.
>>>> 
>>>> Only solution i can see is to specifically handle escaping of ending
>>>> macro syntax inside macros of the same name.
>>>> 
>>>> Here is some examples:
>>>> 
>>>> 1)
>>>> 
>>>> {{code}}
>>>> ~{{/code}}
>>>> {{/code}}
>>>> 
>>>> would give code macro containing "{{/code}}"
>>>> 
>>>> 2)
>>>> 
>>>> {{code}}
>>>> ~{{/somemacro}}
>>>> {{/code}}
>>>> 
>>>> would give code macro containing "~{{/somemacro}}"
>>>> 
>>>> 3)
>>>> 
>>>> {{code}}
>>>> ~~{{/code}}
>>>> {{/code}}
>>>> 
>>>> would give code macro containing "~" followed by the text "{{/code}}"
>>>> 
>>>> 4)
>>>> 
>>>> {{code}}
>>>> ~~~{{/code}}
>>>> {{/code}}
>>>> 
>>>> would give code macro containing "~{{/code}}"
>>>> 
>>>> 5)
>>>> 
>>>> Then double escaping for each level to escape:
>>>> 
>>>> {{box}}
>>>> {{box}}
>>>> ~~~{{/box}}
>>>> {{/box}}
>>>> {{/box}}
>>>> 
>>>> would give box macro containing a box macro containing the text
>>>> "{{/box}}": the first pass change "~~~{{/box}}" into "~{{/box}}" like
>>>> in example 4) and the second pass escape "{{/box}}" like in example
>>>> 1).
>>>> 
>>>> So WDYT ?
>>>> 
>>>> Here is my +1
>>>> 
>> 
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>> 
>> 
> 
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs

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

Reply via email to