揚げログ

更新休止中・Karaageの活動報告とメモ

HexoとGithub Pagesで詰まった点

ブログ移転の背景

過去、yahooブログ、fc2ブログWordPressBloggerと、色々なブログサービスをさまよった。どれも自分の使い方では一長一短ではあったが、最近特に、 * 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.

ターミナル上でgithubssh接続出来ているから、エラー文に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

参考 git clone - Permission denied (publickey) fatal: Could not read from remote repository. while cloning Git repository - Stack Overflow

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: