On Tue, May 5, 2009 at 5:04 PM, Vincent Massol <[email protected]> wrote:

>
> On May 5, 2009, at 5:01 PM, Pascal Voitot wrote:
>
> > I will try to compile it and deploy it on my website...
> >
> > To be quicker, what module have you modified?
>
> xwiki-xml
> xwiki-rendering-api
> xwiki-rendering-macro-html
>
> You can also wait for a snapshot build at http://maven.xwiki.org
>

I love compiling, this is a hobby ;););)




>
> Thanks
> -Vincent
>
> > regards
> > Pascal
> >
> > On Tue, May 5, 2009 at 4:58 PM, Vincent Massol <[email protected]>
> > wrote:
> >
> >>
> >> On May 5, 2009, at 4:16 PM, Pascal Voitot wrote:
> >>
> >>> no better idea...
> >>> a very special case to remind in the syntax help to my mind...
> >>
> >> Just committed the new behavior. Would be great if some users/devs
> >> could verify it works on their use cases.
> >>
> >> Thanks
> >> -Vincent
> >>
> >>> Pascal
> >>>
> >>> On Tue, May 5, 2009 at 9:40 AM, Vincent Massol <[email protected]>
> >>> wrote:
> >>>
> >>>> After trying to implement it I've found the following caveats:
> >>>>
> >>>> * if the user wants an html comment he needs to escape the --
> >>>> * if the user wants a NL he'll need to enter <br/>
> >>>> * if the user wants a paragraph he'll need to enter <p>...</p>
> >>>> * And the most problematic one IMO: the user needs to be very
> >>>> careful
> >>>> about new lines since:
> >>>>
> >>>> <table>
> >>>> <tr>
> >>>> <td>
> >>>> * [[listitem]]
> >>>> </td>
> >>>> </tr>
> >>>> </table>
> >>>>
> >>>> is very different from
> >>>>
> >>>> <table>
> >>>> <tr>
> >>>> <td>
> >>>> * [[listitem]]
> >>>>
> >>>> </td>
> >>>> </tr>
> >>>> </table>
> >>>>
> >>>> In the first case the </td>, </tr> and </table> and continuation of
> >>>> the list item written in wiki syntax since the wiki parser accepts
> >>>> multiline content... hence you'll get in XHTML:
> >>>>
> >>>> <table><tbody><tr><td><ul><li><!--startwikilink:listitem--><span
> >>>> class="wikicreatelink"><a href="/xwiki/bin/view/listitem?
> >>>> parent=xwiki:Space.Page"><span
> >>>> class="wikigeneratedlinkcontent">Page</
> >>>> span></a></span><!--stopwikilink--></td></tr></tbody></table></
> >>>> li></
> >>>> ul>
> >>>>
> >>>> which is completely invalid.
> >>>>
> >>>> The same applies for:
> >>>>
> >>>> {{macro/}}
> >>>> </td>
> >>>>
> >>>> vs
> >>>>
> >>>> {{macro/}}
> >>>>
> >>>> </td>
> >>>>
> >>>> in the first case the macro is inline and will generate inline
> >>>> content
> >>>> and in the second case it's standalone.
> >>>>
> >>>> Still trying to figure out a best solution but I don't see one
> >>>> right
> >>>> now...
> >>>>
> >>>> If you have any idea, shoot!
> >>>>
> >>>> Thanks
> >>>> -Vincent
> >>>>
> >>>> On May 4, 2009, at 3:25 PM, Vincent Massol wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> After discussing with Thomas we've reached the conclusion that we
> >>>>> should change the way the HTML macro handle its content when
> >>>>> wiki=true.
> >>>>> For ex take the following input:
> >>>>>
> >>>>> {{velocity}}
> >>>>> ...
> >>>>> {{html wiki="true"}}
> >>>>> <form>
> >>>>> $xwiki.includeForm("XWiki.MyClassSheet")
> >>>>> <br />
> >>>>> <p>
> >>>>> <input type="submit" name="submit" value="Create this new
> >>>>> Workpackage" />
> >>>>> </p>
> >>>>> </form>
> >>>>> {{/html}}
> >>>>> ...
> >>>>> {{/velocity}}
> >>>>>
> >>>>> And assume that MyClassSheet has some $doc.display() velocity code
> >>>>> which thus generate {{html}} macros.
> >>>>>
> >>>>> Current Result
> >>>>> ============
> >>>>>
> >>>>> Right now here's what happens:
> >>>>> 1) velocity macro is executed and $xwiki.includeForm executes
> >>>>> 2) MyClassSheet generate {{html}} macro content thus yielding:
> >>>>>
> >>>>> {{html wiki="true"}}
> >>>>> <form>
> >>>>> {{html}}...<someTag>...</someTag>{{/html}}
> >>>>> </form>
> >>>>> {{/html}}
> >>>>>
> >>>>> 3) After velocity has finished executing the velocity macro calls
> >>>>> the wiki parser on the result and thus the top level HTML macro
> >>>>> executes
> >>>>> 4) since wiki=true the content is given to a SAX parser and each
> >>>>> XML
> >>>>> tag content is given to the wiki parser. Thus "{{html}}...", "..."
> >>>>> and "{{/html}}"  will be parser by the wiki parser separately
> >>>>> (because <someTag> is valid XML), thus generating non expected
> >>>>> content as a result.
> >>>>>
> >>>>> Proposed change
> >>>>> ==============
> >>>>>
> >>>>> Modify the HTML behavior so that the wiki parser executes first
> >>>>> (instead of the SAX parser) and render the result using a special
> >>>>> renderer that prints the special symbols and text as is.
> >>>>>
> >>>>> When run on our example this would give (same steps 1) and 2)):
> >>>>>
> >>>>> 3) wiki parser executes and generate XDOM. Render it using the
> >>>>> special renderer
> >>>>>
> >>>>> Note that this means that if in HTML your write content that has a
> >>>>> meaning in some wiki syntax you'll need to escape it. For
> >>>>> example if
> >>>>> you have:
> >>>>>
> >>>>> {{html wiki=true}}
> >>>>> <!--hello-->
> >>>>> {{/html}}
> >>>>>
> >>>>> you'll get some strikethrough. So you'll need to write instead:
> >>>>>
> >>>>> {{html wiki=true}}
> >>>>> <!~-~-hello~-~->
> >>>>> {{/html}}
> >>>>>
> >>>>> WDYT?
> >>>>>
> >>>>> Here's my +1
> >>>>>
> >>>>> Thanks
> >>>>> -Vincent
> >>>>>
> >>>>
> >>>> _______________________________________________
> >>>> 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
> >>
> > _______________________________________________
> > 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