ブログを独自のCMSに移行しました

ブログ移管した

ブログを jekyll + github pages での運用から、独自のCMS(heroku + rails)に移行しました。

移管した理由

オンラインからサクッと編集したい

記事の雛形は make post みたいなコマンドを書いて、サクッと記事を書き始められるようにしてはいたのだけれども、、、
ちょっとした修正を出先や移動時間にするのにgithubに接続してブラウザから修正することにイライラしており、サクッと編集できるものが欲しかった。

jekyll疲れ

jekyllのプラグインとか拡張とかに限界を感じていた。

GitHub離れ

買収が発表される前から検討していたので、半分冗談ですが、移管完成がこのタイミングになったのはこれもある。
blogはコミットを外に公開したくなかったので、privateリポジトリで運用していましたが、
microsoft買収により自分が課金する必要もないかなと思いました。

このお金はherokuに払っていくぞ!頑張れheroku!

(あといくつかのprivateリポをgitlabかbitbucketに移管すれば、コスト削減も同時に達成できます。ありがとうmicrosoft。)

移管先の検討

wordpress

ブログサービス系 (medium/note/qiita/はてな/livedoor/line)

この辺りのツールはスマホからも修正がかなり簡単で圧倒的に使いやすいのです。
が、当たり前ですが融通が効かない点も多いので、断念しました。

自作

rails + herokuで自作しました

railsは自分のライスワークでありながら、ライクワークなので、
ブログを書きたくない時も、railsを書いてインプットができるのは良さそうと思いました。
あと、railsはブログみたいなツール作るのに向いてるんですよね。

以下、有益になるかもしれないことです。

markdownで記述は html-pipeline 周りでサクッと対応

html-pipeline というgemを使うとmarkdownをhtmlに変換するのは簡単です。
独自に拡張したい時もfilterをサクッと書くことができて最高です。

https://github.com/jch/html-pipeline

パーマリンクをそのまま移管

railsでブログ記事というとURLが /articles/1 みたいになりそうですが、
パーマリンクを過去の記事のまま移管する方法に rails engineを使用しました。
記事公開するためだけの rails engine を作り完全にroutesを分離し、それによりパーマリンクのためだけの一つのroutesを実現しました。

main appの config/routes.rb に下記を記述します。

  constraints(-> 'koheisg.dreamin.cc'.eql?(req.host)) do
    mount SomeEngine::Engine => "/"
  end

そして、SomeEngineのroutes、つまり some_engine/config/routes.rb

get '/:permalink', to: 'articles#show', permalink: /[^\s]+/

と記述しました。

今後について

という感じで考えてます。