Changes for page InfoboxStyles

Last modified by Mads Pedersen on 2026/07/28 06:53

From version 6.1
edited by Mads Pedersen
on 2026/01/20 14:34
Change comment: There is no comment for this version
To version 8.2
edited by Mads Pedersen
on 2026/01/20 14:42
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,0 +1,3 @@
1 +{{wikibox title="Test" caption="Test" data="line1=This is some tekst"}}{{/wikibox}}
2 +
3 +
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,21 +1,35 @@
1 1  {{html clean="false"}}
2 -<div class="xwiki-infobox">
3 - <table>
4 - <caption>$escapetool.xml($!parameters.title)</caption>
5 - #if("$!parameters.image" != "")
2 +<div style="float:right; width:280px; margin:0 0 1em 1em; border:1px solid #aaa; background:#f8f9fa; font-size:0.9em; font-family: sans-serif; line-height: 1.4;">
3 + <table style="width:100%; border-collapse:collapse;">
4 + #if($xcontext.macro.params.title)
5 + <caption style="background:#e5e5e5; font-weight:bold; padding:8px; border:1px solid #aaa; border-bottom:none; color: #333;">
6 + $xcontext.macro.params.title
7 + </caption>
8 + #end
9 + #if($xcontext.macro.params.image)
6 6   <tr>
7 - <td colspan="2" class="xwiki-infobox-image">
8 - <img src="$escapetool.xml($!parameters.image)" alt="" />
9 - #if("$!parameters.imageCaption" != "")
10 - <div class="xwiki-infobox-image-caption">$escapetool.xml($!parameters.imageCaption)</div>
11 + <td colspan="2" style="text-align:center; padding:4px;">
12 + <img src="$xcontext.macro.params.image" style="max-width:100%; height:auto; display:block; margin: 0 auto;">
13 + #if($xcontext.macro.params.caption)
14 + <div style="font-size:0.85em; color:#555; padding: 4px 0;">$xcontext.macro.params.caption</div>
11 11   #end
12 12   </td>
13 13   </tr>
14 14   #end
15 15  
16 - <!-- Rows are provided by the user in the macro body -->
17 - $!content
20 + #set($content = $xcontext.macro.params.data)
21 + #if($content)
22 + ## Split content by newlines and handle each line
23 + #foreach($line in $content.split("\r?\n"))
24 + #if($line.contains("="))
25 + #set($parts = $line.split("=", 2))
26 + <tr>
27 + <th style="border-top:1px solid #aaa; padding:6px; text-align:left; background:#f2f2f2; width:35%; vertical-align: top;">$parts[0].trim()</th>
28 + <td style="border-top:1px solid #aaa; padding:6px; vertical-align: top;">$parts[1].trim()</td>
29 + </tr>
30 + #end
31 + #end
32 + #end
18 18   </table>
19 19  </div>
20 20  {{/html}}
21 -
Macro id
... ... @@ -1,0 +1,1 @@
1 +wikibox
Macro visibility
... ... @@ -1,1 +1,1 @@
1 -Global
1 +Current Wiki