Portál AbcLinuxu, 10. prosince 2025 16:10
Možná jste i vy, tak jako já, narazili na problém s responzivním zobrazením obrázků vložených do wiki založené na systému MediaWiki. Ta standardně pracuje s “natvrdo” nastavenou velikostí obrázku, což vede k tomu, že se při změně velikosti okna prohlížeče jejich rozměry nezmění. Důsledkem je, že se totálně rozhodí formátování stránky a větší obrázek z okna “vyteče”. Pro většinu uživatelů to je neřešitelný problém, protože vyžaduje sofistkovaná rozšíření, která nemusíte mít všude k dispozici. I tak bývá zápis syntaxe poměrně komplikovaný. Existuje ale poměrně elegantní řešení – šablona. Ovšem vytvoření takové šablony je záležitost, na kterou každý uživatel nemá. Pokud tedy máte zájem, nabízím vám tímto k dispozici svoji šablonu. Vyžaduje ale, abyste měli v konfiguraci vaší wiki povoleno použití html elementu img – proměnná $wgAllowImageTag musí mít hodnotu true.
img povolen by defaultJe to proto, že by pak bylo možné do wiki vkládat i obrázky ze kteréhokoliv jiného webu. Administrátoři by tak ztratili kontrolu nad obsahem vkládaným do wiki. To by mohlo vést k diskreditaci jejich wiki ze strany trollujících uživatelů (vkládání nežádoucí reklamy, obscénních obrázků, aj.)
U wiki, kterou nemohou editovat anonymní a neschválení uživatelé je ale riziko takového chování minimální – trollujícího uživatele lze poměrně rychle odhalit a jeho účet zablokovat.
img a šablony
Nebudu zdlouhavě opisovat manuálovou stránku ze svojí wiki. Pokud vás zajímá, jak lze zkombinovat element img s tzv. “magic word” koukněte přímo tam.
Tady vám chci nabídnout pouze finální kód mé šablony Image. Její syntaxe vychází z klasické wiki syntaxe, ale nabízí i jiné, poměrně neobvyklé možnosti – kupř. možnost rotace vloženého obrázku. Více o tom jak tuto šablonu používat viz u její dokumentace.
Její kód nabízím tímto prostřednictvím předevčím proto, že u mé wiki se anonymní uživatel k wiki kódu šablony nedostane.
<includeonly>{{#if: {{{1|}}}
| {{#ifexist: Media:{{{1}}}
| {{#vardefine:obr|{{{1}}}}}
{{#vardefine:path|{{filepath:{{#var:obr}}}}}}
{{#if: {{{rotate}}}
| {{#vardefine:rotateimg|-webkit-transform: rotate({{{rotate}}}deg); -moz-transform: rotate({{{rotate}}}deg); -o-transform: rotate({{{rotate}}}deg); -ms-transform: rotate({{{rotate}}}deg); transform: rotate({{{rotate}}}deg);}}
| {{#vardefine:rotateimg|}}
}}
{{#iferror: {{#expr: {{{2|}}} > 1}}
| Parameter for relative percentual size is not valid. It must be a real number > 1. Actually value for size "{{{2}}}" is missing or not valid.
| {{#vardefine:percent|{{{2|}}}}}
{{#switch: {{{3|}}}
| left={{#vardefine:align|style="{{#var:rotateimg}}float: {{{3}}}; margin: {{{border|15}}}px {{{border|15}}}px {{{border|15}}}px 0;"}}
| right={{#vardefine:align|style="{{#var:rotateimg}}float: {{{3}}}; margin: {{{border|15}}}px 0 {{{border|15}}}px {{{border|15}}}px;"}}
| center={{#vardefine:align|style="{{#var:rotateimg}}display: block; margin: {{{border|15}}}px auto {{{border|15}}}px auto;"}}
|center
}}
{{#vardefine:popis|{{{4|}}}}}
{{#ifeq: {{{orig}}}
| no
|{{#vardefine:thumbsize|{{#expr:
trunc(
( {{#imgw:{{#var:obr}}}} * {{#var:percent}} )
/ 200
)
}}px}}<img src="{{filepath:{{#var:obr}}|{{#var:thumbsize}}}}" width="{{#var:percent}}%" resource="./File:{{#var:obr}}" {{#var:align}} alt="{{#var:popis}}" title="{{#var:popis}}">
|<img src="{{filepath:{{#var:obr}}}}" width="{{#var:percent}}%" resource="./File:{{#var:obr}}" {{#var:align}} alt="{{#var:popis}}" title="{{#var:popis}}">
}}
}}
| Image {{{1|}}} not uploaded!
}}
| Parameter missing!
}}</includeonly>
Důležitá poznámka: Tahle šablona závisí na těchto rozšířeních:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.