Projekte

Markdown

NodeJS Pakete für die Verarbeitung von Markdown.
Im Kontext des Projektes Media Categorizer im Jahr 2013 entstanden die ersten Skripte zur Vorverarbeitung von Markdown-Dateien. Im Laufe der Zeit und begleitend zu einer Reihe von weiteren Projekten ist eine Sammlung von NodeJS-Paketen entstanden mit denen sich Markdown-Dokumente mit einer erweiterten Syntax im Kontext von größeren Projekten nutzen lässt. Die Markdown-Syntax basiert dabei auf dem Dialekt, der von Pandoc unterstützt wird.

MdProc ist eine Gulp-Plugin für die folgenden Verarbeitungsschritte:

  • Einbetten von Statusmarkierungen
  • Erzeugen von nummerierten Abbildungsreferenzen
  • Aufruf von MdGraphExtract, Graphviz und Inkscape zur Erzeugung von Graph-Diagrammen
  • Aufruf von Pandoc zur Konvertierung nach HTML, DOCX, TEX, PDF

MdInclude ist eine Gulp-Plugin für das Einbetten von referenzierten Filialdateien in ein Markdown-Dokument.
MdInclude unterstützt die folgenden Modi:

  • Text
    Die referenzierte Text-/Markdown-Datei wird unverändert in das Hauptdokument eingebunden,
  • Zitat
    Die referenzierte Text-/Markdown-Datei wird als Zitat eingebunden
  • CSV
    Die referenzierte Datei wird als Markdown-Tabelle im Pipe-Format eingebunden
  • Code
    Die referenzierte Datei wird als Code-Block eingebunden

MdInclude unterstützt verschachtelte Einbettungen im Text-Modus bis zu einer beliebigen Tiefe und besitzt eine Zyklenerkennung.

Die Sprache eines eingebetten Code-Blocks wird, wenn möglich, automatisch anhand der Dateiendung ermittelt.

MdGraphExtract ist ein Gulp-Plugin welches aus einer Markdown-Datei eine DOT-Datei mit der Beschreibung eines Graphen extrahiert. Eine DOT-Datei kann mit Graphviz in ein Diagramm umgewandelt werden.

MdGraphExtract beherrscht zwei Modi um einen Graph aus einer Markdown-Datei zu extrahieren:

  • Autograph
    Die Knoten werden aus Überschriften gebildet und die Kanten entstehen durch interne Links zwischen den Abschnitten
  • DotExtract
    Die Knoten und Kanten werden aus HTML-Kommentaren gewonnen, welche Ausdrücke enthalten, die der DOT-Syntax ähnlich sind

MdQuery ist ein Gulp-Plugin, zur Abfrage und Einbettung von strukturierten Daten in einem Markdown-Dokument. Der Anwendungszweck ist das automatische Erzeugen von lokalen Inhaltsverzeichnissen und Übersichten über Abschnitte und Listeninhalte in einem Markdown-Dokument.

Die Daten werden mit Hilfe von MdData aus dem Markdown-Dokument extrahiert. MdQuery unterstützt die Abfrage von Daten als Tabellen oder als Listen. Die Abfrageausdrücke werden in HTML-Kommentaren in das Markdown-Dokument eingebettet.

MdData ist ein Gulp-Plugin zur Extraktion einer Baum-Datenstruktur aus einem Markdown-Dokument.

Der Baum wird aus Überschriften und verschachtelten Listen gebildet. Es werden Name-Wert-Paare erkannt, bei denen ein Name mit eindem Doppelpunkt von einem Wert abgetrennt ist. Die Baum-Datenstruktur enthält zusätzliche Informationen über die Knoten, wie z.B. die ID einer Überschrift. Die Datenstruktur wird im JSON-Format ausgegeben.

HTinliner ist ein Gulp-Plugin für das Einbetten von referenzierten Dateien in eine HTML-Datei. Das Ziel dieses Verarbeitungsschrittes ist die Erzeugung einer einzelnen HTML-Datei, die keine weiteren Abhängigkeiten zu anderen Dateien besitzt.

HTinliner unterstützt das Einbetten der folgenden Referenzen:

  • CSS
    Tags nach dem Muster <link rel="stylesheet" href="/..." /> werden durch ein Tag <style>...</style> mit dem Inhalt der referenzierten Datei ersetzt.
  • JavaScript
    Tags nach dem Muster <script src="/..."></script> werden mit dem Inhalt der referenzierten Datei gefüllt und das src-Attribut wird entfernt.
  • SVG
    Tags nach dem Muster <img src="/....svg" /> werden durch das SVG-Markup der referenzierten Datei ersetzt und optional in einen DIV-Container mit einer benutzerdefinierten CSS-Klasse geschachtelt.

Das Einbetten von SVG-Markup anstelle eines IMG-Tags hat den Vorteil, dass Hyperlinks im SVG aktiv sind und Textinhalte als Text markiert und kopiert werden können.

H5smpl ist ein CSS-Template für Responsive Design mit mehreren Themes. H5smpl unterstützt die Besonderheiten des Markdown-Workflows mit MdProc (z.B. Status-Markierungen).

Joomla templates by a4joomla