ブログシステムをVuePressに移行しました

以前、VuePressを使ってみたという記事を書きましたがその続編というか実際にブログをリプレイスしてみた所感です。結論から言えば、VuePressで本格的にブログをやるのはまだちょっと早い、という印象でした。

VuePressについて

以前も書きましたが、いわゆる静的サイトジェネレータです。もとはドキュメント用として始まったようですが、やはりBlogとしての用途も検討はされているようです。同系統のGatsby.jsやNuxt.js、Gridsomeよりもさらに静的サイトジェネレータ寄りです。

前回の触ってみた時点ではアルファ版でしたが、今は正式にv1がリリースされました。それに伴ないブログ系のプラグインなども変わっています。

VuePressでブログをやること

「現時点」では正直オススメしません。ブログとしての方向性は一応NPMとしては@vuepress配下にplugin-blogとして存在する

があります。これは前述のように公式でブログサポートは議論されていて、いちおうそこで認められてはいるようです。

VuePressのオフィシャルには載っていないんですが、リポジトリ側ではオフィシャルと言っていますね。単純にドキュメントの更新が追いついてないだけかな。

ですが、blog-pluginのGitHubのほうで言及があるようにStatus:WIPになっていますし、またメインで開発している方が同じく作っているBlogテーマが前提になっているような感じです。

つまり何が言いたいかというと、VuePress自体の完成度はかなり上がってv1になって実用レベルになっているんですが、ブログに関するプラグインや知見についてはまだまだ育ちきってないようです。

ブログプラグインのReadmeに載っているフィードやOGPまわりといったブログにとって生命線というべき部分もカバーしきれてないのが痛いです。

別のプラグインを使えばなんとかなる部分もあり、がんばって自作すればできるとは思います。ただしそれはなかなかに大変ですね。

僕の場合

と、こう書いておいてなお僕が移行した理由は単純に後に引けなくなった、という側面が強いですね。v1になるちょっと前にカスタムしてそろそろできた! という段階でv1が発表されBlogプラグインにも修正が入り、使い方も変わったりして作業が巻き戻ったりとなかなかにハードでした。まあこれは完全にタイミングが悪かったですね。

今この知見をもってVuePressを選択するか、というとNOですね。本当に時期尚早ですね。逆に言えばブログ周りのプラグインが育ちきってくればYESになる日もくるでしょう。

プラグインやカスタマイズまわりは割とシンプルで、Plugableみたいなイメージですね。なので既存のものを上手くつかってもできない場合は自分で実装すればいいや、と思います。思いますが、それってもうVuePressを選ぶ意味ないのでは……とも思います。

また、まだ若いプロジェクトということは同時にドキュメントもしっかりしていないという状況もツライですね。

Hexoに比べてどうか、というとうーんHexoのほうが今はまだブログとしてはやりやすいかもですね。ただしテーマを自作となるとVue.jsのSFCやScopedCSSまわりはかなり開発しやすいので甲乙つけがたいです。

今回僕は前述のブログテーマをフォークしつつベースはそちらにのっとりながらガシガシに自作しました。開発自体はVue.jsの知見がちゃんとあればそこまで苦労しないです、ここは良いところですね。

VuePressも火がつけば開発者も開発スピードも上がって快適な状況ができてくるとは思うんですが、Gatsby.jsやGridsomeよりもさらに静的サイトジェネレータなので、JAMStack良いよね! みたいな風潮についていけないので成長も緩やかなままかもなあと予想しています。ただし以前も述べたようにVueのEvanさんが開発しているというのは強みですね。

全然VuePressと関係ないところで言えば、OGPをちゃんとやろうと思ってロゴを少しアップデートしました。なかなか良くなったなと思っています。ちなみにロゴや家紋みたいなアイコンは全部自作しています。わりとそういう作業は好きです。

まとめ

  • VuePressはブログ利用にはまだ早い
  • やるならテーマ開発からやる知識と根性が必要
  • 開発自体はしやすいし、plugableなレイヤー構造も良い感じだとは思います
My ChangeLog[0.37.8] & Roadmapブックマークレットをテスト駆動開発する