Sinds: Nocterra 0.99.5
Terminologie: Technische Nocterra-termen blijven in deze Nederlandse handleiding onvertaald, zodat ze één-op-één terug te vinden zijn in de API, configuratie en article headers.
Nocterra kan één of meer Tables of Contents voor een article genereren op basis van de headings die aanwezig zijn in de article body. Een TOC kan automatisch op een geconfigureerde locatie worden ingevoegd, en aanvullende per-section TOCs kunnen inline vanuit de article text worden ingevoegd.
Een gegenereerde TOC:
Headings die zijn gemarkeerd met toc-ignore worden uitgesloten van TOC generation en verschijnen niet in de TOC.
TOC settings kunnen afkomstig zijn uit:
toc.* keys in de article header).%toc% (gelden alleen voor die TOC expansion).De prioriteit is:
Gelokaliseerde waarden (zoals de TOC title) worden per language bepaald.
In site.php kun je site-wide settings per language definiëren onder {blog.article.<lang_code>. Je kunt deze settings desgewenst per category en language overschrijven onder {blog.categories.<category_name>.<lang_code>}.
| Setting | Beschrijving | Standaard |
|---|---|---|
| article_toc_location | Automatische plaatsing van de TOC | FALSE |
| article_toc_minLevel | Minimaal heading level | {blog.topHeaderLevel}+2 |
| article_toc_maxLevel | Maximaal heading level | {blog.topHeaderLevel}+2 |
| article_toc_subordinate | Subordinate clauses behouden | FALSE |
| article_toc_quote | Quoted segments behouden | FALSE |
| article_toc_tail | Tail clauses behouden | FALSE |
| article_toc_trailing | Trailing separators behouden | FALSE |
| article_toc_stop | Stop character toevoegen | FALSE |
| article_toc_title | Standaard TOC title | '' |
| article_toc_titleLevel | Heading level van de TOC title | {blog.topHeaderLevel}+2 |
De TOC feature is optioneel en vereist geen configuratie om correct te werken. Als niets wordt geconfigureerd, krijgt geen enkele article een automatisch ingevoegde TOC. Authors kunnen nog steeds op verzoek een TOC genereren met de %toc% placeholder.
De voorbeelden hieronder tonen twee veelgebruikte configuraties. Ze bevatten bewust alleen de keys die voor het scenario van belang zijn; weggelaten keys gebruiken gewoon de ingebouwde standaardwaarden van Nocterra.
$blog = array(
...
'article' => array(
'en' => array(
'article_toc_title' => 'On this page',
),
'fr' => array(
'article_toc_title' => 'Sur cette page',
),
),
...
);
In deze configuratie blijft automatic TOC insertion uitgeschakeld (article_toc_location is niet ingeschakeld), waardoor articles nooit een TOC krijgen tenzij een author er expliciet een invoegt in de article text. Authors kunnen een TOC op de gewenste plaats invoegen met %toc% of %toc:Title% (overschrijft de title voor die ene TOC instance). Wanneer %toc% zonder argumenten wordt gebruikt, past Nocterra de standaard heading range van de site en de geconfigureerde gelokaliseerde TOC title toe; de standaard heading range volgt de header policy van de site en wordt intern afgeleid.
$blog = array(
...
'article' => array(
'en' => array(
'article_toc_title' => 'On this page',
),
...
'categories' => array(
'Projects' => array(
'en' => array(
'article_toc_title' => 'In this article',
'article_toc_maxLevel' => 5,
),
),
),
...
);
Deze per category override wijzigt de standaardwaarden die worden toegepast wanneer authors een TOC placeholder invoegen in articles die onder die category zijn gepubliceerd. In plaats van de site-wide TOC title gebruikt de category zijn eigen title en breidt deze de standaard heading range uit met één extra level (bijvoorbeeld zowel <H4> als <H5> in plaats van alleen <H4>). Automatic TOC insertion blijft uitgeschakeld, zodat authors zelf bepalen waar TOCs verschijnen door %toc% (of %toc:Title%) in de article text.
toc-ignore attributeEen heading kan worden uitgesloten van TOC generation door het boolean attribute toc-ignore:
<H4 toc-ignore>Internal notes</H4>
Dit attribute wordt tijdens generation gebruikt en moet niet worden gebruikt als basis voor styling.
Een author kan één of meer aanvullende TOCs rechtstreeks in de article body invoegen met de inline TOC placeholder.
De inline TOC placeholder ondersteunt een optionele argument list:
%toc[:[[titleLevel,]title,][minLevel,maxLevel]]%
Voorbeelden:
%toc%: gebruik de geconfigureerde settings%toc:On this page%: stelt de TOC title in%toc:4,In this section%: stelt de TOC title level en title in%toc:5,6%: genereer een TOC voor heading levels 5–6%toc:4,Section overview,5,6%: stel titleLevel=4, stel de title, en genereer voor levels 5–6Opmerkingen:
text (de title) wordt nooit als getal behandeld; deze mag cijfers bevatten, maar mag niet uitsluitend uit cijfers bestaan.minLevel,maxLevel zijn als paar optioneel.toc.location| Beschrijving: | De toc.location setting bepaalt of een TOC automatisch wordt ingevoegd en waar deze wordt ingevoegd. |
|---|---|
| Article header key: | toc.location |
| Site articles key: | article_toc_location |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_location |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | FALSE (uitgeschakeld) |
| Waarde: | Enumeratie — ondersteunde waarden:
toc.location niet is ingesteld (of ongeldig is), wordt geen automatische TOC ingevoegd. |
toc.minLevel en toc.maxLevelDeze settings bepalen welke heading levels voor opname in aanmerking komen. Alleen headings met minLevel <= Hn <= maxLevel kunnen TOC entries worden.
| Beschrijving: | Het minimale heading level dat een TOC entry kan worden. |
|---|---|
| Article header key: | toc.minLevel |
| Site articles key: | article_toc_minLevel |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_minLevel |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | {blog.topHeaderLevel}+2 |
| Waarde: | Numeriek — 1 tot 6 |
| Beschrijving: | Het maximale heading level dat een TOC entry kan worden. |
|---|---|
| Article header key: | toc.maxLevel |
| Site articles key: | article_toc_maxLevel |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_maxLevel |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | {blog.topHeaderLevel}+2 |
| Waarde: | Numeriek — 1 tot 6 |
toc.title en toc.titleLevelEen TOC kan optioneel een title boven de lijst weergeven.
toc.title:<lang> — gelokaliseerde title string (mag HTML bevatten)toc.titleLevel — heading level gebruikt voor de output van de TOC title| Beschrijving: | Optionele TOC title die boven de lijst wordt weergegeven. De title mag HTML bevatten. |
|---|---|
| Article header key: | toc.title:<lang> |
| Site articles key: | article_toc_title |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_title |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | '' (lege string; geen title) |
| Waarde: | String (mag HTML bevatten). Een lege string schakelt de title uit. |
| Beschrijving: | Heading level dat wordt gebruikt om de TOC title te renderen. |
|---|---|
| Article header key: | toc.titleLevel |
| Site articles key: | article_toc_titleLevel |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_titleLevel |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | {blog.topHeaderLevel}+2 |
| Waarde: | Numeriek — 1 tot 6 |
Wanneer een TOC title is opgegeven, wordt de TOC aan assistive technology aangeboden als een gelabeld navigation landmark, zodat gebruikers deze eenvoudiger kunnen vinden en er direct naartoe kunnen navigeren.
Voor elke opgenomen heading leidt Nocterra de TOC label af uit de text content van de heading en vereenvoudigt deze desgewenst. De volgende inclusieve toggles bepalen welke constructies behouden blijven.
Voorbeeld headings:
<H4>Home networking (quick start): VLAN trunking basics</H4>
<H4>Budgeting basics (2026) — “needs vs wants” explained</H4>
<H4>Cooking risotto (step-by-step) [no fancy tools]</H4>
<H4>Troubleshooting “Why does this happen?” (FAQ)</H4>
<H4>What’s next:</H4>
<H4>A quick note,</H4>
<H4>Just a heading.</H4>
<H4>Great results!</H4>
<H4>スタジオ照明「三点照明」入門(基本)</H4>
<H4>أساسيات الإضاءة «مبتدئين»، ثم شرح: أمثلة سريعة</H4>
<H4>पोर्ट्रेट लाइटिंग “मूल बातें” (शुरुआती)</H4>
Voorbeeld van label shaping toggles om TOC labels te vereenvoudigen:
toc.subordinate = TRUE
toc.quote = FALSE
toc.tail = FALSE
toc.trailing = FALSE
toc.stop = .
Resulterende TOC labels:
Home networking (quick start).Budgeting basics (2026).Cooking risotto (step-by-step) [no fancy tools].Troubleshooting (FAQ).What’s next.A quick note.Just a heading.Great results!スタジオ照明入門(基本).أساسيات الإضاءة ثم شرح.पोर्ट्रेट लाइटिंग (शुरुआती).Voorbeeld van label shaping toggles om TOC labels te vereenvoudigen:
toc.subordinate = FALSE
toc.quote = TRUE
toc.tail = FALSE
toc.trailing = TRUE
toc.stop = .
Resulterende TOC labels:
Home networking.Budgeting basics.Cooking risotto.Troubleshooting “Why does this happen?”What’s next.A quick note.Just a heading.Great results!スタジオ照明「三点照明」入門(基本).أساسيات الإضاءة «مبتدئين»، ثم شرح.पोर्ट्रेट लाइटिंग “मूल बातें” (शुरुआती).Opmerkingen:
(...), en equivalente internationale bracket-vormen.“...”, «... », en 「...」.:, ,, ،, of ؛) en verder.، en ؛).Why?. te voorkomen).| Beschrijving: | Bepaalt het gedrag voor subordinate clauses tussen brackets/parentheses (inclusief internationale bracket-vormen). |
|---|---|
| Article header key: | toc.subordinate |
| Site articles key: | article_toc_subordinate |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_subordinate |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | FALSE |
| Waarde: | Boolean — true behoudt subordinate clauses; false verwijdert ze. |
| Beschrijving: | Bepaalt het gedrag voor quoted segments (inclusief internationale quote-vormen zoals «…», “…” en CJK quotes). |
|---|---|
| Article header key: | toc.quote |
| Site articles key: | article_toc_quote |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_quote |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | FALSE |
| Waarde: | Boolean — true behoudt quoted segments; false verwijdert ze. |
| Beschrijving: | Bepaalt het gedrag voor tail clauses na separators zoals komma's/dubbele punten/puntkomma's en dash-punctuation die als clause separator wordt gebruikt. |
|---|---|
| Article header key: | toc.tail |
| Site articles key: | article_toc_tail |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_tail |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | FALSE |
| Waarde: | Boolean — true behoudt tail clauses; false verwijdert tail clauses vanaf de eerste herkende separator. |
| Beschrijving: | Bepaalt het opschonen van trailing separator punctuation aan het einde van de TOC label (komma/dubbele punt/puntkomma en internationale varianten, inclusief Arabisch ، en ؛). |
|---|---|
| Article header key: | toc.trailing |
| Site articles key: | article_toc_trailing |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_trailing |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | FALSE |
| Waarde: | Boolean — true behoudt trailing separators; false verwijdert trailing separators aan het einde van het label. |
Na eventuele stripping wordt whitespace genormaliseerd (getrimd; herhaalde whitespace wordt samengevoegd).
toc.stopDe toc.stop setting bepaalt het optioneel toevoegen van een stop character aan de TOC label, om TOC labels consistent te maken.
| Beschrijving: | Bepaalt het optioneel toevoegen van een stop character aan de TOC label, om labels consistent te maken. |
|---|---|
| Article header key: | toc.stop |
| Site articles key: | article_toc_stop |
| Site year / category / tag / author key: | Niet ondersteund. |
| Per category key: | article_toc_stop |
| Per tag / author key: | Niet ondersteund. |
| Standaard: | FALSE (geen stop character toegevoegd) |
| Waarde: | Boolean of string:
|
Het stop character wordt alleen toegevoegd wanneer het label eindigt op een word character (Unicode-aware), eventueel gevolgd door afsluitende brackets/quotes. Dit voorkomt output zoals Why?..
Voorbeelden:
In this paragraph:toc.trailing=false en toc.stop='.' → In this paragraph.Why?Why?Nocterra voegt anchor identifiers toe aan headings zodat TOC links ernaar kunnen verwijzen.
Het systeem houdt het minimale en maximale heading level bij waarnaar door een gegenereerde TOC wordt verwezen (inclusief inline TOCs). Na TOC generation worden anchors toegevoegd aan headings waarvan het level binnen dat gebruikte bereik valt.
Dit maakt gemengd gebruik mogelijk, zoals:
<H4>, plus<H5>–<H6>.Zo krijgen alleen headings waarnaar daadwerkelijk door een TOC wordt verwezen anchors.
Dit hoofdstuk geeft praktische voorbeelden van hoe TOC settings (defaults, site article settings, per category overrides en article header keys) kunnen worden gecombineerd met inline TOC placeholders om veelgebruikte layouts te realiseren.
Voeg voor alle articles in een language automatisch één TOC in aan het begin van de article body met de standaard heading level policy. Met de settings hieronder krijgt iedere article een TOC bovenaan de article body, met links naar headings op het standaardlevel (doorgaans <H4> als de site <H2> als top header level gebruikt).
Stel in site.php in:
$blog = array(
...
'article' => array(
'en' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'On this page',
),
'nl' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'Op deze pagina',
),
'fa' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'در این صفحه',
),
),
...
);
Voeg voor een specifieke category de TOC bovenaan in en neem standaard diepere headings op (bijvoorbeeld <H4> en <H5>). Gebruik een category-specifieke TOC title. Met de settings hieronder krijgen articles in de Projects category een TOC met een andere title en een dieper standaardbereik, zonder andere categories te beïnvloeden.
Stel in site.php in:
$blog = array(
...
'article' => array(
'en' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'On this page',
),
'ja' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'このページの内容',
),
),
...
'categories' => array(
'Projects' => array(
'en' => array(
'article_toc_maxLevel' => 5,
'article_toc_title' => 'In this article',
),
'ja' => array(
'article_toc_maxLevel' => 5,
'article_toc_title' => 'この記事の内容',
),
),
),
...
);
De site voegt normaal automatisch een TOC in, maar een specifieke article moet geen automatisch ingevoegde TOC krijgen.
Met het key/value pair dat in de article header is ingesteld, wordt voor die article geen automatische TOC ingevoegd. Inline TOCs kunnen nog steeds worden gebruikt via %toc% placeholders.
Opmerking: Gebruik voor boolean “off” de waarden die je editor benadrukt of die je zelf handig vindt. Als je standaardiseert op FALSE of off, documenteer die conventie dan site-wide voor consistentie.
Stel in site.php in:
$blog = array(
...
'article' => array(
'nl' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'In dit artikel',
),
'fy' => array(
'article_toc_location' => 'body_top',
'article_toc_title' => 'Yn dit artikel',
),
),
...
);
Voeg in de article file de volgende header key/value toe:
toc.location = off
Op een site die verder geen automatische TOCs gebruikt, kan een specifieke article toch een TOC bevatten. In het article file snippet hieronder wordt een automatisch gegenereerde TOC na een inleidende paragraph ingevoegd, waarbij de TOC title en de opgenomen heading levels in de article header worden geconfigureerd.
In de article file:
author = Emre
published = 2024-11-12
category = Fotoğrafçılık
tags = Aydınlatma, Stüdyo, Portre, Temel bilgiler, Ekipman, Pratik ipuçları
keywords = fotoğraf aydınlatma, ışık yönü, yumuşak ışık, sert ışık, üç nokta ışık, portre ışıklandırma, stüdyo ışığı, softbox, reflektör, ışık ölçümü, pozlama, ISO diyafram enstantane, gölge kontrolü, ışık kalitesi
title = Fotoğraf Aydınlatma Rehberi: Işığı Kontrol Etmeyi Öğrenin
description = Başlangıç seviyesinde fotoğraf aydınlatma: ışığın yönü ve kalitesi, sert/yumuşak ışık, temel ekipman ve pratik portre ışıklandırma adımları.
toc.title = Bu yazıda
toc.maxLevel = 5
toc.quote = TRUE
toc.stop = TRUE
[body]
<P>Bu yazı, hobi fotoğrafçılığı yapanlar için temel bir <STRONG>aydınlatma</STRONG> eğitimidir. Işığın yönünü, kalitesini ve gölgeleri nasıl kontrol edeceğinizi adım adım ele alacağız. Evde basit ekipmanla başlayıp, stüdyo kurulumlarına kadar uzanan pratik örnekler bulacaksınız.</P>
%toc%
<H4>Işığı anlamak: yön, kalite ve kontrast</H4>
<P>...</P>