Si está creando contenido en Markdown o usa un CMS como NetLifyCMS que genera archivos de Markdown, JDOWN puede transformar el contenido en JSON que contiene HTML en el tiempo de compilación, listo para consumirse dentro de las plantillas.
$ npm install jdown --save-dev
const jdown = require ( 'jdown' ) ;
jdown ( 'path/to/content' ) . then ( content => console . log ( content ) ) ;
Llame a Jdown con la ruta a su contenido de Markdown (en relación con la raíz del proyecto) y convertirá su contenido en JSON.
La estructura del JSON que sale JDOWN depende de cómo se estructuran los archivos dentro de la carpeta de contenido.
Se convertirá en un objeto, los objetos de archivo siempre contendrán un contents
y propiedad fileInfo
...
Se convertirá en objetos individuales y luego se agrupará dentro de un objeto principal que tiene el mismo nombre que la carpeta principal (no tenga más de un nivel de profundidad).
Para generar matrices de objetos de archivo se puede crear una carpeta llamada "Colecciones". La carpeta de colecciones solo debe contener subpoletas, cada una y luego cada archivo dentro de una carpeta se agregará a una matriz de objetos.
La primera zonda de YAML se puede incluir en la parte superior de cualquier archivo en todo momento y se agregará al JSON generado como propiedades individuales.
---
title : Example frontmatter
---
Example Markdown Content
Tipo: string
Requerido
Ruta a una carpeta que contiene archivos de Markdown con una estructura de carpeta que coincide con las pautas anteriores. La ruta debe ser relativa a la raíz del proyecto, por lo que si su contenido estaba en /Users/username/project/src/content
, usaría jdown('src/content')
.
Tipo: object
Tipo: object
Opciones para pasar al marcado, JDOWN admite todas las opciones marcadas disponibles que se pueden usar para controlar cómo se analiza el markdown.
Tipo: object
Opciones de análisis de activos. Usar los activos de JDOWN para analizar es completamente opcional, pero viene con algunos beneficios que incluyen:
Todos los activos estáticos deben colocarse dentro de las carpetas /assets
. Las carpetas de activos se pueden colocar en el directorio de contenido de nivel superior y/o sus subtirectorios. ¡Dentro del contenido de Markdown, los activos se pueden hacer referencia usando ![](./assets/my-asset.png)
donde my-asset.png
es un activo colocado dentro de una carpeta /assets
.
El objeto Opciones de activos puede contener las siguientes propiedades:
Propiedad | Tipo | Por defecto | Descripción |
---|---|---|---|
producción | cadena | ./público | El directorio Jdown emitirá activos procesados a |
camino | cadena | / | Ruta de acceso público Jdown se prevenirá a la salida de nombres de archivos |
png | objeto | indefinido | Opciones para pasar a Imagemin-Pngquant |
JPG | objeto | indefinido | Opciones para pasar a Imagemin-Jpegtran |
SVG | objeto | indefinido | Opciones para pasar a Imagemin-Svgo |
gif | objeto | indefinido | Opciones para pasar a Imagemin-Svgo |
Tipo: boolean
Valor predeterminado: true
Establezca esto en false
para deshabilitar el análisis de Markdown y simplemente reciba JSON estructurado que contiene Markdown en lugar de HTML.
Tipo: boolean
Valor predeterminado: false
Establezca esto en true
para incluir objetos de información de archivo en la salida JSON que contiene la ruta de los archivos, el nombre, la creación en la fecha y la modificación en la fecha.
El directorio de ejemplo de este repositorio contiene el uso de JDOWN, incluido el análisis de activos y las opciones de renderización marcadas personalizadas.
Cualquier solicitud de extracción es bienvenida y será revisada.
MIT