rehamaltamimi / gwtwiki

Automatically exported from code.google.com/p/gwtwiki
0 stars 0 forks source link

nesting links and templates with parameters inside a table disrupts the table #77

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?

Set up a Wiki with the bliki renderer and create 2 articles, "Template:Image" 
and "Test":

====Template:Image====
[[File:{{{image}}}|{{{title}}}|alt={{{title}}}]]

====Test====
{|
! | <h2 style="background:#cedff2;">In the news</h2>
|-
| style="color:#000; padding:2px 5px;" | <div id="mp-itn">{{Image
 |image  = Yoshihiko Noda-1.jpg
 |title  = Yoshihiko Noda
}}
The ruling Democratic Party of Japan selects '''Yoshihiko Noda''' 
''(pictured)'' as the country's new prime minister, following the resignation 
of Naoto Kan
</div>
|}

What is the expected output? What do you see instead?

The result should be a single cell with both the text and the image.
Instead a new table column is created and the image HTML source is split among 
both, see the following HTML source excerpt):

"[[File:Yoshihiko Noda-1.jpg|Yoshihiko Noda
</div></td>
<td>alt=Yoshihiko Noda
]]
The ruling Democratic Party"

Any other attribute instead of "alt" shows the same behaviour, e.g. "link".
Removing the "alt" attribute from the link in the template however resolves the 
Problem.

What version of the product are you using? On what operating system?
bliki 3.0.17

Original issue reported on code.google.com by nico.kru...@googlemail.com on 29 Mar 2012 at 11:07

GoogleCodeExporter commented 8 years ago

Original comment by axelclk@gmail.com on 29 Mar 2012 at 6:39

GoogleCodeExporter commented 8 years ago
Commited change r4254 for this issue.
Could you please test again with the 3.0.18-SNAPSHOT?

Original comment by axelclk@gmail.com on 29 Mar 2012 at 6:44

GoogleCodeExporter commented 8 years ago

Original comment by axelclk@gmail.com on 29 Mar 2012 at 6:44

GoogleCodeExporter commented 8 years ago
thank you very much - this actually fixes a lot of rendering issues I had

Original comment by nico.kru...@googlemail.com on 30 Mar 2012 at 7:38

GoogleCodeExporter commented 8 years ago
unfortunately this does not seem to be completely fixed - here is a more 
complex example:

=====Template:Yesno=====
{{#switch: {{lc: {{{1|¬}}} }}
 |no
 |n
 |0        = {{{no|<!-- null -->}}}
 |         = {{{blank|{{{no|<!-- null -->}}}}}}
 |¬        = {{{¬|}}}
 |yes
 |y
 |1        = {{{yes|yes}}}
 |#default = {{{def|{{{yes|yes}}}}}}
}}
========================

