如果您要在Markdown中创建内容或使用输出Markdown文件的CMS之类的CMS,则jDown可以将内容转换为构建时间中包含HTML的JSON,并准备在模板中消耗。
$ npm install jdown --save-dev
const jdown = require ( 'jdown' ) ;
jdown ( 'path/to/content' ) . then ( content => console . log ( content ) ) ;
致电JDown,使用您的降价内容的路径(相对于项目根),它将您的内容转换为JSON。
JDown输出的JSON结构取决于内容文件夹中的文件的结构。
将变成对象,文件对象将始终包含一个contents
和fileInfo
属性...
将变成单个对象,然后将其分组为具有与父文件夹相同名称的父对象(不要深度深)。
为了生成文件对象的数组,可以创建一个名为“集合”的文件夹。收集文件夹应仅包含子文件夹,然后每个文件夹中的每个文件都将添加到一个对象数组中。
YAML FrontMatter可以包含在整个文件的顶部,并将其添加到生成的JSON中作为单个属性。
---
title : Example frontmatter
---
Example Markdown Content
类型: string
必需的
通往包含与上述指南的文件夹结构的文件夹的路径。该路径应相对于项目root,因此,如果您的内容在/Users/username/project/src/content
中,则将使用jdown('src/content')
。
类型: object
类型: object
通过标记的选项,JDown支持所有可用的标记选项,这些选项可用于控制降价的解析。
类型: object
资产解析选项。使用JDown进行解析资产是完全可选的,但带有一些好处,包括:
所有静态资产都必须放置在/assets
文件夹中。资产文件夹可以放置在顶级内容目录和/或子目录中。然后,可以使用![](./assets/my-asset.png)
在Markdown Content Assets中,其中my-asset.png
是放置在AN /assets
文件夹中的资产。
资产选项对象可以包含以下属性:
财产 | 类型 | 默认 | 描述 |
---|---|---|---|
输出 | 细绳 | 。/民众 | 目录jdown将将处理的资产输出到 |
小路 | 细绳 | / | 公开可访问的路径jdown将预先预测输出文件名 |
PNG | 目的 | 不明确的 | 输入成像符号的选项 |
JPG | 目的 | 不明确的 | 进入成像emin-jpegtran的选项 |
SVG | 目的 | 不明确的 | 进入ImageMin-Svgo的选项 |
GIF | 目的 | 不明确的 | 进入ImageMin-Svgo的选项 |
类型: boolean
默认值: true
将其设置为false
以禁用Markdown解析,并仅收到包含MARKDOWN而不是HTML的结构化JSON。
类型: boolean
默认值: false
将其设置为true
,以在输出JSON中包含文件信息对象,该输出JSON包含文件路径,名称,在日期创建并在日期修改。
此存储库的示例目录包含JDown的使用,包括资产解析和自定义标记的渲染选项。
欢迎任何拉的请求,并将对其进行审查。
麻省理工学院