On Nov 22, 2008, at 2:32 PM, Vincent Massol wrote: > > On Nov 22, 2008, at 2:21 PM, Marius Dumitru Florea wrote: > >> Vincent Massol wrote: >>> On Nov 22, 2008, at 10:53 AM, Marius Dumitru Florea wrote: >>> >>>> Thomas Mortagne wrote: >>>>> On Fri, Nov 21, 2008 at 4:10 PM, Vincent Massol >>>>> <[EMAIL PROTECTED]> wrote: >>>>>> On Nov 21, 2008, at 12:30 PM, Vincent Massol wrote: >>>>>> >>>>>>> On Nov 21, 2008, at 12:06 PM, Vincent Massol wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> We have a decision to take to support image parameters when >>>>>>>> we're >>>>>>>> linking to an image. >>>>>>>> >>>>>>>> Here's what this would mean with the current syntax: >>>>>>>> >>>>>>>> [[[[image:attach.png||height="100" width="100"]]>>http:// >>>>>>>> xwiki.org|| >>>>>>>> param=value]] >>>>>>>> >>>>>>>> Is that what we want? >>>>>> After discussing with Thomas we both agreed that we'd prefer to >>>>>> have >>>>>> this syntax above, i.e. >>>>>> >>>>>> [[[[image:attach.png||height="100" width="100"]]>>http:// >>>>>> xwiki.org|| >>>>>> param=value]] >>>>>> >>>>>> And the good news is that I think I know how to modify wikimodel >>>>>> to >>>>>> support this. >>>>>> >>>>>> I'll thus try to implement this starting now. >>>>> Ok then no need to answer the previous mail ;) >>>>> >>>>> I will just add something about why I think we need to support the >>>>> current syntax in place of finding one: >>>>> >>>>> This is a more generic problem that just image, how do deal with a >>>>> link in a link should be only a renderer choice and it should not >>>>> break the parser. >>>>> >>>>> If we say that link label is inline wiki syntax then link label is >>>>> inline wiki syntax with no particular case. It's really way easier >>>>> and >>>>> understandable for user and in general more logical to have only >>>>> the >>>>> label of the link in a link (because XHTML renderer decided to >>>>> render >>>>> it that way) than a broken link. >>>>> >>>>> So to conclude if we want to change the image syntaxe it should >>>>> not >>>>> be >>>>> for this image in link problem. >>>> I agree, +1. >>> >>> We can't have links inside links. It doesn't make sense since none >>> of >>> our renderers will support this. I also haven't seen any output >>> format >>> supporting this so far (even XPointer doesn't AFAIK). Mikhail (from >>> wikimodel) is also strongly against it. >>> >>> What I have implemented is images inside links. So if you have the >>> following: >>> >>> [[hello [[nolink]]>>reference]] >>> >>> it will mean: >>> >>> A link pointing to the following reference: "hello [[nolink" >>> followed >>> by the text: ">>reference]]". >> >> Q: Given the following text: >> >> [[a [[b]] ]] > > This is the same example I gave above. > > This is a link to "a [[b" followed by the text "]]" > >> Is the first (end) "]]" marker associated with the first or the last >> (start) "[[" marker? In other words, is the parsing based on a queue >> or >> on a stack? >> >> I would expect it to use a stack. In this case I'm not clear why the >> inner block cannot be a child of the outer block in the resulting >> DOM-like tree. The previous text can be invalid (doesn't pass a DTD- >> like >> check), but I think it should be well-formed (start markers pair with >> end markers), provided we allow wiki syntax inside link label. >> >> I may be missing something since I don't know much about what the >> rendering module does under the hood. > > This is not the rendering module. It's WikiModel which is using JavaCC > to parse the content. > > What you suggested is possible but every complex and leads to 2 major > problems (this is what I started doing yesterday and ended up > reverting): > > * If you don't have a closing ]] you have to go till the end of the > document and thus the rest of the document will be the reference...
Just to be clear what it means is that if you have [[ somewhere in your document, you'll get a link even if you don't have a closing ]] token whereas right now it won't be considered a link (and rightly so). -Vincent > > * It's very slow (since you have to manually count the opening and > closing tokens till the end of the document) > > Thanks > -Vincent > >>>>>>>> I'm not even sure we can implement this since wikimodel will >>>>>>>> consider >>>>>>>> the reference to be: >>>>>>>> [[[[image:attach.png||height="100" width="100"]] >>>>>>>> >>>>>>>> (since it'll use the first closing reference marker, i.e. "]]") >>>>>>>> >>>>>>>> So the question is: do we want to use a different syntax for >>>>>>>> images >>>>>>>> or >>>>>>>> should I try to make this one work? >>>>>>>> >>>>>>>> WDYT? >>>>>>> I can think of the following solutions: >>>>>>> >>>>>>> 1) Use a different syntax. For example: ((...)) >>>>>>> >>>>>>> [[((attach.png||height="100" width="100"))>>http://xwiki.org|| >>>>>>> param=value]] >>>>>>> >>>>>>> 2) Only allow inline images to be specified (i.e. >>>>>>> [[label>>image:...]] >>>>>>> wouldn't be valid) and have a special handling for (% %) when >>>>>>> placed >>>>>>> before an inline image so that the params are applied to the img >>>>>>> tag >>>>>>> and not to a span tag. Note: not sure how hard this is to do. >>>>>>> >>>>>>> 3) Allow passing parameters for inline images use a special >>>>>>> syntax. >>>>>>> For example: image:my.png||param=value. This would mean: >>>>>>> >>>>>>> [[attach.png||height="100" width="100">>http://xwiki.org|| >>>>>>> param=value]] >>>>>>> >>>>>>> ([[attach.png||height="100" width="100"]] would still be an >>>>>>> image >>>>>>> and >>>>>>> not a link) >>>>>>> >>>>>>> WDYT? Any other idea? >>>>>>> >>>>>>> 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

