ReferenzPipelineImmergrünaktualisiert 2026.086 Min. Lesezeit
Referenz · die Markdown-Pipeline, vorgeführt

Das volle Programm

Jedes Element der Markdown-Pipeline dieser Site tritt auf dieser Seite genau einmal auf: Inline-Auszeichnungen, Wikilinks, Tabellen, die zu Karten werden, Callouts in drei Schreibweisen, Mathe, Code-Rahmen, Diagramme, Emoji-Shortcodes, die GFM-Extras – und auch die Lesezeit in der Leiste darüber kommt aus der Pipeline. Dass die Seite überhaupt baut, ist die eigentliche Vorführung: Der Inhaltswächter weist jede der am Schluss gelisteten missgebildeten Schreibweisen ab, du siehst also genau das, was der Dialekt akzeptiert. Zwei Schalter, die diese Site auslässt – das Nummerierungspreset sections und das Unterpfad-Präfix base –, beschreibt der Leitfaden.

4 Teile · jeder Schalter, den diese Site einschaltet · am Schluss die Abweisungen des Wächters

PART IText

§1.1Inline-Auszeichnungen

Die Hervorhebungs-Erkennung ist CJK-freundlich: Fett schließt auch gegen chinesische Interpunktion**报文。**同时 rendert als 报文。同时, nicht als wörtliche Sternchen. Kursiv, durchgestrichen und Inline-Code funktionieren wie gewohnt; mit dem Schalter gemoji rendert ein Shortcode wie :sparkles: als ✨. Zeichen in Inline-Code nehmen an keinerlei Parsing teil, Backticks sind darum der sichere Weg, Syntax zu zeigen: **, $…$ und > [!note] erscheinen alle wörtlich. Ein Sternchen im Fließtext bekommt einen Backslash – *so* bleibt es einfacher Text.

Mit eingeschaltetem wikilinks-Schalter lösen sich [[Doppelklammer]]-Links gegen die Notizsammlung auf, wie man es von einem Wiki erwartet: per id (design-tokens – von einer deutschen Spiegelseite aus landet der Link zuerst auf dem Spiegel derselben Sprache und erst dann, wenn es keinen gibt, auf dem englischen Original), per Alias (boundaries erreicht die Notiz mit der id three-way-split) und mit Beschriftung (der Einstiegs-Leitfaden). Ein Ziel, das sich zu nichts auflöst, rendert als markierter toter Link, statt den Build scheitern zu lassen – das CLI check-wikilinks der Engine meldet ihn in der CI, wo Linkfäule hingehört.

§1.3Tabellen: scrollen, wenn breit; Karten, wenn schmal

Eine Tabelle mit sechs oder mehr Spalten soll in einem schmalen Container zeilenweise zu Karten umbrechen, statt jede Zelle auf zwei Zeichen zu quetschen. Diese siebenspaltige Tabelle ist zugleich der Spickzettel der Callout-Varianten und ein Live-Test genau dieses Umbruchs (zieh das Fenster auf Handybreite zusammen):

VarianteKlasseSchlüsselwörter der Quote-SyntaxRandGrundStandardtitelTypischer Einsatz
notecalloutnote info赭 Ocker --color-accent3Mathegrund --color-math-bgNoteneutrale Randbemerkungen
intuitioncallout intuitiontip intuition hint黛 Petrol --color-accent2MathegrundIntuitionAnalogien, die Anschauung aufbauen
warncallout warnwarn warning caution danger石 Brandorange --color-accent8 % Akzent-MischungWarningWarnung vor riskanten Schritten
systemcallout systemimportant system紫 Violett --color-accent48 % Violett-MischungImportantKonventionen auf Systemebene
abstractcallout abstractabstract summary quoteblasse Tusche --color-ink-faintweiche Oberfläche --color-bg-softAbstractÜberblicke am Kapitelanfang
badcallout bad(nur rohes HTML)石 Brandorange10 % Akzent-Mischungfestgehaltene Fehler, verworfene Entwürfe

Die Standardtitel sind Englisch; eine Site tauscht den ganzen Satz über die Option calloutLabels von siteMarkdown, z. B. calloutLabels: { warn: 'Achtung' }. Ein Titel in der Quote-Syntax (> [!tip] Mein Titel) gewinnt immer.

PART IICallouts und Mathe

§2.1Callouts: drei Schreibweisen

Erstens die Obsidian-/GitHub-Quote-Syntax (verfügbar mit callouts: true, funktioniert auch in reinen Markdown-Dateien):

Obsidians Faltmarke wird respektiert – > [!note]- rendert eingeklappt, > [!note]+ offen:

Eine eingeklappte Notiz

