静的サイトジェネレータのHexoで、記事の元ファイルとなるmarkdownの内部で別のmarkdownを読み込むプラグイン「hexo-include-markdown」を作りました。

投稿記事の元となるmarkdownファイルに<!ーー md template-markdown.md ーー>タグを入れると、外部のマークダウンファイルのデータを埋め込んでくれます。同じような内容を繰り返し表示させたいケースや、テンプレート記事を使い回したい時に使ってみてはいかがでしょうか?

 赤く染まる雪原 | Sony a7 + AF-S NIKKOR 16-35mm f/4G ED VR  photo by tea ©
Ads

目次

インストール方法

node.jsのnpmからインストールします。

bash
1
$ npm install hexo-include-markdown --save

プラグインの使用例

まずはプラグインを使用した時の表示例を説明したいと思います。

hexoの記事となるmarkdownファイルに以下のように記述します。例えば、source/_posts/hello-world.mdという記事に、source/_template/template.mdというマークダウンファイルを挿入させたいとします。

まずsource/_posts/hello-world.mdを以下のように編集します。

source/_posts/hello-world.md
1
2
3
4
5
6
7
8
9
10
---
title: Hello World
---


## マークダウンを読み込むサンプル記事です

下記のようにと記述すると、`source/_template/template.md`が読み込まれてHTMLにレンダリングされます。

<!ーー md template.md ーー>
※ブログの都合上、記号の「ー」を全角にしています。実際の仕様時には半角記号の「-」に変更してください。

続いて、source/_template/template.mdというmarkdownファイルを用意します。

source/_template/template.md
1
2
3
### 読み込みテスト

この文章は`source/_template/template.md`で書かれた内容です。ちゃんと読み込まれていますか?

上記のように記述すると、source/_posts/hello-world.mdに文章が挿入されます。

いかがだったでしょうか

ということで、今回は記事の元となるマークダウンファイルに、別のマークダウンを読み込ませて表示させるプラグインを作りました。複数の記事で同じような内容を使いたいけど、更新も頻繁にあるので作業大変!といったケースで効果を発揮します。メンテナンスする手間が省けるかと思いますので、もし宜しければ使ってみてください。