はてなからHugoに移行!はてなの良かった点

で、 はてなをやめて静的サイトジェネレータに移行することを悩んでる際に、 はてなにこんなものがあったらいいのになぁという機能について話しました。

私は正しいと思ったことは一気にやるタチなので、 結局、こうやってHugo+Netlifyという構成に移行してきたわけですが、 実際に移行してみて、もちろんこっちの方が良いという点も多いのですが、 はてなの方が良かったなぁという点も多くあります。

実際に、ネットで調べてみると、静的サイトジェネレータからはてなにまた戻る 人というのも実際にいますし、 静的サイトジェネレータではないですが、Wordpressからはてなに戻る人も中にはいます。

この記事では、こうやってHugo+Netlifyに移ってきて、はてなの方が良かったなぁ という点についてまず話します。

記事を書くことに集中出来ない!!!

はてなに戻る人の理由のほぼすべてがこれなのですが、 単に記事を書くことについてははてなは最強です。

こうやってHugoに移行してみるとわかるのですが、 記事を書く上であるべき機能があまりにもなくて、ストレスフルです。

画像のアップロードと参照がだるすぎ

はてなでは、画像をDrag and Dropするとその画像が自動的に はてなフォトライフにアップロードされて、 その画像へのリンクがブログに貼られますが、 そんなものはHugoにはありません。 手動です。

私はstatic/images以下でUNIXタイムスタンプをつけて 画像を管理することにしています。こうすることで 画像に対してユニークなIDをつけられることが保証されるからです。 この場合、毎回毎回画像の名前をタイムスタンプに変更してあげる必要があります。

過去記事の参照がだるい

これは画像の参照と似たような感じですが、 はてなではさくっと出来ていたことが出来なくなります。 過去記事を参照する際には、 エントリのパスを手入力する必要があります。

ウェブ画面からさくっと修正出来ない

書いた記事をちょこっと修正したい場合には、 はてなの場合は編集画面に移って修正をして更新をするだけですが、 Hugoの場合は、そう手軽ではないです。 少なくともブログを管理しているディレクトリに移動してから hugo serverを立ち上げて、エディタを立ち上げる必要があります。 これは思いの他だるいです。(その代わり、修正したらpreview画面に移らずともブラウザ上で 自動的に再レンダリングされるというのははてなよりは良い点です)

記法なさすぎ

Hugoははてな同様にマークダウンで書くことが出来ますが、 リンクを貼り付けたりする時に使っていたはてな記法を使うことが出来なくなります。 例えば、[url:title]のような記法は使えなくなります。 Hugoにはショートコードといって、はてな記法のようなものを自作する機能はあるので、 似たようなものを作ることは究極的には出来ますが、手間です。

目次が作れない

はてなではデフォルトでcontents記法を使い、 目次を作ることが出来ます。 Hugoにも似たような機能はあるのですが、ただリストを表示するだけであって、 まともに使うにはショートコードを書くなりして整形する必要があります。

記事一覧がない

今まで書いた記事をカテゴリ別にリストしてみたり、 そこから記事を修正するということが出来なくなりました。

カテゴリの入力が手入力になった

はてなのカテゴリに相当するものはHugoにもありますが、 はてなでは既存のカテゴリについてはクリック一つで記事に割り当てることが出来ましたが、 Hugoでは手入力です。

Front Matterだるすぎ

Hugoでは、マークダウンのはじめに Front Matterという、ブログのメタデータを書きます。 これははてなではすべて、管理画面からマウス操作だけで修正出来ますが、 Hugoでは全部手入力です。 上で述べたカテゴリの入力もそうですが、公開日時の日付も、 サムネイルイメージのパスもすべて手入力です。

テーマを変更することが難しくなる

はてなの場合は、気軽にテーマを変更することが出来ましたが、 Hugoでサイトを作る場合は、Hugo自体が自由度の高いものであり、 テーマをどのように使えるようにするかはテーマの開発者に 委ねられているため、互換性が保証されていません。 なので、気軽にテーマを入れ替えることが出来なくなります。 そもそもですが、あるテーマを使う際にはある程度 手を入れて自分好みに作り変える必要があります。 この意味でも、テーマを入れ替えるということは、 別のテーマのソースコードを読み、どのように手を入れれば良いか 検討して実行するという作業が必要になるため、 はてなのようには手軽ではないです。

予約投稿が出来なくなる

はてなでやっていた時は、 ブログを読む人が通勤電車の中で読めるように、 朝に予約投稿をすることがありました。 Hugoは静的にビルドしたものをデプロイするという ものなので、基本的にはこういったことが出来なくなります。 CIを使って定期的にビルドを行うというやり方はあると思いますが、 ふつうの運用ではありません。

移行の調査が膨大

たぶん、ITの全く素人だと、Hugoに移行することは出来ません。 誰かに移行もメンテも全部任せて自分は記事を書くことだけに専念するというのであれば良いですが、 移行にもメンテにも多少ですがITの知識が必要になります。

テーマのソースコードを読む必要がある

よく使われているテーマでも、ドキュメントは整っていません。 基本的には、ソースコードを読んで、どう設定すればどうなるのかということを 理解する必要があります。 ソースコードとドキュメントの抽象度にそこまでの乖離がないので、 ドキュメントを書く意味があまりない分野ということも出来ます。

Hugo自体も学ぶ必要がある

Hugoの挙動はそこまで不可思議なものではないですが、 ドキュメントはある程度読む必要があります。 おそらくそうしないと、ソースコードを読んでも何をやっているか理解出来ないでしょう。 これはわりと手間です。もちろん日本語もありません。

DNSの設定もする必要がある

自分の独自ドメインをNetlify DNSで管理する必要があります。 やることは決まっていますが、知識が無だと嵌った時にどうしようもないと思いますし、 いらん設定をすると思います(そういうブログも見かけました)。

ブログの管理を楽にするソフトウェアを作りたい

移行や、テーマの変更のめんどくささを改善することは難しいと思いますが、 少なくとも記事の執筆や管理をはてなのように楽にすることは、 ソフトウェアを作ることで出来ると思います。

というか、

https://gohugo.io/tools/frontends/

で列挙されているようにすでに既存のものが多少はあるのですが、 眺めてみた限りは微妙なものが多いです。 Hugoでブログを作るような人は、プログラマ寄りの人が多いので、 別に手入力で書いていくことをあまり厭わないため、 発展していかないということだと思います。

はてなのようなサービスをHugoを使って実現しているものに

https://appernetic.io/

があるのですが、サービスに囚われるということは 自由度を失うということでもあるので、それだったら はてなで良いじゃんという気がします。 それに、結局、サービスを利用するということはある程度の規約に縛られるということでもあります。 (例えば、はてなではエロ広告は許されません。一方ですべて自分で管理するというのであれば、 エロサイトを作ることすら自由です)

執筆活動だけが快適になればそれでいいと思うので、 どちらかというと私はフロントエンドを使うという方を選びたいです。

というわけで、既存のものを使っていくか、 自分で一からすべて作るかという選択になるのですが、 いずれにしろ今すぐはやりませんが、将来的にはやる可能性が十分にあります。 そのアイデアについては別途書こうと思います。


このエントリーをはてなブックマークに追加

See also