ブログ移管した
ブログを 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対応など)
- テスト的にブログを使ってくれる人を募集する
という感じで考えてます。