ARTICLES

全面的に MDX に移行しました

2019-04-19

これまで MDX についていろいろと研究をしてきました。

原一浩の UI カンソクスケッチ にて MDX の導入を行ってきたのですが、導入してみるとすこぶる使い勝手が良く、他のコーナーでも使おうと思うに至りました。

現状、記事コンテンツは ARTICLES があるのですが、ここは通常の Markdown で書いています。Next.js 上でどうやって Markdown で書いているかというと、いろいろなやり方があるとは思いますが、僕の場合は、Markdown をビルド時に JSON へと変換しています。

使っているツールは、Node.js 製のコマンドラインツールで、

というツールです。

Node.js 製ツールなので、インストールも楽です。

$ npm i processmd

このツールの使い方は以下のような感じで、Markdown を探して、指定のディレクトリに Markdown ファイルをそれぞれ JSON ファイルに変換してくれます。このツールで生成された JSON は、front matter 形式で書かれたメタ情報も JSON に変換してくれるので、後ほど Next.js 上で読み込んだ時に取り回しがしやすいです。

$ processmd \"./contents/md/**/*.md\" --stdout --outputDir ./static/api > ./static/api/summary.json

加えて、このツールには Markdown の一覧をサマリーという形で書き出してくれるという機能があり、一覧ページを作成することも容易です。

MDX のことを知らなければ、そのまま Markdown 形式で進めたと思いますが、MDX を知ってしまったらもう戻れません。 ただ、今までの記事を全部 MDX に書き換えるのはなかなか大変でした。

Next.js で Markdown の記事を API 化したい方は processmd をぜひ使ってみてください。


ARTICLES


    AUTHOR

    原 一浩 の顔写真

    (はら) 一浩(かずひろ)

    カンソクインダストリーズ代表 / グレーティブ合同会社代表

    1998年に独立し、同年、ウェブデザイン専門のメールメディア DesignWedgeの発行を開始。Webデザイン業の傍ら、海外のWebデザインに関する情報発信を行う。
    雑誌への寄稿多数。主な著書に『はじめてのフロントエンド開発』『プロセスオブウェブデザイン』、『Play framework徹底入門』、『ウェブデザインコーディネートカタログ』など。自社製のWebデザインのクロール&キャプチャシステムvaqumをベースに、様々なリサーチを行っている。Web 検定プロジェクトメンバー

    著作一覧はこちら