某Webマガジンのベースシステム移行計画(案だけ)

きっかけ

先日、Yokohama.rbにて某Webマガジンに最近コミットしている人たちが複数人集まったので、その話が盛り上がりました。実現するかどうかは分かりませんが、ちょっとメモっておきます。

もともとの要望

もともとは、「markdownで記事を書きたい」という要望です。Webで表示するコンテンツを書く上で、特にエンジニア界隈ではmarkdownは標準的な知識として定着したように思えます。そのため、独自文法よりもmarkdownで書きたいというのは自然な要望かと思います。

潜在的な要望

ただ「新しい文法で記事を書きたい」というのは理由としては表面的なもので、潜在的な要望としては次のものがあることが分かりました。

  • 現在の文法では表現できていないものがあるので、それを解消したい
  • 著者自身がローカルでレイアウトなどを確認しながら記事を作成したい
  • その他もろもろ

新しいシステムは何がよいか

こういう要望が高いことが分かったので、「markdownで記事が書けるシステムは何が良いか」というのをちょっと探してみました。探してみたのは、いわゆる静的サイトジェネレーター。Ruby製で言えば、

ぐらいでしょうか。また、コンテンツマネジメントシステムCMS)もおそらく調査対象になるかなと思います。まだ調べ始めた感じなので、それぞれ使い勝手をいろいろと見ながら方向性を決めていきたいなと思っています。

ざっと必要な機能を洗い出してみると、

  • markdownで記事が書けること
  • ソースコードシンタックスハイライト機能があること
  • 画像を貼り付けることができること
  • ユーザ認証機能があること
  • アクセス制御機能があること
    • 特定の日まではユーザ認証を受けた人だけしか参照できない
  • 目次作成機能
  • 類似記事リスト化機能

ぐらいなので、後は触ってみた感じで適当に選んでみることでしょうか。

なお、「自作する」というのは除外しています。そもそもスタッフが少ない中、できるだけ手間を掛けたくないという思いがあります。そのため、どうしてもメンテナンスが高くなる自作についてはちょっと除外したいなと考えています。

運用フロー

システムと同様に、運用フローについても考えないといけません。できれば、pull requestを出すことで回していきたいという思いがあるのですが、随時に記事をリリースする形ではなく、定期刊行という形を取っている以上、ちょっと難しいかなと思っています。

また、費用面の問題もあり、できるだけ低コストで済ませたいという思いがあります。

移行

実は、一番頭を悩ませているのがこの移行です。すでに少なくない記事をリリースしていることもあり、移行するとなるとちょっと頭を悩ませる問題です。

移行と言っても様々な方式があり、ざっくり

  • ばっさり切り捨てる(全部なかったことにする)
  • 静的HTMLとしてどっかにホストしておき、新システムとは別のものとする
  • 新システム用に全部移行する

という案が挙げられます。バッサリ切り捨てるというのは多分ありえないので、静的HTML化か新システムに移行かの二択ですが、また、いろいろと考えてみようかなと思います。

最後に言い訳

ということを考えたり考えなかったりしていたら、いつの間にか年末になったので、この冬休みの間にでもちょっと調査してみようかなと思い、エントリ化してみました。が、実現できるかどうかはまた別の話です。