先日、QiitaでVuePressの入門記事を見つけました。
2018年に書かれた記事で、対象は当時のバージョン0.10.2です。
VuePressは、「Markdownで書けば、静的サイトになる」という仕組みです。
私の作ったMarkdown CMSと、入口の考え方がよく似ています。
先行例として敬意を持ちつつ、どこが違うのかを比べてみました。
なお、現在のVuePressについても確認しておきます。
初代のVuePressは保守の段階に入り、バージョン2以降はコミュニティが引き継いで、Vue 3とViteという道具立てで続いています。
Vue.jsの公式チームは、後継としてVitePressという仕組みを出しています。
系譜はいまも続いている、現役の考え方です。
似ているところ
共通点は、はっきりしています。
どちらも、Markdownで文章を書き、変換(ビルド)すると静的サイトになります。
公開する側では、サーバーでプログラムを動かしません。
だから、速くて、壊れにくい。
この考え方自体は、VuePressがずっと前から示してくれていたものです。
違い1:誰が触るものか
一番の違いは、使う人の想定です。
VuePressは、開発者のための道具です。
Node.jsという実行環境を用意して、設定ファイルを書き、見た目はVueという技術の部品(コンポーネント)で作ります。
2018年の入門記事でも、欠点としてVue.jsの学習コストが挙げられていました。
開発者にとっては力強い道具ですが、普通の人が触るものではありません。
私のMarkdown CMSは、逆向きに設計しています。
使う人が、GitHubやNode.jsを意識しないこと。
文章を書く入口は、使い慣れたエディタや、クラウドのフォルダや、ブラウザの作業場です。
裏側の変換や公開の作業は、AIアシスタントと自動の仕組みが引き受けます。
違い2:何が出てくるか
VuePressの成果物は、ページごとのHTMLです。
1ページ分の完成品が、そのまま出てきます。
私の仕組みの本体は、HTMLではなくJSONという形式のデータです。
表示する側は、そのJSONを読んで画面にするだけ。
だから、他のサイトのJSONを集めてまとめて見せるポータルが作れたり、TechブログとGameブログのように、性格の違うサイトを同じ仕組みで並べたりできます。
「サイトを作る道具」というより、「サイトの集まりをつなぐ仕組み」という方が近いかもしれません。
違い3:依存の重さ
VuePressは、Vue、変換の道具、Node.jsという、大きな仕組みの集まり(生態系)の上に乗っています。
その分、向こう側の更新や大きな代替わり(メジャーバージョンアップ)の影響を受けます。
Node.jsの更新がなぜ負担になるかは、補足資料に書いた話と地続きです。
私の方は、自前の小さい変換処理だけで、本体は「ただの文章ファイル」です。
変換処理が壊れても、ファイルが残っていれば、AIに作り直してもらえます。
道具への依存が軽いことが、そのまま維持の軽さになっています。
VuePressの方が強いところ
正直に書くと、VuePressの方が強いところもあります。
Markdownの中にVueの部品を埋め込めるので、状態の管理まで使うような、凝った対話的なページが作れます。
私の仕組みではそこは割り切っていて、動的な機能が必要になったら、外部の仕組みを借りる方針にしています。
作れるページの豊かさでは、開発者向けの道具に軍配が上がります。
目的が、違うのです
比べてみて分かったのは、優劣ではなく、目的の違いでした。
VuePressは、開発者が静的サイトを作るための道具立てです。
私のMarkdown CMSは、普通の人が、AIと一緒にサイトを運営し続けるための仕組みです。
Markdownという入口は同じでも、出口で目指している景色が違う。
だから、比べること自体が少しずれているのかもしれません。
それでも、自分の仕組みの立ち位置を確認する良い機会になりました。
WordPressやEmDashとの比較は、こちらの記事にまとめています。