Klick auf den Titel, um sie zu öffnen. Eingeklappte Callouts rendern als <details> mit dem Titel als <summary>.

Zweitens die Paketkomponente in MDX (astro-inkstone/components/Callout.astro, per Pfad importiert). Ohne title zeigt sie das Standardlabel der Variante, dasselbe wie in der Quote-Syntax:

Drittens rohes HTML, alle sechs Varianten in einem Durchgang (eins zu eins die .callout-Regeln aus base.css):

Hinweis
Eine neutrale Randbemerkung. Die unmodifizierte Klasse .callout ist genau das.

Intuition
Petrolfarbene linke Kante, für Absätze darüber, wie man es sich vorstellt, statt darüber, was es ist.

Warnung
Brandorange linke Kante über einem Grund aus 8 % Akzent – steht vor dem Schritt, der schiefgehen kann.

System
Violette linke Kante, für Konventionen auf Systemebene: erst verstehen, warum es sie gibt, dann ändern.

Zusammenfassung
Kante in blasser Tusche auf der weichen Oberfläche, für den schnellen Überblick am Kopf eines Kapitels.

Verworfen
Hält Fehler und verworfene Implementierungen fest. Ohne diese Variante geht die Tatsache, dass etwas falsch ist, stillschweigend verloren.

§2.2Mathe

Inline-Formeln sitzen im Text: Die optische Tiefe liest sich τ=κρds\tau = \int \kappa \rho \, \mathrm{d}s. Display-Mathe nimmt die dreizeilige Form ($$ auf eigenen Zeilen) – die einzeilige weist der Wächter ab, denn sie würde stillschweigend als kleine Inline-Formel rendern:

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

Der Formelgrund ist mit Absicht ein anderes Papier als das des Fließtexts und wechselt mit dem Theme. Übrigens: Dollarpreise im Fließtext werden escapet – dieser Kaffee kostet $3.

PART IIICode und Diagramme

§3.1Code-Rahmen

Ein Fence mit title="…" bekommt eine Titelleiste mit Dateinamen; der Kopierknopf in der Ecke gilt sitewide. [!code ++]- / [!code --]-Zeilenannotationen rendern als Diff-Gründe:

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

Ein Rahmen mit collapse startet eingeklappt und nimmt erst Platz ein, wenn man ihn öffnet – richtig für lange Konfigurationsdateien:

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

Das Highlighting für beide Themes kommt daher, dass shiki beide Farbsätze auf einmal ausgibt; base.css wählt per data-theme an einer einzigen Stelle – kein Spezifitäts-Tauziehen.

§3.2Mermaid-Diagramme

Ein ```mermaid-Fence hinterlässt beim Build nur einen Platzhalter; der Renderer lädt dynamisch und nur auf Seiten, die ein Diagramm tragen (Seiten ohne zahlen nichts), und rendert neu, wenn das Theme umschlägt:

flowchart LR
  A["astro-inkbrush<br/>engine: editing / dialect / guard"] --> C["your site<br/>identity / routing / deploy"]
  B["astro-inkstone<br/>paper: tokens / styles / pipeline"] --> C
  A -. one shared dialect .-> B

§3.3GFM-Extras

Task-Listen und Fußnoten reisen mit GFM mit:

  • Tokens importiert
  • base.css importiert
  • Identitätspalette überschrieben

Eine Behauptung, die eine Quelle verdient, bekommt eine Fußnote.1

PART IVDer Wächter

§4.1Was der Wächter auf dieser Seite abweist

Dass diese Seite baut, ist selbst der Beleg, dass alles oben wohlgeformt ist. Diese Schreibweisen würden den Build auf der Stelle scheitern lassen (probier eine aus, dann npm run build):

  • eine Hervorhebungsmarke, die kein Paar findet, etwa ein am Zeilenende offen gelassenes **;
  • einzeiliges $$x$$ (nimm die dreizeilige Form);
  • handnummerierte Überschriften – die Überschrift dieses Abschnitts als ## 9. Was der Wächter … zu schreiben, würde mit der Nummerierung zur Build-Zeit kollidieren und wird angestrichen;
  • MDX, das deine Fließtext-Klammern auswertet: {0,1,2,3} würde als bloßes 3 rendern, der Wächter verlangt darum die escapte Form {0,1,2,3};
  • eine Formel, die KaTeX nicht rendern kann (der Wächter rendert jede Formel im Strict-Modus nach, statt roten Fehlertext ausliefern zu lassen).

Footnotes

  1. Fußnoten rendern am Fuß der Seite mit Rücksprunglinks, gestylt von der Inhaltsschicht.

Titel, Abschnitte und Fließtext, in dieser Sprache.
    ↑↓ · Enter · Escastro-inkstone