Marksmith – Produktivitäts-Erweiterung für Markdown in VS Code/Windsurf
(rakkunn.github.io)Eine Erweiterung, die entwickelt wurde, um den Kleinkram beim Schreiben von Markdown in VS Code und Windsurf zu reduzieren
Kontextbewusstes Clipboard, bidirektionale Vorschau und Dokumentanalyse in einem Paket integriert
Da Windsurf auf einem VS Code Fork basiert, werden dank derselben API beide Plattformen unterstützt
Warum ich sie entwickelt habe
Aus dem Web oder aus Word kopierte Inhalte kommen oft als kaputtes HTML oder als plain text an
Bei der Eingabe von Tabellendaten war man auf externe Konvertierungsseiten angewiesen
Fehlende Positionssynchronisierung zwischen Vorschau und Editor führte zu zusätzlichem Scroll- und Suchaufwand
Hauptfunktionen
- Smart Paste
HTML → Markdown: Auf die Turndown-Engine wurden Override-Regeln für GFM-Tabellen und Codeblöcke angewendet
Automatische TSV-Umwandlung: Aus Excel/Google Sheets kopierte Tabellen werden über eine regex-basierte Pipeline in Markdown-Tabellen umgewandelt
Wird eine URL über ausgewählten Text eingefügt, wird sie automatisch als [selected](url) umschlossen
- Bidirektionale Vorschau
Bei Änderungen führte ein vollständiges Re-Rendering zu KaTeX-Flackern und springendem Scrollen
Umgestellt auf inkrementelle Updates (incremental DOM patch)
Im Compile-Schritt wird jedem HTML-Knoten ein data-line-Attribut zur Zuordnung zu den Quellzeilen hinzugefügt
Beim Klick in die Vorschau wird die Zeilennummer per postMessage an den Editor übergeben → Cursor springt zur Stelle
- Document X-Ray (Sidebar-Dashboard)
Schätzung von Zeichenzahl und Lesezeit für gemischt koreanisch-englische Dokumente (Englisch 200 wpm, Koreanisch 500 Zeichen/Minute)
Outline auf Basis eines geparsten Heading-Trees + Klick-Navigation
Asynchroner 404-Health-Check für externe Links im Dokument
Aktuell unterstützter Umfang
Integration von Linter/Formatter
KaTeX- und Mermaid-Rendering
HTML/PDF-Export
Geplante Weiterentwicklung
Performance-Optimierung für große Dokumente (incremental parsing)
Anbindung von AI-Assistenten (Zusammenfassung, Satzkorrektur)
Kompatibilitätsmodus für Obsidian Vault
Technische Notizen
Das Webview der VS Code Extension API ist eine vom Editor isolierte Sandbox
Bei bidirektionaler Kommunikation führt das Fehlen von Debouncing und Message-Batching bei großen Dokumenten zu Performance-Einbußen
Je nach Architekturdesign können selbst bei gleicher Funktion deutliche Performance-Unterschiede entstehen
Links
GitHub: https://github.com/RAKKUNN/Marksmith
Page: https://rakkunn.github.io/MarkSmith/
Ich freue mich über viel Feedback und Reviews!!
Vielen Dank.
Noch keine Kommentare.