mindnet/docs/01_User_Manual/01_obsidian_integration_guide.md

153 lines
5.0 KiB
Markdown
Raw Normal View History

2025-12-21 17:20:33 +01:00
---
doc_type: technical_reference
audience: developer, power_user
scope: obsidian, scripts, workflow, section_types, intra_note_edges
2025-12-21 17:20:33 +01:00
status: active
version: 1.1.0
context: "Setup und Dokumentation der Obsidian-Integration für Mindnet v2.9. Inkludiert WP-26 Section Types und Intra-Note-Edges."
2025-12-21 17:20:33 +01:00
---
# Obsidian Integration Guide
Dieses Dokument beschreibt die technische Implementierung der Mindnet-Logik innerhalb von Obsidian mittels Templater-Skripten.
## 1. Voraussetzungen
Um die volle Funktionalität des Mindnet-Workflows zu nutzen, sind folgende Obsidian-Plugins zwingend erforderlich:
* **Templater:** Für die Ausführung der JavaScript-Logik beim Erstellen von Notizen und Kanten.
* **Meta Bind (Optional):** Zur intuitiven Steuerung von Frontmatter-Feldern wie `retriever_weight`.
---
## 2. Kern-Komponenten
### 2.1 Mindnet Universal Creator (`mindnetCreate.js`)
Das zentrale Skript zur Erstellung neuer Notizen. Es stellt sicher, dass jede Datei im korrekten Ordner landet und das notwendige Frontmatter für das Mindnet-Backend erhält.
**Kern-Funktionen:**
* Automatische Typ-Auswahl basierend auf den Vorlagen in `_system/templates/creation`.
* Validierung und Erzwingung der ID-Syntax (`YYYYMMDDHHmm-slug`).
* Pfad-Erzwingung bei Verlinkungen, um die Konsistenz des Graphen zu wahren.
### 2.2 Edge Callout Selector Skript
Dieses Skript ermöglicht das Einfügen von semantischen Kanten (`[!edge]`) durch Auswahl aus dem zentralen Wörterbuch.
**Features:**
* **Kategorisierte Auswahl:** Gruppierung der Kanten nach Themenbereichen (H3-Ebene der Vokabel-Datei).
* **Alias-Support:** Ermöglicht die Wahl zwischen technischem System-Namen (Canonical) und benutzerfreundlichen Aliasen.
* **Automatisches Callout-Formatting:** Transformiert markierte Wikilinks direkt in einen validen Edge-Block.
---
## 3. Konfiguration & Speicherorte
Damit die Skripte funktionieren, müssen folgende Pfade im Vault existieren:
| Pfad | Inhalt / Zweck |
| :--- | :--- |
| `_system/scripts/` | Speicherort für die `.js` Module (z.B. `mindnetCreate.js`). |
| `_system/templates/` | Ablage für die Templater-Trigger-Dateien. |
| `_system/templates/creation/` | Enthält die Typ-spezifischen Vorlagen (z.B. `template-insight.md`). |
| `_system/dictionary/edge_vocabulary.md` | Single Source of Truth für alle erlaubten Kanten-Typen. |
---
## 4. Workflow-Integration
### 4.1 Notiz-Erstellung
1. Verwenden des Hotkeys für den `Mindnet Creator`.
2. Auswahl des gewünschten Typs (z. B. `EXPERIENCE`).
3. Das Skript erstellt die Datei im Zielordner und öffnet sie mit den passenden Leitfragen.
### 4.2 Kanten-Management
1. Markieren eines oder mehrerer Wikilinks im Text.
2. Starten des `Insert Edge Callout` Skripts.
3. Auswahl des Kanten-Typs (z. B. `caused_by`) und der gewünschten Bezeichnung.
4. Das Skript fügt den Block automatisch unter der Markierung ein.
---
## 5. Section Types & Intra-Note-Edges (WP-26)
### 5.1 Section-Type-Syntax
Das Backend unterstützt nun **Section Types** innerhalb von Notes:
**Format:**
```markdown
## Überschrift ^block-id
> [!section] type-name
```
**Beispiel:**
```markdown
---
type: experience
---
# Meine Erfahrung
## Situation ^sit
> [!section] experience
Die Geschichte...
## Reflexion ^ref
> [!section] insight
> [!edge] derives
> [[#^sit]]
Was ich daraus lerne...
```
**Wichtige Regeln:**
- Das `[!section]`-Callout kann an beliebiger Stelle innerhalb des Abschnitts stehen
- Der Section-Type gilt bis zur nächsten Überschrift gleicher oder höherer Ebene
- Bei Fehlen eines `[!section]`-Callouts gilt der Note-Type als Fallback
- Valide Section-Types müssen in `types.yaml` definiert sein
### 5.2 Intra-Note-Edges mit Block-References
Für Verbindungen **innerhalb derselben Note** nutze Block-References:
**Bevorzugtes Format:**
```markdown
> [!edge] derives
> [[#^block-id]]
```
**Fallback:**
```markdown
> [!edge] derives
> [[#Section-Name]]
```
**Verschachtelte Edge-Callouts:**
Für übersichtliche Gruppierung kannst du verschachtelte Callouts nutzen:
```markdown
> [!abstract] Semantic Edges
>> [!edge] derived_from
>> [[#^sit]]
>> [[#^react]]
>
>> [!edge] supports
>> [[Externe Note]]
```
### 5.3 Automatische Features
**Automatische Section-Erkennung:**
Sobald eine Section auf einer bestimmten Überschriften-Ebene eingeführt wurde, beginnt bei jeder weiteren Überschrift auf dieser Ebene automatisch eine neue Section – auch ohne explizites `[!section]`-Callout.
**Automatische Backlinks:**
Für alle Intra-Note-Edges werden automatisch inverse Backlinks erzeugt:
- Forward-Edge: `#ref --[derives]--> #sit`
- Backlink: `#sit --[derived_from]--> #ref` (automatisch)
**Default-Edges aus graph_schema.md:**
Wenn keine expliziten Intra-Note-Edges definiert sind, aber Section-Types vorhanden, werden automatisch Default-Edges aus dem Graph-Schema generiert.
## 6. Wartung & Updates
2025-12-21 17:20:33 +01:00
Bei Änderungen an den Notiz-Typen in der `types.yaml` müssen die entsprechenden Markdown-Vorlagen im Ordner `creation` manuell synchronisiert werden, um die Konsistenz zwischen Obsidian und dem Backend zu wahren.