Project Michael Dings Impressum Login

Dings-Feature-Md-Embedding

I am a Feature.

Also

- I am a Todo.

- I am a Work-Item.

About

AGENTS

Style

Für Sprache, Naming, Comments und allgemeinen Text-Style, folge:

Ziel

Definiere und implementiere eine erste saubere Richtung für Dings-Markdown-Embeddings.

Ein Markdown-Embedding erlaubt, ein anderes Dings-Markdown-Dokument in ein Host-Dokument einzubetten, ohne dass dadurch automatisch neue semantische Wahrheit im Host-Dings entsteht.

Beispiel:

![List-Options](4711.md)

Bedeutung:

Embed Target: 4711
Embed Label: List-Options

Der Link-Text List-Options ist ein lokales Präsentations-Label und kann beim Rendern als Überschrift verwendet werden.

Grundsatz

Ein Embedding ist zunächst Dokumentstruktur / Präsentation.

Es ist keine automatische semantische Aussage des Host-Dings.

Insbesondere gilt:

Embedding darf:
- ein Ziel-Dings referenzieren
- ein lokales Label definieren
- Inhalt für Anzeige oder Rendering einbetten
- Dokumentstruktur explizit machen

Embedding darf nicht automatisch:
- Statements des eingebetteten Dings dem Host-Dings zuschreiben
- Base-Classes des eingebetteten Dings dem Host-Dings zuschreiben
- About/Also/Relations des eingebetteten Dings in die sm1-Wahrheit des Host-Dings übernehmen

Begriffe

Verwende bevorzugt:

Embedding
Embed_Target
Embed_Label
Host_Dings
Embedded_Dings

Nicht bevorzugt:

Include
Transclusion
Import

Diese Begriffe können intern diskutiert werden, sollen aber nicht ohne Entscheidung kanonisch werden.

Pipeline-Richtung

Embeddings sollen nicht als blindes Text-Replacement umgesetzt werden.

Bevorzugte Richtung:

md -> si

erkennt Embeddings als explizite Struktur.

Mögliche spätere Struktur:

Dings_IR_Node_Block_Embedding

mit Feldern wie:

Embed_Target_Dings_Number
Embed_Label
Source_Text

Die spätere Pipeline kann dann entscheiden:

show md / render md  -> eingebetteten Inhalt anzeigen
show si              -> Embedding-Node anzeigen
sm1                  -> Embedding als Referenz kennen, aber nicht als Host-Wahrheit verschmelzen

Heading-Regel

Wenn ein Embedding gerendert wird, kann das Embed_Label als lokale Überschrift verwendet werden.

Beispiel im Host-Dokument:

## Command-Line-Interface

![List-Options](4711.md)

Mögliche gerenderte Ausgabe:

## Command-Line-Interface

### List-Options

...

Grundidee:

Embedding-Heading-Level = aktueller Section-Level + 1

Diese Regel ist vor der Implementierung noch zu prüfen.

Offene Fragen

Nicht-Ziele für den ersten Schnitt

Aktuell nicht:

Bevorzugter kurzfristiger Pfad

  1. Lege die kanonischen Begriffe fest.
  2. Entscheide die Markdown-Syntax.
  3. Erweitere den Parser um einen expliziten Embedding-Node.
  4. Zeige Embeddings zunächst in show si oder einer vergleichbaren Debug-Ausgabe.
  5. Implementiere erst danach kontrolliertes Rendering / Expansion.