Wenn Sie Inhalte in Markdown erstellen oder ein CMS wie NetlifyCMS verwenden, das Markdown -Dateien ausgibt, kann Jdown den Inhalt in JSON umwandeln, das HTML zum Bauzeit enthält, und bereit, in Vorlagen konsumiert zu werden.
$ npm install jdown --save-dev
const jdown = require ( 'jdown' ) ;
jdown ( 'path/to/content' ) . then ( content => console . log ( content ) ) ;
Rufen Sie Jdown mit dem Pfad zu Ihrem Markdown -Inhalt (relativ zum Projektroot) an und wandelt Ihren Inhalt in JSON um.
Die Struktur des JSON, die Jdown ausgibt, hängt davon ab, wie Dateien im Inhaltsordner strukturiert sind.
Wird in ein Objekt umgewandelt, Dateiobjekte enthalten immer eine contents
und fileInfo
-Eigenschaft ...
Wird in einzelne Objekte verwandelt und dann in einem übergeordneten Objekt gruppiert, das denselben Namen wie der übergeordnete Ordner hat (nicht mehr als eine Ebene tief gehen).
Um Arrays von Dateiobjekten zu generieren, kann ein Ordner mit dem Namen "Sammlungen" erstellt werden. Der Sammlungsordner sollte nur Subordner enthalten, jeweils jede Datei in einem Subordner zu einem Array von Objekten hinzugefügt.
YAML Frontmatter kann ganz oben in allen Dateien aufgenommen werden und wird dem generierten JSON als individuelle Eigenschaften hinzugefügt.
---
title : Example frontmatter
---
Example Markdown Content
Typ: string
Erforderlich
Pfad zu einem Ordner mit Markdown -Dateien mit einer Ordnerstruktur, die den obigen Richtlinien entspricht. Der Pfad sollte relativ zum Projektrouch sein. Wenn Ihr Inhalt also in /Users/username/project/src/content
war, würden Sie jdown('src/content')
verwenden.
Typ: object
Typ: object
Die Optionen, die an markiert werden können, unterstützt alle verfügbaren markierten Optionen, mit denen der Markdown analysiert wird.
Typ: object
Asset Parsing -Optionen. Die Verwendung von Jdown zur Analyse von Vermögenswerten ist völlig optional, bietet jedoch einige Vorteile, darunter:
Alle statischen Vermögenswerte müssen in Ordner /assets
platziert werden. Assets -Ordner können in das Inhaltsverzeichnis auf höchstem Niveau und/oder die Subverzeichnisse platziert werden. Innerhalb des Markdown-Inhaltsvermögens können dann mit ![](./assets/my-asset.png)
verwiesen werden, wobei my-asset.png
ein Vermögenswert in einem /assets
-Ordner ist.
Das Objekt der Assets Options kann die folgenden Eigenschaften enthalten:
Eigentum | Typ | Standard | Beschreibung |
---|---|---|---|
Ausgabe | Saite | ./öffentlich | Verzeichnis Jdown wird verarbeitete Vermögenswerte an ausgeben |
Weg | Saite | / | Der öffentlich zugängliche Pfad Jdown bereitet sich auf die Ausgabedateinamen vor |
png | Objekt | undefiniert | Optionen, um im Imagemin-pngquant zu gelangen |
JPG | Objekt | undefiniert | Optionen, um im Imagemin-Jpegtran zu gelangen |
Svg | Objekt | undefiniert | Optionen, um im Imagemin-Svgo zu gelangen |
GIF | Objekt | undefiniert | Optionen, um im Imagemin-Svgo zu gelangen |
Typ: boolean
Standard: true
Stellen Sie dies auf false
ein, um das Parsen von Markdown zu deaktivieren und nur strukturierte JSON zu erhalten, das Markdown anstelle von HTML enthält.
Typ: boolean
Standard: false
Legen Sie dies auf true
um Dateiinfo -Objekte in den Ausgang JSON aufzunehmen, der den zum Zeitpunkt erstellten Dateienpfad enthält, der zum Datum erstellt und zum Zeitpunkt geändert wird.
Das Beispielverzeichnis dieses Repositorys enthält die Verwendung von JDown einschließlich Asset Parsing und benutzerdefinierte markierte Renderoptionen.
Alle Pull -Anfragen sind willkommen und werden überprüft.
MIT