dreamin' blog

Jun 09, 2018

ブログを独自の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)

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

自作

  • 最近メディア関連のお仕事が多く、blogに近いものをサクッと作れるノウハウが溜まってました。
  • あわよくば複数のメディアを同じblogツールを使って運用できるかもという下心が湧いてきちゃいました。
  • esaやkibelaやwikiツールも作りたくて同じような仕組みになりそうだから、とりあえず個人ブログだけ作ってみた。
  • 後述するURLそのまま移管を思いついたらサクッとできた

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]+/

と記述しました。

今後について

  • 頑張ってブログを更新する
  • ブログの機能の拡張をする (編集履歴の管理、複数ブログ、複数ユーザー、netlifyなどへのexport対応など)
  • テスト的にブログを使ってくれる人を募集する

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


copyright © 2023 koheisg All Rights Reserved.