Trenutno dejavna stran: start » sl » Interna dokumentacija » Razširitve DokuWikija (WvdS) » Zamenjani paketi in stare oznake strani » Vtičnik WvdS.DokuWiki.Theme

Vtičnik WvdS.DokuWiki.Theme

Vtičnik: wvdstheme
Različica: 1.0.0
Imenski prostor: lib/plugins/wvdstheme/
Avtor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Licenca: GPL 2


Definicija

Vtičnik wvdstheme preklopi aktivno predlogo (temo) po imenskem prostoru — po enakem načelu dedovanja kot stranska vrstica: stran z imenom theme v imenskem prostoru velja za to poddrevo, zmaga pa najbližja stran theme.

Primeri uporabe

  • Področje blogasl:blog teče na predlogi BizWay, preostanek wikija na Flat
  • Trženjske pristajalne strani — ločen videz za javna območja
  • Naročniška/projektna območja — omejen videz brez razvejitve DokuWiki

Sintaksa

Ustvarite stran <imenski_prostor>:theme z:

{{wk:theme template="premium-navy-ivory"}}

Ob prikazu strani theme se prikaže informacijsko polje z imenom predloge, obsegom veljavnosti in stanjem preverjanja.

Parametri

Parameter Tip Obvezno Opis
template niz da Ime mape pod lib/tpl/

Konfiguracija

Možnost Privzeto Opis
pagename theme Ime strani theme po imenskem prostoru (analogno $conf['sidebar'])

Delovanje

  1. Kljuka dejanja DOKUWIKI_STARTED (strani), DETAIL_STARTED (podrobnostne strani medijev) oziroma MEDIAMANAGER_STARTED (pojavno okno upravitelja medijev, imenski prostor iz parametra ns) se izvede pred vključitvijo predloge; ?do=admin je namerno izvzet (sicer bi Config Manager prikazal nastavitve predloge za preglasitev)
  2. Pomočnik poišče najbližjo stran theme (pomik po imenskem prostoru navzgor, kot page_findnearest(), namerno brez preverjanja ACL — stran theme je konfiguracija in mora veljati tudi za anonimne obiskovalce)
  3. Ime predloge se prebere iz surovega wikibesedila prek regex (brez obremenitve razčlenjevalnika)
  4. Ob uspehu: $conf['template'] se preklopi — URL-ji CSS/JS (css.php?t=…, js.php?t=…) in njihovi po predlogi ločeni predpomnilniki sledijo samodejno, razveljavitev predpomnilnika ni potrebna

Varnost

Preverjanje Rešitev CWE
Path Traversal Beli seznam: ^[a-zA-Z0-9_-]+$ in is_dir(lib/tpl/<ime>) CWE-22
XSS hsc() na vseh izpisih informacijskega polja CWE-79

Neveljavna ali nenameščena imena predlog v celoti onemogočijo preglasitev — privzeta predloga ostane aktivna (brez tihega povratka na dokuwiki).

Omejitve

  • Ciljne predloge morajo uporabljati tpl_basedir()/tpl_incdir(). Predloge s konstantama DOKU_TPL/DOKU_TPLINC, zamrznjenima ob zagonu (npr. flat), delujejo le kot privzeta predloga, ne kot cilj preklopa.
  • Stran theme velja od svojega imenskega prostora navzdol; globlja stran theme v celoti prevlada nad višjo (tudi če je neveljavna — takrat velja privzeta predloga).

Pogodba o slogih (--wk-*)

Da so komponente (predloge blogtng, značke revizije, izsečki) skladne pod vsako predlogo, velja zavezujoč nabor lastnosti CSS Custom Properties. Vsaka predloga definira ista imena žetonov z lastno paleto:

Predloga Definicija Paleta
flat lib/tpl/flat/css/color-palette.css WvdS Meadow (terakota/zlata/papir)
premium-navy-ivory lib/tpl/premium-navy-ivory/css/tokens.css + css/schemes/riviera.css (privzeto) Od 2026-07-10 natanko tri znamkovni poudarki, izbirni prek možnosti colorscheme: riviera (privzeto, mornarsko modra/jeklena azurna/zlata/slonokoščena, prej navy-ivory), night (polno temno platno, zlati poudarki), white (svetlo platno, mornarsko moder okvir). Prejšnje barvne možnosti WP meadow/green/red so bile ob tem odstranjene. Profil območja wiki se ne glede na to nastavitev vedno izriše z white (glejte BizWay (hišna predloga)).

Odjemalci pišejo var(–wk-accent, #fallback) — rezervna vrednost se uporabi le pri predlogah brez definicije pogodbe.

Pregled žetonov

Skupina Žetoni
Osnovno –wk-ink, –wk-paper, –wk-accent[-dark|-light], –wk-gold[-dark|-light], –wk-rule
Površine –wk-surface, –wk-surface-alt, –wk-surface-muted
Besedilo –wk-text, –wk-text-alt, –wk-text-muted, –wk-text-on-dark, –wk-text-on-accent
Povezave –wk-link, –wk-link-hover, –wk-link-missing
Robovi –wk-border, –wk-border-light, –wk-highlight
Stranska vrstica –wk-sidebar-bg[-alt], –wk-sidebar-text[-muted], –wk-sidebar-border, –wk-sidebar-hover
Povratne informacije –wk-success, –wk-warning, –wk-error, –wk-error-bg
Skrbništvo/fokus/gumbi –wk-admin-*, –wk-focus[-shadow], –wk-btn-primary[-hover|-text]

Opomba o pomenu: –wk-gold je pogodbeni sekundarni poudarni prostor. Flat mu dodeli jantarno, BizWay pa naftno modro — odjemalci ne smejo predpostaviti „zlate barve“, temveč le „sekundarni poudarek“.

Obvezno za nove predloge: definirajte celoten nabor žetonov (predloga: ena od zgornjih dveh datotek), sicer vsi odjemalci padejo na svoje rezervne vrednosti.


Sorodno

  • Predloga Premium Navy Ivory (mapa premium-navy-ivory; preostali vtičnik se od 2026-07-09 imenuje wvdspremiumnavyivory in ponuja le še preusmeritev pristajanja/imenskega prostora, brez možnosti/izrisovanja) — prva predloga kot cilj preklopa
  • wvdscond — pogojna vsebina/preusmeritve (čas izrisa, ni primerno za preklop predloge)
sl/wiki/dwe/legacy/wvdstheme.txt · Zadnja sprememba: uporabnika 0.0.0.0