今までNext.jsを使って作成していたホームページ&ブログをNotion+Super.soの構成に変更した (過去作成したシステムの詳細: Next.jsで自分用のブログを作った話 )。変更に至った経緯はは以下の通り:
- ホームページが依存しているバックエンド部分の更新をサボってコンテンツだけ編集していたら、知らずのうちにNext.jsのメジャーバージョンが5つくらい上がっていた🤔。(ちなみに今最新版を確認したらそこから更に5つくらい上がっていた。)
- 気づいた時点で手元には過去の動作環境がローカルになく、自分の環境構築スキルの無さも相まって本番サーバー以外で動作確認が不可能になった。
- 当時の最新バージョンで改めて動作環境を構築することを考えたが、バージョン違いに起因する破壊的変更が多すぎて最新バージョンに追従するにはホームページ全体を大幅に変更しなければいけないことがわかったため、見て見ぬ振りをして引き続きコンテンツだけをいじるようにした。
- 手元に動作環境がないことも相まってホームページの更新をサボっていたところ、ある時期に複数の知り合いから同時にホームページの更新が止まっている旨の連絡を頂いたので、重い腰を上げてホームページの改修を決心した。
新ホームページの技術選定理由
そもそも手元のドキュメントツールとして最近Notionを利用していた。Notionは
- Markdown的なコンテンツとスタイルの分離
- WYSIWYGライクなリッチエディタ
のバランスがちょうどよいと感じている。またデータベースやリンクの概念が充実しているので、単なるドキュメントの保管にとどまらず、その整理やドキュメント間の関係性をうまく表現可能なツールだと思っている。
そんな中、Notionのページをそのまま独自ドメインで公開可能なサービスとしてSuper.soというものがあることを知って利用してみたいと思った。理由としては、Notionのドキュメントをそのままウェブサイトに公開できるなら、将来的にまた別のツールにウェブサイトを載せ替えることになった場合にも、最悪手元に残っているドキュメントからコンテンツのみを抽出しやすいことが大きい。実際、Notionは公式でドキュメントのMarkdownやHTML形式でのエクスポート機能を提供している。
また、もう一つの理由は、従来のホームページはサーバー用のコード + HTML/Markdown形式でのコンテンツと、必要な機能に対して過剰に複雑なものを用意してしまった反省である。ホームページに修正を加えようと思うたびに必要な作業コストが大きくなりすぎてしまい、結果的にホームページの更新をさぼってしまったため、とにかく更新が容易な仕組みを欲していた。Notionであれば日々の雑多なメモ書きや研究ノート作成と全く同じインターフェースですぐさまホームページの更新に入れるため、今回のニーズに即していると判断した。
その他の既存ツールとしては、GitHub PagesやGoogle Sitesが候補としてあったが、今回はNotionがそのままエディタ&&データベースになるという圧倒的なメリットがあったためこのような選定になった。ただ、実際にツールを触ってみてできること・できないことの制約も感じつつあるため、将来的にまた別のツールに移行する可能性はあると考えている。
実際新しいツールを使ってみて、一切HTML的な構造を考えることなくページが編集できるので結果的にコンテンツの作成に集中できると実感した。ホームページ作成に必要になるようなHTML的な要素にそんなに難しいものはないはずだが、やはりどうしても構造について考えるのとコンテンツについて考えるのは全く別の作業なので、前者へのコンテキストスイッチが発生しない分内容に集中できる気がする。
反省 & 教訓
- すでに博士号を取って働き始めているにも関わらず経歴が修士卒のまま止まっているくらいには更新をさぼっていてすみませんでした。教えていただいた(
尻を叩いていただいた)方々はありがとうございます🙇。 - 「ソフトウェアがレガシー化する」という現象を自分自身でやらかしてしまった。
- 自分がやるとは思ってなかったがどういうふうに起こるかがわかったので学びがあった。
- ソフトウェア式年遷宮を思い出した。
- 自作システムは100%自分の好きなようにできる柔軟性が利点の一方で、その面倒を最後まで自分でみきらなければいけない。
- 定期的に依存ライブラリのバージョン更新をするくらいの体力がないなら既存システムにのっかるべし。特に、新しいシステムを作るときはだいたい一番元気があるときなので元気がないときの自分を想像するべし。
- 大いなる力には大いなる責任が伴う