Ein einfaches Inhaltsverzeichnis (TOC) und nummerierte Überschriften sind in PmWiki 2.2.119 enthalten und können mit dem folgenden Eintrag in der config.php-Datei aktiviert werden:
$PmTOC['Enable'] = 1;
Dieser Zusatz basiert auf dem Rezept Cookbook:AutoTOC, ist aber ein wenig vereinfacht.
%notoc%-Klasse werden nicht in das Inhaltsverzeichnis aufgenommen.
(:markup:)-Blöcken werden ignoriert.
Die folgenden Direktiven können den obigen Zusatz beinflussen:
(:toc:) : Das Inhaltsverzeichnis wird an dieser Position (anstatt an der voreingestellten) eingefügt, selbst bei weniger als drei möglichen Einträgen.
(:notoc:) : Das Inhaltsverzeichnis wird unterdrückt, selbst wenn es drei oder mehr Überschriften gibt oder eine (:toc:)-Direktive. Wenn Sie eine Seite mit nur einer Überschrift haben, könnten Sie (:notoc:) einsetzen, um die Nummerierung zu unterdrücken.
(:toc:) als auch (:notoc:) gewinnt das Letztere und es gibt kein Inhaltsverzeichnis.
Das Inhaltsverzeichnis nutzt Anker oder IDs der Überschriften der Seite, wenn sie existieren, anderenfalls werden IDs (Hash) auf Grund der Seitenstruktur erzeugt. Folgende Markups erzeugen alle einen Link mit dem Anker in der Form PageUrl#hier:
!!#hier Überschrift mit einer ID (ab PmWiki 2.5.5)
!! Überschrift mit einer ID %block id=hier%
!! Überschrift mit einem Inline-Anker [[#hier]], oder
!! [[#hier]] Überschrift mit einem Inline-Anker
[[#hier]]!! Der Anker geht der Überschrift voraus
Wenn es keine ID oder keinen Anker an der Überschrift gibt, wird der Anker in der Form
#toc-1.2.1 erzeugt, wobei 1.2.1 der strukturelle Pfad zu dem Abschnitt mit der Überschrift ist, in diesem Beispiel "Abschnitt 1, Unterabschnitt 2, Unter-Unterabschnitt 1".
Die folgende Konfiguration (in der local/config.php-Datei) kontrolliert die Voreinstellungen:
$PmTOC['Enable'] = 1; # aktiviere TOC und/oder nummerierte Überschriften, Voreinstellung ist 'beides ist deaktiviert'.
$PmTOC['MaxLevel'] = 6; # Überschriftenebenen, die in das Inhaltsverzeichnis aufgenommen werden, voreingestellt sind <h1> bis <h6>. Setzen Sie den Wert auf 3, um nur die Überschriftenebenen <h1> bis <h3> einzuschließen.
$PmTOC['MinNumber'] = 3; # minimale Anzahl von Überschriften in der Seite, um ein Inhaltsverzeichnis zu erzeugen. $PmTOC['MinNumber'] = 2; # Seiten mit 2+ Überschriften bekommen eine TOC
$PmTOC['MinNumber'] = 9999999; # Das Verzeichnis wird nicht automatisch angelegt, nur die explizite (:toc:)-Direktive wird ein Inhaltsverzeichnis in die Seite einfügen.
$PmTOC['NumberedHeadings'] = '1.1.1.1.1.1'; # die Überschriften werden nummeriert (normalerweise deaktiviert).
1 (arabische Ziffern), I or i (römische Ziffern), A or a (Buchstaben A-Z oder a-z). So setzt zum Beispiel die Wahl von $PmTOC['NumberedHeadings'] = 'I.1.a'; $PmTOC['MinNumber'] = 9999999; # aktiviere nur die Nummerierung der Überschriften, ohne dass ein Inhaltsverzeichnis angelegt wird. Sie müssten aber dennoch $PmTOC['Enable'] = 1; setzen.
$PmTOC['MinNumberedHeadings'] = 2; # die Überschriften werden nummeriert, wenn wenigstens so viele Überschriften vorhanden sind.
$PmTOC['EnableBacklinks'] = 1; # fügt nach den Überschriften "^"-Pfeile ein, die zurückverweisen auf das Inhaltsverzeichnis (normalerweise deaktiviert).
$PmTOC['ParentElement'] = "#wikitext"; # Der Abfrage-Wähler (query selector) des HTML-Elements, in das das Inhaltsverzeichnis eingefügt wird (und das dadurch zu dessen Elternelement wird). Standardmäßig wird das Inhaltsverzeichnis vor der ersten Überschrift eingefügt. Hier können Sie ein anderes Element auswählen. Wenn das Element mit dieser Konfigurationszeile ausgewählt wird, wird das Inhaltsverzeichnis ganz am Anfang dieses Elements eingefügt. die (:toc:)-Direktive kann dieses Element überschreiben.
Die folgenden Zeichenketten können in der XLPage übersetzt werden, z. B. in Französisch:
"Contents" => "Sommaire", "show" => "afficher", "hide" => "masquer",
Um das "^" Dachzeichen in den zurück-zum-TOC-Links zu ändern, können Sie in pub/css/local.css folgendes hinzufügen:
.back-arrow::after {
/* Use one of the content: lines */
content: "\2191"; /* ↑ Up arrow */
content: "\21A9"; /* ↩ Return arrow */
content: "\2934"; /* ⤴ Up-right arrow */
content: "\2912"; /* ⤒ Upwards arrowhead */
content: "\2303"; /* ⌃ Control symbol */
content: "\21E7"; /* ⇧ Upwards white arrow */
content: "\2302"; /* ⌂ House */
content: "\21B0"; /* ↰ Upwards arrow with tip */
content: "\21A5"; /* ↥ Upwards arrow from bar */
content: "\25B2"; /* ▲ Black up-pointing triangle */
content: "\261D"; /* ☝🏻 Up-pointing index emoji */
/* Or some small text */
content: "[Contents]"; font-size: 0.6rem; vertical-align: super;
}
Wenn Sie das Inhaltsverzeichnis lieber oben rechts angesiedelt sehen möchten, können Sie in Ihre local.css-Datei das Folgende eintragen:.PmTOCdiv {
float: right;
margin-left: 5px;
}
Die voreingestellte Schriftgröße ist 13px und die voreingestellte maximale Höhe ist 40vh (40% der Schirmhöhe). Wenn die Tabellenhöhe den Maximalwert übersteigt, erscheint ein Schiebebalken.
Sie können die Schriftgröße des Inhaltsverzeichnisses und die maximale Tabellenhöhe beeinflussen, indem Sie das Folgende in Ihre local.css-Datei eintragen:.PmTOCdiv {
font-size: 15px;
max-height: 600px;
}
Die Nummerierung für eine Überschrift enthält alle "Väterlevel" wie "2.3.1." Wenn Sie nur die Nummer der aktuellen Überschrift sehen wollen, z. B. "1", fügen sie der local.css-Datei das Folgende hinzu:
.pmnumwrap > span:not(:last-child) {
display: none;
}
Siehe auch: Cookbook:AutoTOC. Wenn Sie davor AutoTOC benutzt haben, müssen sie es deaktivieren, wenn Sie $PmTOC aktivieren.
Übersetzung von PmWiki.TableOfContents, Originalseite auf PmWikiDe.TableOfContents — Backlinks
| Zuletzt geändert: | PmWikiDe.TableOfContents | am 26.12.2025 |
| PmWiki.TableOfContents | am 22.12.2025 |