NaslagPipelineGroenblijvendbijgewerkt 2026.086 min. leestijd
Naslag · de Markdown-pipeline, opgevoerd

De staalkaart

Elk element van de Markdown-pipeline van deze site treedt op deze pagina één keer op: inline-markeringen, wikilinks, tabellen die kaarten worden, callouts in drie schrijfwijzen, wiskunde, codeframes, diagrammen, emoji-shortcodes, GFM-extra's — en ook de leestijd in de strook hierboven komt uit de pipeline. Dat de pagina überhaupt bouwt ís de demonstratie: de poortwachter wijst elke misvormde schrijfwijze uit de lijst aan het slot af, dus wat je ziet is wat het dialect accepteert. Twee schakelaars die deze site uit laat — de nummeringspreset sections en het subpad-voorvoegsel base — staan beschreven in de gids.

4 delen · elke schakelaar die deze site aanzet · de afwijzingen van de poortwachter op het eind

PART ITekst

§1.1Inline-markeringen

De nadrukparser is CJK-vriendelijk: vet sluit zelfs tegen Chinese leestekens aan**报文。**同时 rendert als 报文。同时, niet als letterlijke sterretjes. Cursief, doorhalen en inline code werken zoals je gewend bent; met de schakelaar gemoji rendert een shortcode als :sparkles: als ✨. Tekens binnen inline code doen aan geen enkele parsing mee, dus backticks zijn de veilige manier om syntaxis te tonen: **, $…$ en > [!note] verschijnen allemaal letterlijk. Wil je een sterretje in lopende tekst laten zien, escape het dan — *zoals hier* blijft gewoon staan.

