やっとこのブログをhttps化しました。
混在コンテンツはなんとか無くせたと思うのですが、実際はどうなのかは若干不安です。
で、この記事はhttps化でのノウハウ等を記述しています。
はてなブログ用ツールでの対応は大変
以下のはてなブログ用ツールを使用して、混在コンテンツは事前に対応していましたが、それでも混在コンテンツの対応は手間がかかりました。数が多いのでチェックしたり、再確認したりと時間がかかったのです。
楽にするためにblogsyncを使った
もう少し楽に混在コンテンツに対応するため、以下のblogsyncというツールを活用しました。
blogsyncはローカルにファイルとして記事を持てて、gitを活用することができるのが便利です。ローカルで記事を更新して、はてなブログにPUSHするという使い方ができるのです。
blogsyncの使い方やノウハウを以下にメモします。
事前設定
ブログのURLはAPIキーなどを設定します。
blogsyncで記事を取得
以下のように記事をダウンロードします。
/.blogsync pull nomusicnolife.hatenablog.com
ダウンロードは記事数が多いと時間がかかります。そして、これは最後まで待つことが大事です。途中で「どうなっているかな?」と、ctrl+cで終了させたりすると記事がダウンロードされないので注意が必要です。
また、はてなブログ側で更新されると、差分のみがダウンロードされます。
gitで管理
以下のようにgitで管理すると便利です。というのも、一括で置換する場合の確認と、確認がNGだった場合の戻しが楽だからです。実際に、間違えて置換をしてしまい、戻すということが多かったので、gitに助けられたという実感があります。
gitの初期化です。
git init
私はすべてのファイルをgitの管理対象にしました。なので、git addの後はピリオドを指定して全てのファイルを対象にしました。
git add .
更新箇所の確認は以下です。
git diff
更新箇所の戻しは以下のコマンドです。
git chekout
文字列の置換
複数ファイルにまたがって文字列を置換したいため、以下のように確認してから、ファイルを更新しました。
sedによる文字列置換の確認
以下のようにsedで文字列置換を確認します。
find ./ -type f -name \*.md | xargs sed -n "s#http://nomusicnolife.hatenablog.com/#https://nomusicnolife.hatenablog.com/#pg"
sedの「-n」オプションで結果を表示します。
また、変更前文字列と変更後文字列を指定するセパレータは#を使用しました。というのも、URLにスラッシュがあり、これをエスケープすると見にくいと感じたためです。
さらに、pgと入れています。pは変更した箇所を表示するオプション、gは置換をファイルの最後まで実施するオプションです。
sedによる文字列置換の実行
確認できたら、以下のコマンドでファイルを変更します。
find ./ -type f -name \*.md | xargs sed -i "s#http://nomusicnolife.hatenablog.com/#https://nomusicnolife.hatenablog.com/#g"
確認するコマンドからの変更は「-i」と「p」をなくしたことです。
-iのオプションはファイル変換です。
また、pを無くすのは、pがあると変更後の文字列が2行出てくるのを避けるためです。
と、上記のような感じでhttps化をすすめていきました。
- 出版社/メーカー: 福岡県
- メディア: その他
- この商品を含むブログ (2件) を見る