HexoとGithub Pagesで詰まった点
ブログ移転の背景
過去、yahooブログ、fc2ブログ、WordPress、Bloggerと、色々なブログサービスをさまよった。どれも自分の使い方では一長一短ではあったが、最近特に、 * markdown記法でローカルで記事を作成したい * サーバー側の仕様変更・サービス変更に影響を受けたくない * 管理ページが使いづらい といったことから、移転を検討していた。 (追記 2019/01/23:しばらくGithub Pagesにブログをデプロイしていましたが、CSS,JSの管理等にリソースを避くべきではないという判断になり、今度ははてなブログにしました)
hexo導入
hexoとは、静的サイトジェネレータの一つ。簡単に言うと、記事・テンプレート・設定といったブログサービス全体をローカル環境で生成し、出来上がったhtml,css,js等々をコマンド一つでサーバーにデプロイしてくれる。
静的サイトジェネレーターの良さ
- ローカルでマークダウン記法で記事・css・設定を準備でき、仮想サーバーでプレビューできる
- もし移転したくなっても、ローカルのconfigでデプロイ先を変えるだけで、テンプレート・設定等含め丸ごとデプロイできる。
詰まったところ
githubとの接続
hexo d -g
でデプロイしようとしたら、以下のエラーが返された。
Error: Permission denied (publickey). fatal: Could not read from remote repository.
ターミナル上でgithubとssh接続出来ているから、エラー文にPermission denied (public key) とあるが、鍵の問題ではなさそう。 検索した結果、こちらで無事解決。
_config.ymlのデプロイに関する部分を以下のようにした。
# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git # git@github.com:... → https://github.com/... に変更 repo: https://github.com/[ユーザー名]/[レポジトリ名].git branch: master message: update
cssが読み込まれない
_config.ymlのURL部分を以下のようにした。ブログページへのアクセスURL(.github.io)ではなく、レポジトリへのURLを記述する。
# URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' - url: https://[ユーザ名].github.io/[レポジトリ名]/ + url: https://github.com/[ユーザ名]/[レポジトリ名]/ root: /blog/ permalink: :category/:id/ permalink_defaults: