どうも。みずかず(@mizukazu_1)です。
今回はnode.jsでmdファイル(markdown)を読み込む方法を紹介します。
基本的にはテキストファイルを読み込む時と同じような感じです。
fsモジュールを使用してファイルを読み込み、パースしてあげることでHTMLとして扱えるようになります。
fsモジュールを使用してmdファイルを読み込む
const fs = require('fs');
// 同期的に読み込む
fs.readFileSync('test.md', 'utf8')
// 非同期で読み込む
fs.readFile('test.md', 'utf8', (err, data) => { 処理 })
こんな感じです。
fsモジュールを使用してパスとエンコードのタイプ指定。
同期的に読み込むメソッドと非同期で読み込むメソッドが用意されているので
どちらかを使用して読み込む。
非同期の処理に慣れていない人は同期的に読み込む方が分かりやすいと思います。
読み込んだmdファイルをパース
mdファイルなので中身はmarkdown形式で書かれていると思います。
そのまま使用するとタグがそのまま出力されてしまうのでこれをHTML形式にパースする必要があります。
markedというライブラリを使うことでmarkdown → HTMLに変換することが出来ます。
他にも変換ライブラリは数種類ありますがここではmarkedを使用します。
markedの導入
npm i marked -D
npmで簡単に導入することが出来ます。
markedを使用してmarkdown→HTMLに変換
const marked = require('marked');
const markdown = '# テスト!';
marked(markdown);
marked()の中にmarkdown形式のテキストを突っ込んであげるとHTMLに変換されます。
まとめ
テキストファイルの読み込みとそんなに変わらないのでそんなに難しくないと思います。
読み込んだ後にパースの手間が入るくらいです。
変換したHTMLをjsdom等を使ってDOM操作することも出来るのでその辺はまた後で書いていこうと思います。
改めて思うんですがやっぱりMarkdownって便利ですよね~。
スポンサーリンク