=====Template:In the news/image=====
<div style="float:right;margin-left:0.5em;">
[[File:{{{image}}}|{{{size}}}|{{yesno|{{{border|}}}|yes=border}}|{{{title}}}|alt
={{#if:{{{alt|}}}|{{{alt}}}|{{{title}}}}}|link=File:{{{image}}}]]
</div>
========================

=====Test=====
{|
! | <h2 style="background:#cedff2;">In the news</h2>
|-
| | <div>{{In the news/image
 |image  = Yoshihiko Noda-1.jpg
 |size   = 100x100px
 |title  = Yoshihiko Noda
 |link   = 
 |border = no
}}
The ruling Democratic Party of Japan selects '''Yoshihiko Noda''' 
''(pictured)'' as the country's new Prime Minister of Japan|prime minister, 
following the resignation of Naoto Kan.</div>
|}
========================

If I remove the boder part from "Template:In the news/image", everything 
renders fine

Original comment by nico.kru...@googlemail.com on 30 Mar 2012 at 10:56

GoogleCodeExporter commented 8 years ago
Commited change r4322 for this issue.
Could you please test again with the 3.0.18-SNAPSHOT?

Original comment by axelclk@gmail.com on 30 Mar 2012 at 8:36

GoogleCodeExporter commented 8 years ago
thank you (for your very quick response and all the fixes you have implemented)

the second example works fine, now - I still have some rendering bugs though 
and I try to find minimal examples to report them.

Regarding tables, here is another one, taken from the simple Wikipedia's main 
page:

===== Main Page ===== (2 columns)
{{Main Page panel|
{{Main Page subpanel|column=both|title=Knowledge groups|1=
TEST1
}}
|
{{Main Page subpanel|column=both|title=Sister projects|1=
TEST2
}}
}}
========================

===== Template:Main Page panel =====
{| style="width: 100%; height: auto; border: 1px solid #88A; background-color: 
#ACF; vertical-align: top; margin: 0em 0em 0.5em 0em; border-spacing: 0.6em;" 
cellspacing="6"
|-
{{{1}}}{{#if:{{{2|}}}|
{{!}}-
{{{2}}}{{#if:{{{3|}}}|
{{!}}-
{{{3}}}{{#if:{{{4|}}}|
{{!}}-
{{{4}}}{{#if:{{{5|}}}|
{{!}}-
{{{5}}}}}}}}}}}
|}
========================

===== Template:Main Page subpanel =====
| style="width: 100%; vertical-align:top; color:#000; border: 3px double #AAA; 
background-color: #ffffff; padding: 0.5em; margin: 0em;" colspan="2" |
{| style="vertical-align: top; margin: 0em; width: 100% !important; width: 
auto; display: table !important; display: inline; background-color: 
transparent;"
{{#if:{{{title|}}}|
! colspan="2" style="background:#F0F0F0; margin: 0em; height: 1em; 
font-weight:bold; border:1px solid #AAA; text-align:left; color:#000;" {{!}} 
<div style="float:right;"></div><h1 style="text-align: left; font-size: 1.2em; 
border: none; margin: 0; padding: 1.5px 0 2px 
4px;">'''{{{title}}}'''</h1></div>}}
|-
|
{{{1}}}
|}
========================

===== Template:! =====
|
========================

Not nesting through the "Template:Main Page panel" and including the contents 
by hand gives the correct table using colspan=2 and thus only one column:

===== Main Page ===== (1 column)
{| style="width: 100%; height: auto; border: 1px solid #88A; background-color: 
#ACF; vertical-align: top; margin: 0em 0em 0.5em 0em; border-spacing: 0.6em;" 
cellspacing="6"
|-
{{Main Page subpanel|column=both|title=Knowledge groups|1=
TEST1
}}
{{!}}-
{{Main Page subpanel|column=both|title=Sister projects|1=
TEST2
}}
|}
========================

Original comment by nico.kru...@googlemail.com on 3 Apr 2012 at 9:03

GoogleCodeExporter commented 8 years ago

Original comment by axelclk@gmail.com on 3 Apr 2012 at 5:44

GoogleCodeExporter commented 8 years ago
Could you please check my last commits:
r4387, r4388, r4389, r4390, r4391

I'm not sure if I understand the last "Main Page" problem correctly?

I've also created a new 3.0.18-SNAPSHOT core

Original comment by axelclk@gmail.com on 4 Apr 2012 at 9:27

GoogleCodeExporter commented 8 years ago
so far, so good...
the second example ("===== Main Page ===== (1 column)") was essentially the 
same as the 2-column variant, only that I inlined the "Template:Main Page 
panel" template by hand
-> both should thus render the same (and do now)

Original comment by nico.kru...@googlemail.com on 11 Apr 2012 at 1:12

GoogleCodeExporter commented 8 years ago
here is another template combination that disrupts a table (taken from the 
Bavarian wiki - I use the English "Template:" prefix below, though):

===== Grafenwöhr =====
{{Infobox Ort in Deutschland
|Art               = Stadt
|Wappen            = Wappen_Grafenwöhr.png
|lat_deg           = 49 |lat_min = 43
|lon_deg           = 11 |lon_min = 54
|Lageplan          = 
|Bundesland        = Bayern
}}
========================

===== Template:Infobox Ort in Deutschland =====
{| class="float-right" style="width:290px; font-size:90%; background:#FAFAFA;  
border:1px solid #bbb; margin:0px 0px 1em 1em; border-collapse:collapse;" 
summary="Infobox"
|-
| colspan="2" style="background:#ffffff; text-align:center; font-size:135%;" | 
'''{{#if: {{{Name|}}} | {{{Name}}} | {{PAGENAME}} 
}}'''</font></br><small>{{{AndereNamen|}}}</small>
|- class="hintergrundfarbe2"
| colspan="2" style="font-weight:bold; padding-left:8px; border-top:solid 1px 
#bbb;" |
|- class="hintergrundfarbe2" style="text-align: center;"
| style="width: 50%;" | [[Bild:Sin escudo.svg|120px|Wappn fêîht]]
| align="center" style="width: 50%;" | {{#if: {{{Karte|}}} | 
[[Bild:{{{Karte}}}|140x175px|Deitschlandkartn, Position vo {{#if: {{{Name|}}} | 
{{{Name}}} | {{PAGENAME}} }} heavoghobn]] | {{#if: {{{lat_deg|}}} |
{{Lageplan
|marker     = reddot.svg
|markersize = 5
|markertext = {{#if: {{{Name|}}} | {{{Name}}} | {{PAGENAME}} }}
|pos_y      = {{#expr: (55.1 - {{{lat_deg|52.5}}} - {{{lat_min|0}}} / 60) * 100 
/ 7.9}}
|pos_x      = {{#expr: ({{{lon_deg|13.4}}} + {{{lon_min|0}}} / 60) * 10 - 55}}
|map        = Karte Deutschland.svg
|mapsize_x  = 140
|mapsize_y  = 175
|maptext    = Deitschlandkartn, Position vo {{#if: {{{Name|}}} | {{{Name}}} | 
{{PAGENAME}} }} heavoghom
|warning    = [[Bild:Missing Map of Germany.png|140px|Koordinaten san 
außerhoib vom darstellbarn Bereich]]
}}
| [[Bild:Karte Deutschland.png|140px|Koordinatn san net da]] }}
}}
|-
! colspan="2" style="background-color:#ABCDEF; border:1px solid #bbb;" | 
Basisdatn
|- class="hintergrundfarbe2"
| '''[[Bundesland (Deutschland)|Bundesland]]''': || [[{{{Bundesland|}}}{{#if: 
{{{Bundesland im Dialekt|}}}|{{!}}{{{Bundesland im Dialekt}}}}}]]
|- class="hintergrundfarbe2"
|}
========================

===== Template:Lageplan =====
{{#if: {{{map|}}} | {{{!}} border="0" cellspacing="0" cellpadding="0" 
style="margin:0 0 0 0; border-style:none; border-width:0px; 
border-collapse:collapse; empty-cells:show"
{{!}}<div style="position: relative;"><div style="font-size: 
{{{markersize|5}}}px; position: absolute; display: block; left:{{#expr: 
({{{mapsize_x|140}}}*{{{pos_x|3}}}/100  - {{{markersize|5}}} /2 ) round 0 }}px; 
top:{{#expr: ({{{mapsize_y|175}}}*{{{pos_y|3}}}/100 - {{{markersize|5}}} /2 ) 
round 0 }}px; 
padding:0;">[[Bild:{{{marker|Reddot.svg}}}|{{{markersize|5}}}px|{{{markertext|}}
}]]</div>[[Bild:{{{map|Karte 
Deutschland.png}}}|{{{mapsize_x|140}}}x{{{mapsize_y|175}}}px|{{{maptext|}}}]]</d
iv>
{{!}}} }}
========================

===== Template:! =====
|
========================

If you remove the {{Lageplan...}} template and replace it by e.g. "Lageplan", 
it works fine. AFAIK the problem seems to be with the extra '{' in the Lageplan 
template, i.e. {{#if: {{{map|}}} | {{{!}}...{{!}}} }}" - removing the 
surrounding if resolves some problems but not all, i.e. the table only gets a 
third column instead of being totally destroyed. So there must also be 
something else.

Original comment by nico.kru...@googlemail.com on 16 Apr 2012 at 12:51

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Sorry I meant r4590 of course.

Original comment by axelclk@gmail.com on 16 Apr 2012 at 7:13

GoogleCodeExporter commented 8 years ago
Unfortunately this does not yet fix the mentioned problem. Here is the content 
rendered with the "Lageplan" template and without:

===== using Template:Lageplan in  "Template:Infobox Ort in Deutschland" =====
<div style="page-break-inside: avoid;">
<table class="float-right" style="width: 290px; font-size: 90%; background: 
none repeat scroll 0% 0% rgb(250, 250, 250); border: 1px solid rgb(187, 187, 
187); margin: 0px 0px 1em 1em; border-collapse: collapse;" summary="Infobox">
<tbody><tr>
<td colspan="2" style="background: none repeat scroll 0% 0% rgb(255, 255, 255); 
text-align: center; font-size: 135%;">Grafenwöhr<small>
</small></td></tr>
<tr class="hintergrundfarbe2">
<td colspan="2" style="font-weight: bold; padding-left: 8px; border-top: 1px 
solid rgb(187, 187, 187);"></td></tr>
<tr class="hintergrundfarbe2" style="text-align: center;">
<td style="width: 50%;"><a class="new" 
href="wiki?title=Bild%3ASin+escudo.svg%7C120px" title="Bild:Sin 
escudo.svg|120px">Wappn fêîht</a>
</td>
<td style="width: 50%;" align="center"></td>
<td>
<div style="position: relative;">
<div style="font-size: 5px; position: absolute; display: block; left: 87px; 
top: 117px; padding: 0pt;"><a class="new" 
href="wiki?title=Bild%3Areddot.svg%7C5px" 
title="Bild:reddot.svg|5px">Grafenwöhr</a></div><a class="new" 
href="wiki?title=Bild%3AKarte+Deutschland.svg%7C140x175px" title="Bild:Karte 
Deutschland.svg|140x175px">Deitschlandkartn, Position vo Grafenwöhr 
heavoghom</a></div>
</td></tr></tbody></table></div>
<p>|-
! colspan="2" style="background-color:#ABCDEF; border:1px solid #bbb;" | 
Basisdatn
|- class="hintergrundfarbe2"
| <a class="new" href="wiki?title=Bundesland+%28Deutschland%29" 
title="Bundesland (Deutschland)">Bundesland</a>: || <a class="new" 
href="wiki?title=Bayern" title="Bayern">Bayern</a>
|- class="hintergrundfarbe2"
|}</p>
========================

===== replacing Template:Lageplan in  "Template:Infobox Ort in Deutschland" 
with Langeplan =====
<div style="page-break-inside: avoid;">
<table class="float-right" style="width:290px; font-size:90%; 
background:#FAFAFA;  border:1px solid #bbb; margin:0px 0px 1em 1em; 
border-collapse:collapse;" summary="Infobox">
<tr>
<td colspan="2" style="background:#ffffff; text-align:center; 
font-size:135%;">Grafenwöhr<small />
</td></tr>
<tr class="hintergrundfarbe2">
<td colspan="2" style="font-weight:bold; padding-left:8px; border-top:solid 1px 
#bbb;" /></tr>
<tr class="hintergrundfarbe2" style="text-align: center;">
<td style="width: 50%;"><a class="new" 
href="wiki?title=Bild%3ASin+escudo.svg%7C120px" title="Bild:Sin 
escudo.svg|120px">Wappn fêîht</a>
</td>
<td align="center" style="width: 50%;">Lageplan
</td></tr>
<tr>
<th colspan="2" style="background-color:#ABCDEF; border:1px solid 
#bbb;">Basisdatn
</th></tr>
<tr class="hintergrundfarbe2">
<td><a class="new" href="wiki?title=Bundesland+%28Deutschland%29" 
title="Bundesland (Deutschland)">Bundesland</a>: </td>
<td><a class="new" href="wiki?title=Bayern" title="Bayern">Bayern</a>
</td></tr></table></div>
========================

Original comment by nico.kru...@googlemail.com on 17 Apr 2012 at 9:49

GoogleCodeExporter commented 8 years ago
Commited r4661 for this problem.
Please try again.

Original comment by axelclk@gmail.com on 22 Apr 2012 at 9:05

GoogleCodeExporter commented 8 years ago
yes, thank you. This example renders nicely now. The infobox problem has been 
quite prominent for the past.
Currently I cannot find more examples of render bugs here. If you wish, you can 
close this bug. I'll add a note if a find a new example.

Original comment by nico.kru...@googlemail.com on 24 Apr 2012 at 8:08

GoogleCodeExporter commented 8 years ago

Original comment by axelclk@gmail.com on 24 Apr 2012 at 8:24