Met de schakelaar wikilinks aan worden [[dubbele-blokhaken]]-links opgelost tegen de notitiecollectie, zoals een wiki dat hoort te doen: op id (design-tokens — vanuit een Nederlandse spiegelnotitie landt zo'n link eerst op de spiegel in dezelfde taal en pas daarna op het Engelse origineel), op alias (boundaries bereikt de notitie met id three-way-split) en met een label (de aan-de-slag-gids). Een doel dat nergens toe leidt, rendert als een gemarkeerde dode link in plaats van de build te breken — en de CLI check-wikilinks van de engine rapporteert hem in CI, waar linkrot thuishoort.

§1.3Tabellen: scrollen als het breed is, kaarten als het smal is

Een tabel met zes of meer kolommen hoort in een smalle container één rij per kaart te hervormen, in plaats van elke cel tot twee tekens samen te persen. Deze tabel met zeven kolommen is tegelijk het spiekbriefje van de callout-varianten én een live test van die hervorming (knijp het venster tot telefoonbreedte):

VariantClassTrefwoorden in de citaatsyntaxisRandOndergrondStandaardtitelTypisch gebruik
notecalloutnote info赭 oker --color-accent3wiskundegrond --color-math-bgNoteneutrale kanttekeningen
intuitioncallout intuitiontip intuition hint黛 teal --color-accent2wiskundegrondIntuitionanalogieën die intuïtie opbouwen
warncallout warnwarn warning caution danger石 gebrand oranje --color-accent8% accentmengingWarningwaarschuwing vóór riskante stappen
systemcallout systemimportant system紫 violet --color-accent48% violetmengingImportantconventies op systeemniveau
abstractcallout abstractabstract summary quotevale inkt --color-ink-faintzacht oppervlak --color-bg-softAbstractsamenvattingen aan het begin van een hoofdstuk
badcallout bad(alleen rauwe HTML)石 gebrand oranje10% accentmengingvastgelegde fouten, verworpen ontwerpen

De standaardtitels zijn Engels; een site vervangt de hele set via de optie calloutLabels van siteMarkdown, bijvoorbeeld calloutLabels: { tip: 'Intuïtie', warn: 'Waarschuwing' }. Een titel die in de citaatsyntaxis zelf staat (> [!tip] Mijn titel) wint altijd.

PART IICallouts en wiskunde

§2.1Callouts: drie schrijfwijzen

Ten eerste de Obsidian/GitHub-citaatsyntaxis (beschikbaar met callouts: true, werkt ook in kale Markdown-bestanden):

De vouwmarkering van Obsidian wordt gerespecteerd — > [!note]- rendert ingevouwen, > [!note]+ open:

Een ingevouwen notitie

Klik op de titel om haar te openen. Ingevouwen callouts renderen als <details> met de titel als hun <summary>.

Ten tweede het pakketcomponent in MDX (astro-inkstone/components/Callout.astro, per pad geïmporteerd). Zonder title toont het het standaardlabel van de variant, hetzelfde dat de citaatsyntaxis gebruikt:

Ten derde rauwe HTML, alle zes varianten in één keer (één-op-één met de .callout-regels van base.css):

Notitie
Een neutrale kanttekening. De onaangepaste .callout-class is precies dit.

Intuïtie
Teal linkerrand, voor alinea's over hoe je het moet zien in plaats van wat het is.

Waarschuwing
Gebrand-oranje linkerrand op een 8% accentgrond — verschijnt vóór de stap die mis kan gaan.

Systeem
Violette linkerrand, voor conventies op systeemniveau: begrijp eerst waarom iets bestaat voordat je het verandert.

Samenvatting
Vale-inktrand op het zachte oppervlak, voor het snelle overzicht aan het hoofd van een hoofdstuk.

Fout
Legt fouten en verworpen implementaties vast. Zonder deze variant verdwijnt het feit dát iets fout is geruisloos.

§2.2Wiskunde

Inline-formules staan gewoon in de tekst: de optische diepte leest als τ=κρds\tau = \int \kappa \rho \, \mathrm{d}s. Display-wiskunde gebruikt de drieregelige vorm ($$ op eigen regels) — de poortwachter wijst de éénregelige vorm af, die anders geruisloos als kleine inline-formule zou renderen:

01x2dx=13\int_0^1 x^2 \, \mathrm{d}x = \frac{1}{3}

De formulegrond is met opzet een ander papier dan dat van de lopende tekst, en wisselt mee met het thema. Escape trouwens dollarprijzen in lopende tekst: deze koffie kost $3.

PART IIICode en diagrammen

§3.1Codeframes

Een codeblok met title="…" krijgt een titelbalk met de bestandsnaam; de kopieerknop in de hoek is site-breed. Regelannotaties [!code ++] / [!code --] renderen als diff-gronden:

pipeline.py
def build_pipeline(opts):
    plugins = [remark_math]  
    plugins = [remark_gemoji, remark_math]  
    return assemble(plugins, guard=opts.guard)

Een frame met de markering collapse begint ingevouwen en neemt pas ruimte in zodra je het opent — precies goed voor lange configuratiebestanden:

inkstone.example.yamlExpandCollapse
yaml
site:
  markdown:
    numbering: chapters
    math: true
    codeFrame: true
    mermaid: true
    callouts: true
    wikilinks: true
  styles:
    - astro-inkstone/styles/tokens.css
    - astro-inkstone/styles/base.css

De highlighting voor beide thema's komt van shiki, dat beide kleursets tegelijk uitschrijft; base.css kiest er op één plek één via data-theme — geen touwtrekken om specificiteit.

§3.2Mermaid-diagrammen

Een ```mermaid-blok laat bij het bouwen alleen een plaatshouder achter; de renderer wordt dynamisch geladen, uitsluitend op pagina's die een diagram dragen (pagina's zonder betalen niets), en rendert opnieuw wanneer het thema omschakelt:

flowchart LR
  A["astro-inkbrush<br/>engine: bewerken / dialect / poortwachter"] --> C["jouw site<br/>identiteit / routing / deploy"]
  B["astro-inkstone<br/>papier: tokens / stijlen / pipeline"] --> C
  A -. één gedeeld dialect .-> B

§3.3GFM-extra's

Taaklijsten en voetnoten liften mee met GFM:

  • tokens geïmporteerd
  • base.css geïmporteerd
  • identiteitspalet overschreven

Een bewering die een bron verdient, krijgt een voetnoot.1

PART IVDe poortwachter

§4.1Wat de poortwachter op deze pagina afwijst

Dat deze pagina bouwt, is zelf het bewijs dat alles hierboven welgevormd is. De volgende schrijfwijzen zouden de build ter plekke laten stranden (probeer er één, dan npm run build):

  • een nadrukmarkering die geen paar kan vormen, zoals een ** die aan het eind van een regel open blijft staan;
  • éénregelig $$x$$ (gebruik de drieregelige vorm);
  • handgenummerde koppen — de kop van deze sectie schrijven als ## 9. Wat de poortwachter… zou botsen met de nummering die de build zelf aanbrengt, en wordt aangemerkt;
  • MDX dat je proza-accolades evalueert: {0,1,2,3} zou als alleen 3 renderen, dus de poortwachter eist de ge-escapete vorm {0,1,2,3};
  • een formule die KaTeX niet kan renderen (de poortwachter rendert elke formule opnieuw in strikte modus, in plaats van rode fouttekst te laten uitvaren).

Footnotes

  1. Voetnoten renderen onderaan de pagina met teruglinks, opgemaakt door de inhoudslaag.

Titels, secties en lopende tekst, in deze taal.
    ↑↓ · Enter · Escastro-inkstone