Se você estiver criando conteúdo no Markdown ou use um CMS como o NetlifyCMS, que produz arquivos de marcação, o JDOWN poderá transformar o conteúdo em JSON contendo HTML no horário de construção, pronto para ser consumido dentro de modelos.
$ npm install jdown --save-dev
const jdown = require ( 'jdown' ) ;
jdown ( 'path/to/content' ) . then ( content => console . log ( content ) ) ;
Ligue para o JDown com o caminho para o conteúdo do Markdown (em relação à raiz do projeto) e ele converterá seu conteúdo para JSON.
A estrutura do JSON de que as saídas JDown depende de como os arquivos na pasta de conteúdo estão estruturados.
Será transformado em um objeto, os objetos do arquivo sempre conterão um contents
e a propriedade fileInfo
...
Será transformado em objetos individuais então agrupados em um objeto pai que tem o mesmo nome da pasta pai (não vá mais de um nível de profundidade).
Para gerar matrizes de objetos de arquivo, uma pasta chamada "coleções" pode ser criada. A pasta de coleções deve conter apenas sub -pastas, cada uma de cada arquivo dentro de uma sub -pasta será adicionada a uma matriz de objetos.
O YAML FrontMatter pode ser incluído na parte superior de qualquer arquivo e será adicionado ao JSON gerado como propriedades individuais.
---
title : Example frontmatter
---
Example Markdown Content
Tipo: string
Obrigatório
Caminho para uma pasta contendo arquivos de marcação com uma estrutura de pasta que corresponde às diretrizes acima. O caminho deve ser relativo à raiz do projeto; portanto, se seu conteúdo estivesse em /Users/username/project/src/content
, você usaria jdown('src/content')
.
Tipo: object
Tipo: object
Opções para passar para o acentuado, o JDown suporta todas as opções marcadas disponíveis, que podem ser usadas para controlar como o Markdown é analisado.
Tipo: object
Opções de análise de ativos. O uso de JDown para analisar os ativos é completamente opcional, mas vem com alguns benefícios, incluindo:
Todos os ativos estáticos devem ser colocados dentro /assets
. As pastas de ativos podem ser colocadas no diretório de conteúdo de nível superior e/ou em seus diretórios. Dentro dos ativos de conteúdo de marcação my-asset.png
/assets
ser referenciado usando ![](./assets/my-asset.png)
O objeto de opções de ativos pode conter as seguintes propriedades:
Propriedade | Tipo | Padrão | Descrição |
---|---|---|---|
saída | corda | ./público | O diretório JDown produzirá ativos processados para |
caminho | corda | / | Path Path JDown publicamente acessível será preso aos nomes de arquivos de saída |
png | objeto | indefinido | Opções para passar para a Imagemin-Pngquant |
jpg | objeto | indefinido | Opções para passar para a Imagemin-Jpegtran |
svg | objeto | indefinido | Opções para passar para o imageMin-svgo |
gif | objeto | indefinido | Opções para passar para o imageMin-svgo |
Tipo: boolean
Padrão: true
Defina isso como false
para desativar a análise de marcação e apenas receba o JSON estruturado contendo o Markdown em vez de HTML.
Tipo: boolean
Padrão: false
Defina isso como true
para incluir objetos de informações do arquivo no json de saída que contêm o caminho dos arquivos, nome, criado na data e modificado na data.
O diretório de exemplo deste repositório contém o uso de JDown, incluindo análise de ativos e opções de renderização com marcação personalizada.
Quaisquer solicitações de tração são bem -vindas e serão revisadas.
Mit