Markdownでコンテンツを作成する場合、またはMarkdownファイルを出力するNetlifyCMSなどの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
必須
上記のガイドラインに一致するフォルダー構造を持つマークダウンファイルを含むフォルダーへのパス。パスはプロジェクトルートに関連する必要があるため、コンテンツが/Users/username/project/src/content
にある場合、 jdown('src/content')
を使用します。
タイプ: object
タイプ: object
マークされたマークに合格するオプションは、マークダウンの解析方法を制御するために使用できるすべての使用可能なマークされたオプションをサポートします。
タイプ: object
資産解析オプション。 JDownを使用して資産を解析することは完全にオプションですが、以下を含むいくつかの利点があります。
すべての静的資産は、 /assets
フォルダー内に配置する必要があります。アセットフォルダーは、トップレベルのコンテンツディレクトリおよび/またはサブディレクトリに配置できます。マークダウンコンテンツ内で、 my-asset.png
が/assets
フォルダー内に配置された資産である場合、 ![](./assets/my-asset.png)
アセットオプションオブジェクトには、次のプロパティを含めることができます。
財産 | タイプ | デフォルト | 説明 |
---|---|---|---|
出力 | 弦 | 。/公共 | ディレクトリJDownは、処理された資産を出力します |
パス | 弦 | / | 公開されたパスjdownはファイル名を出力するためにプレイエンドします |
PNG | 物体 | 未定義 | Imagemin-Pngquantに渡すオプション |
jpg | 物体 | 未定義 | Imagemin-Jpegtranに渡すオプション |
SVG | 物体 | 未定義 | ImageMin-SVGOに渡すオプション |
gif | 物体 | 未定義 | ImageMin-SVGOに渡すオプション |
タイプ: boolean
デフォルト: true
これをfalse
に設定して、Markdown Parsingを無効にし、HTMLの代わりにマークダウンを含む構造化されたJSONを受け取るだけです。
タイプ: boolean
デフォルト: false
これをtrue
に設定して、ファイルパス、名前、日付に作成され、日付で変更されたファイルパス、名前を含む出力jsonにファイル情報オブジェクトを含めるように設定します。
このリポジトリの例には、資産解析やカスタムマークレンダリングオプションなど、JDownの使用が含まれています。
すべてのプルリクエストは歓迎され、レビューされます。
mit