Variablenersetzungen in den Skin-Vorlagen werden alle durch die Funktion FmtPageName() aus pmwiki.php durchgeführt. PmWiki-Variablenersetzungen, auf die in den Seiten zugegriffen werden kann, werden durch die -Ersetzung aus stdmarkup.php gemanaged oder werden übergeordnet in local/config-Dateien definiert.
$ActionSkin$ActionSkin['print']='foo' zu setzen, um das 'foo'-Skin zum Drucken einzustellen, was auch immer sonst in der $Skin-Variable eingestellt ist.
$ActionTitleFmt$HTMLTitleFmt oder die Skin-Vorlage) ein. Per Voreinstellung ist das lokalisiert, aber Sie können das ändern:
$ActionTitleFmt['edit'] = ': $[Edit]'; # Benutzen Sie einen ":" Doppelpunkt als Trenner
$ActionTitleFmt['edit'] = ' $[Edit] '; # Leerzeichen als Trenner, kann am Anfang von $HTMLTitleFmt plaziert werden.
$WikiTitle$HTMLTitleFmt<title>...</title>-Elements in der Skin-Vorlage überschreibt. Hier können Sie das Format ändern, ohne die Skin-Vorlage zu bearbeiten. Zum Beispiel:
$HTMLTitleFmt = '$Title | $WikiTitle $ActionTitle'; # Seitentitel zuerst, dann den Titel $WikiTitle, dann die Aktion, also etwa "| Edit"; die Wikigruppe $Group ist ausgelassen.
$HTMLTitleFmt = '$Title | $GroupHomePageTitle'; # Seitentitel zuerst, dann den Titel der Gruppen-"Landingpage",siehe PageVariables.
$EnablePageTitlePriority(:title ...:)-Seiten-Direktiven gehandhabt werden (hinzugefügt in 2.2.9).
$EnablePageTitlePriority = 0; # PmWiki-Voreinstellung, der zuletzt eingestellte Titel gewinnt (der Titel könnte von Include-Seiten oder vom GroupFooter geändert werden).
$EnablePageTitlePriority = 1; # der erste Titel gewinnt; wenn ein Titel in der Seite definiert wird, kann er von Include-Seiten nicht überschrieben werden.
$EnableDiffInline$EnableDiffInline = 0; # Farben abschalten, reine Textunterschiede anzeigen
$EnableRCDiffBytes$EnableRCDiffBytes = 1; # Zeige den Byte-Unterschied zur vorigen Version an
:
.diffmarkup { font-family:monospace; font-size: 0.9em; }
.diffmarkup del { background:#ff9; text-decoration: none; }
.diffmarkup ins { background:#9f9; text-decoration: none; }
$CurrentTime$TimeFmt. Sie wird in RecentChanges (vor 2.3.0) und Benutzersignaturen benutzt.
$CurrentLocalTimeRecentChanges ('RecentChanges') gespeichert wird (ab 2.3.0). Dieser Zeitstempel wird in der Greenwich Mean Time (UTC/GMT) im Wikiquelltext gespeichert, wird aber entsprechend der Variablen $TimeFmt in der Zeitzone des Wikis angezeigt. Wenn $EnableLocalTimes aktiviert ist, wird der Zeitstempel in der lokalen Zeit des Besuchers angezeigt. Das gleiche Format wird in Benutzersignaturen gespeichert, wenn $EnableLocalTimes aktiviert ist.
$EnablePmUtils$EnablePmUtils auf 1 gesetzt (aktiviert), aber die meisten ihrer Funktionen benötigen eine individuelle Aktivierung ($EnableLocalTimes, $EnableHighlight, $PmTOC, $LinkFunctions['mailto:'], $EnableCopyCode, $EnableSortable, $ToggleNextSelector, $EnablePmSyntax, $CustomSyntax, $EnableDarkThemeToggle). Setzen Sie diese Variable auf 0, um alle diese Funktionen zu deaktivieren.
$EnableDarkThemeToggle $EnableDarkThemeToggle = 0; Dark-Theme-Umschaltung ist deaktiviert, selbst wenn das Skin sie unterstützt
$EnableDarkThemeToggle = 1; Dark-Theme-Umschaltung ist aktiviert, mit dem hellen Theme als Voreinstellung
$EnableDarkThemeToggle = 2; Dark-Theme-Umschaltung ist aktiviert, mit dem dunklen Theme als Voreinstellung
$EnableDarkThemeToggle = 3; benutze automatisch das vom Browser bevorzugte Theme
$ImgDarkSuffix
$EnableLocalTimes $EnableLocalTimes = 2; Aktiviert lange lokale Zeit wie in MM/DD/YYYY HH:MM:SS.
$EnableLocalTimes = 1; Aktiviert kompakte lokale Zeit, entweder HH:MM (innerhalb von 24 Stunden), MM/DD oder DD/MM (innerhalb von 11 Monaten) oder DD/MM/YYYY, wenn die Zeit länger als 11 Monate zurückliegt. Das lange Format erscheint in einem Tooltip, wenn die Maus über dem kurzen Zeitformat verharrt.
$EnableLocalTimes = 3; Wie die kompakte lokale Zeit, aber bei einem Datum innerhalb von 11 Monaten wird MM'YY angezeigt.
$EnableLocalTimes auf 3 gesetzt, wenn $EnableCommonEnhancements aktiviert ist.
$EnablePmSyntax$EnableHighlight) Wenn diese Variable auf 1 gesetzt wird, aktiviert sie die PmSyntax, eine farbliche Syntax-Hervorhebung für die PmWiki-Markup-Sprache, die die Dokumentation leicher lesbar macht (ab 2.3.0). Wenn diese Variable auf 2 gesetzt wird, aktiviert sie auch noch die experimentelle Syntax-Hervorhebung in der Bearbeiten-Seite:
$EnablePmSyntax auf 2 gesetzt, wenn $EnableCommonEnhancements aktiviert ist.
$EnablePmSyntax = 1; # Hervorhebung in Dokumentationen $EnablePmSyntax = 2; # beides, Dokumentation und Bearbeiten-Seite if ($action=='edit') $EnablePmSyntax = 2; # nur Bearbeiten-Seite
$CustomSyntax:
$EnableHighlight$EnablePmSyntax) Wenn diese Variable auf 1 gesetzt wird, aktiviert sie die Kompatibilität mit der highlight.js-Bibliothek, die den Programmkode farblich hervorhebt. Zusätzlich müssen Sie diese Bibliothek einschließen und ihre Kodeblöcke mit dem Wikistil %highlight% markieren, siehe WikiStyles#highlight.
$EnableCopyCode[+]-Schaltfläche rechts oben an einen vordefinierten Block hinzu. Ein Benutzer, der darauf klickt, fügt den Text des vorformatierten Blocks zu seinem System-Klemmbrett hinzu. Beachten Sie, dass das nur bei sicheren URLs (HTTPS) funktioniert: $EnableCopyCode = 1; # füge eine [+]-kopiere-Kode-Schaltfläche an vordefinierte Blöcke hinzu
$HTMLTagAttr<html...>-Tags in der Layoutvorlage ('Skin template'), er ist standardmäßig leer. Um zum Beispiel ein "lang"-Attribut hinzuzufügen, setzen Sie das Folgende in Ihre config.php-Datei: $HTMLTagAttr = 'lang="en" xml:lang="en"';
<html xmlns="http://www.w3.org/1999/xhtml" $HTMLTagAttr>
$HTMLStylesFmt$HTMLHeaderFmt<head>-Bereich eingefügt wird an der Stelle, wo die Skin-Vorlage eine <!--HTMLHeader-->-Anweisung enthält. Dieses Array bietet einen einfachen Platz für Skripten, um spezifische HTML-Header-Zeilen einzufügen.
$HTMLHeaderFmt['favicon'] = '<link href="http://path/to/icon.png" type="image/png" rel="icon" /> <link href="http://path/to/icon.ico" type="image/x-icon" rel="shortcut icon" />';
$HTMLHeaderFmt['rss'] = '<link rel="alternate" type="application/rss+xml" title="RSS Recent Changes" href="$ScriptUrl/Site/AllRecentChanges?action=rss" />';
$HTMLHeaderFmt['das-javascript'] = '<script src="path/to/script.js"></script>';
$HTMLHeaderFmt oben, enthält diese Variable ein Array mit HTML-Text, der ziemlich am Ende der HTML-Seite an der Stelle eingefügt wird, die durch die <!--HTMLFooter-->-Direktive in der Skin-Vorlage bezeichnet ist (gewöhnlich direkt vor dem schließenden <body>-Tag). Das wird vornehmlich durch Skripten benutzt, um eine spezifischen HTML-Ausgabe am Ende der Seitenausgabe einzufügen.
$HTMLHeader1Fmt$HTMLHeaderFmt oben, wird aber sehr früh gleich nach dem öffnenden <head>-Tag eingefügt. Das ist für die Kern-Libraries, Stile und Dark-Scheme vorgesehen. Um eines davon zu deaktivieren, können Sie folgendes machen:
# kein core CSS einfügen unset($HTMLHeader1Fmt['core-css']);
$MetaRobots<meta name='robots' ... />-Tags, das PmWiki erzeugt, um den Zugriff der Suchmaschinen-Roboter auf die Site zu regeln. PmWikis Voreinstellungen erlauben den Suchmaschinen nichts außer die reinen Textseiten zu indexieren (also z. B. nicht dem Link 'Bearbeiten' zu folgen), auch die Seiten der PmWiki-WikiGruppe wird nicht in die Suchmaschine aufgenommen. Setzt man $MetaRobots explizit, so werden diese Voreinstellungen überschrieben.
# diese Site niemals indexieren $MetaRobots = 'noindex,nofollow'; # das Robots-Tag ganz und gar deaktivieren $MetaRobots = '';
$MessagesFmt(:messages keys=a,b details=open:)-Seitendirektive angezeigt wird. Gewöhnlich wird es benutzt, um Angaben bezüglich der Bearbeitung von Seiten auszugeben.
$RecentChangesFmt$RecentChangesFmt['$SiteGroup.AllRecentChanges']
'* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]'
. . .). Die beiden Leerzeichen trennen zwei Teile des Formats: der erste Teil ändert sich nicht (z. B. ein Verweis auf die geänderte Seite, der zweite Teil ändert sich (z. B. der Autor und das Datum der Änderung). Beim Speichern einer Seite, entfernt PmWiki eine Zeile, die auf den ersten Teil passt, und fügt eine Zeile hinzu mit dem aktuellen Format vor der ersten Zeile mit zwei Leerzeichen. Auf diese Weise bleibt jede Zeile ohne zwei aufeinanderfolgende Leerzeichen oben am Anfang auf der Änderungen-Seite.
$RecentChangesFmt['$SiteGroup.AllRecentChanges'] =
'* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';
$RecentChangesFmt['$Group.RecentChanges'] =
'* [[{$Group}/{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';
$CurrentLocalTime. Das zeigt exakt das, was $CurrentTime früher zeigte. Wenn jedoch $EnableLocalTimes gesetzt ist, werden die Zeit und das Datum im lokalen Format und mit der Zeitzone des Besuchers umgeschrieben.
Aktuelle Änderungen' und 'Alle Änderungen' zu melden, siehe PmWiki Questions. Mehr Informationen über das Anpassen der RecentChanges-Seiten finden Sie hier: CustomRecentChanges?
$RecentUploadsFmt$RecentChangesFmt. Wenn es aktiviert wird, werden neue hochgeladene Dateien in den 'Aktuellen Änderungen' geloggt. Voreinstellung ist inaktiv. Siehe Cookbook:RecentUploadsLog für weitere Informationen. Siehe auch $EnableRecentUploads.
$EnableRecentUploads$RecentUploadsFmt nicht gesetzt ist, aktiviert sie die Anzeige der Anhänge in einem Standardformat nur in der Seite Site.AllRecentChanges (AllRecentChanges). Das wurde in 2.3.0 hinzugefügt, um die Möglichkeit leicht mit einigen Standardeinstellungen zu aktivieren, die für die meisten Wikis gut passen könnten.
$EnableRecentUploads auf 1 gesetzt, wenn $EnableCommonEnhancements aktiviert ist.
$DraftRecentChangesFmt$RecentChangesFmt wird auf $DraftRecentChangesFmt gesetzt, wenn ein Entwurf gespeichert wird. So können Sie z. B. die Entwürfe in einer gesonderten 'Aktuelle Änderungen an Entwürfen'-Seite (engl.: Recent Draft Changes page) auflisten anstatt auf der 'Aktuelle Änderungen'-Seite der Gruppe:
$DraftRecentChangesFmt['$Group.RecentDraftChanges'] =
'* [[{$Group}/{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';
$DraftRecentChangesFmt['$Group.RecentChanges'] = '';
$RCLinesMax $RCLinesMax = 1000; # verwalte höchstens 1000 aktuelle Änderungen
$PageRedirectFmt(:redirect:)-Anweisung umgeleitet wurde.
$PageRedirectFmt = '<p><i>redirected from $FullName</i></p>'; $PageRedirectFmt = '';
$WikiStyle$WikiStyleApply'item' => 'li|dt', 'list' => 'ul|ol|dl', 'div' => 'div', 'pre' => 'pre', 'img' => 'img', 'block' => 'p(?!\\sclass=)|div|ul|ol|dl|li|dt|pre|h[1-6]', 'p' => 'p(?!\\sclass=)'
* %apply=item red%Hier ist ein rotes Listensymbol * Dies Item enthält keinen Stil * %red%Hier ist nur der Text rot, das Listensymbol aber nicht |
|
$WikiStyleApply hinzufügen, um Wikistile auf andere HTML-Elemente auszudehnen, zum Beispiel um Stile auf Tabellenzeilen oder Anker-Tags auszudehnen.
$WikiPageCSSFmt$WikiPageCSSFmt = 'Site.LocalCSS'; # globale Site.LocalCSS-Seite
$WikiPageCSSFmt = '{$Group}.LocalCSS'; # gruppenbezogene LocalCSS-Seite
$WikiPageCSSVars$WikiPageCSSFmt aktiviert wurde, ist dies ein Array mit globalen PHP-$Variablen, die als Präprozessor-@Variablen in jener Seite verfügbar sind. Gewöhnlich enthält das Array: 'FarmPubDirUrl', 'PubDirUrl', 'Skin', 'action', 'SkinDirUrl'.
$EnableSelfWikiPageCSS$WikiPageCSSFmt aktiviert wurde, wird das in ihr definierte CSS nicht auf sie selbst angewendet, wenn sie angesehen oder bearbeitet wird. Falls ein schwerwiegender Fehler in den CSS-Stilen gemacht wurde und die Site dadurch unbenutzbar wird, ist diese Seite immer noch ansehbar und bearbeitbar. Wer mit CSS vertraut ist, kann diese Variable auf 1 setzen und die Stile werden auch auf die Seite selbst angewandt, auch im "Vorschau"-Modus:
$EnableSelfWikiPageCSS = 1; # Wende Stile auf die "Wiki-CSS-Seite" selbst an
$PmTOC$PmTOC['Enable'] = 1; # Aktiviere TOC; (normalerweise 0, deaktiviert).
$PmTOC['Enable'] und $PmTOC['EnableBacklinks'] auf 1 gesetzt, wenn $EnableCommonEnhancements aktiviert ist.
$ToggleNextSelector$MaxIncludes(:include:)- und anderen Anweisungen machen können, das wird genutzt, um endlose Rekursionen in den Griff zu bekommen. $MaxIncludes ist auf 50 gesetzt, kann aber vom Wikiadministrator auf jeden beliebigen Wert gesetzt werden.
$MaxIncludes = 50; # Standard $MaxIncludes = 1000; # erlaubt viele Einfügungen $MaxIncludes = 0; # unterbindet Einfügungen
$Skin$ActionSkin wird das überschrieben. Normalerweise enthält $Skin einen einzigen String, der den Namen eines Skinverzeichnisses enthält, aber es kann auch ein Array von Namen sein, wobei dann das erste gefundene Skinverzeichnis aus der Liste benutzt wird.
$SkinDirUrl$SkinLibDirs$SkinLibDirs = array( "./pub/skins/\$Skin" => "$PubDirUrl/skins/\$Skin", "$FarmD/pub/skins/\$Skin" => "$FarmPubDirUrl/skins/\$Skin");
$SkinTemplateIncludeLevel<!--IncludeTemplate:...--> erlaubt. Normalerweise ist diese Direktive deaktiviert. Wenn die Variable auf 1 gesetzt ist, ist ein Level erlaubt, auf 2 gesetzt darf eine eingefügte Vorlage selbst mittels der Direktive eingefügte Vorlagen enthalten. Es kann bis zu 10 Level geben. Diese Variable kann entweder in der local/config.php-Datei oder direkt in Ihrer Skindatei pub/skins/mein-skin/mein-skin.php (mittels SDV) definiert werden.
# in config.php, erlaube ein Level $SkinTemplateIncludeLevel = 1; # in mein-skin.php, erlaube drei Level SDV($GLOBALS['SkinTemplateIncludeLevel'], 3);
$PageLogoUrl$EnablePathInfo1 gesetzt wird, ist die Url ...wiki.php/Main/Main, wenn sie auf 0 (Standard) gesetzt wird, ist die Url ...wiki.php?n=Main.Main.
$EnableFixedUrlRedirect$EnableFixedUrlRedirect, um daraus einen vollständigen Seitennamen zu machen, dann sendet es ein "redirect" an den Browser, um ihn zu veranlassen, die Seite mit dem vollständigen Seitennamen aufzurufen. Setzt man $EnableFixedUrlRedirect = 0, blockiert man diese Umleitung, so dass PmWiki weiterhin mit dem angegebenen Seitennamen arbeitet statt ein Redirect zu veranlassen.
$GroupHeaderFmt $GroupHeaderFmt = '(:include {$Group}.GroupHeader self=0 basepage={*$FullName}:)(:nl:)';
$GroupPrintHeaderFmtaction=print aktiv ist. Der Standardwert ist:
SDV($GroupPrintHeaderFmt,'(:include $Group.GroupPrintHeader basepage={*$FullName}:)(:nl:)');
$GroupFooterFmt = '(:nl:)(:include {$Group}.GroupFooter self=0 basepage={*$FullName}:)';
action=print aktiv ist. Der Standardwert ist:
SDV($GroupPrintFooterFmt,'(:nl:)(:include $Group.GroupPrintFooter basepage={*$FullName}:)');
$PageNotFoundHeaderFmt# default $PageNotFoundHeaderFmt = 'HTTP/1.1 404 Not Found'; # return all pages as found $PageNotFoundHeaderFmt = 'HTTP/1.1 200 Ok';
Vorsicht vor der Erwartung, es werde der Inhalt von Gruppen-(Headern|Footern) ausgegeben bei einer nicht existierenden Seite. Standardmäßig antwortet PmWiki mit 404 (da ja die Seite nicht existiert), ungeachtet dessen, dass ein bißchen was anzuzeigen ist. Firefox zeigt den Inhalt, wohingegen der Internet-Explorer seine eigene 404-Seite anzeigt. $PageNotFoundHeaderFmt MUSS auf die Rückgabe von 200 eingestellt werden, damit das erwartete Verhalten von allen Browsern gezeigt wird.
$HTMLVSpace$HTMLVSpace = ''; in einer lokalen Anpassungsdatei (z. B. local/config.php) setzen, verhindern Sie die Einfügung von abstanderzeugenden Absätzen (<p class='vspace'></p>) im erzeugten HTML-Kode. Um diese Änderung auf ein einziges Skin zu begrenzen, fügen Sie die $HTMLVSpace = '';-Anweisung in eine skin.php-Datei ein und stellen noch die global $HTMLVSpace;-Anweisung voran.
$EnablePreserveLineBreaks$HTMLPNewline(:linebreaks:) in die Seite oder einen Gruppenkopf (GroupHeader) einfügen zu müssen. Um Zeilenumbrüche als Standard zu setzen, fügen Sie Ihrer config.php-Datei eine der folgenden Zeile hinzu:$EnablePreserveLineBreaks = 1; # äquivalent zu:$HTMLPNewline = '<br/>';
$SimpleTableDefaultClassName $SimpleTableDefaultClassName = "wikisimpletable";$EnableSimpleTableRowspan $EnableSimpleTableRowspan = 1; # Siehe Rezept
$EnableSortable$EnableSortable = 1; # aktiviere sortierbare Tabellen
$TableCellAttrFmt<td>- oder <th>-Zelle mitgegeben werden. Kann Referenzen enthalten auf $TableCellCount, was die Spaltennummer der aktuellen Zelle enthält.
$TableCellAlignFmt<td>- oder <th>-Zellen. Voreinstellung ist " align='%s'", wobei %s ersetzt wird durch 'center', 'left' oder 'right'. Für eine gültigen HTML5-Ausgabe möchten Sie dies vielleicht in der config.php-Datei ändern in$TableCellAlignFmt = " class='%s'";$TableRowAttrFmt<tr>-Zeile in der Ausgabe mitgegeben werden. Kann Referenzen enthalten auf $TableRowCount, der absoluten Gesamtzahl der Zeilen der Tabelle, oder $TableRowIndex, das eine fortlaufende Nummer für jede Zeile liefert von 1 bis $TableRowIndexMax.
# Gib jeder Zeile eine einzigartige CSS-Klasse, # basierend auf der Zeilennummer (tr1, tr2, tr3, ... ) $TableRowAttrFmt = "class='tr\$TableRowCount'"; # Gib den Zeilen alternierende CSS-Klassen (ti1, ti2, ti1, ti2, ti1, ... ) $TableRowIndexMax = 2; $TableRowAttrFmt = "class='ti\$TableRowIndex'";
$TableRowIndexMax# Setze Zeilenindices als 1, 2, 3, 1, 2, 3, 1, 2, ... $TableRowIndexMax = 3;
$TableRowAttrFmt
$EnableTableAutoValignTopvalign='top'-Attribut ein, wenn in der Quelle kein valign-Attribut definiert ist. Wenn Sie in der config.php-Datei diese Variable auf 0 setzen, verhindern Sie diese automatische Hinzufügung.
$EnableTableAutoValignTop = 0; # schalte automatisches valign='top'-Attribut ab
$EnableAutoSkinList$PageSkinList und Skins:SkinChange.
$PageSkinList?skin= oder ?setskin= in dem URL-Aufruf ausgewählt werden können. Siehe auch $EnableAutoSkinList und Skins:SkinChange.
$TrailFmt$TrailFmt['<<|'] = "<span class='wikitrail'><< \$prev | \$trailname | \$next >></span>"; $TrailFmt['<|'] = "<span class='wikitrail'>\$prev\$trailname\$next</span>"; $TrailFmt['^|'] = "<span class='wikitrail'>\$crumbs</span>";
$TrailPathSep^|[[TrailIndexPage]]|^ ). Z. B. $TrailPathSep = ' > '; gibt "TrailIndexPage > TrailPage2 > TrailPage4" aus.
$InputLabelFmt$InputLabelFmt = ' <label for="$LabelFor" $LabelTitle>$LabelText</label> ';
$FmtV['$TableCellCount']$TableCellAttrFmt und $TableRowAttrFmt.
$TableCellAttrFmt = 'class=col\$TableCellCount';
$FmtV['$TableRowCount']$TableCellAttrFmt und/oder $TableRowAttrFmt einsetzen.
$TableRowAttrFmt = "class='row\$TableRowCount'";
$FmtV['$TableRowIndex']$TableRowIndexMax (1,2,3,1,2,3,1,2,...). Administratoren können sie in $TableCellAttrFmt und/oder $TableRowAttrFmt einsetzen.
$TableRowAttrFmt = "class='ind\$TableRowIndex'";
siehe auch Die Bearbeiten-Variablen
Übersetzung von PmWiki.LayoutVariables, Originalseite auf PmWikiDe.LayoutVariables — Backlinks
| Zuletzt geändert: | PmWikiDe.LayoutVariables | am 03.04.2025 |
| PmWiki.LayoutVariables | am 03.04.2025 |