静的ページジェネレーター、Hexoと、無料ホスティングサイトのNetlifyでサイトを構築します。
目次#
はじめに#
NetlifyとHexoの組み合わせですが、GitHubやbitbucketと連携させることができ、
デプロイ手順を簡略化できるというメリットがあります。
このブログではbitbucket経由でgitリポジトリへのpushすることで記事のデプロイを実現しています。
基本的な手順はNetlifyの公式ページをベースにしています。
A Step-by-Step Guide: Hexo on Netlify | Netlify
Netlifyにデプロイするのは生成されたHTMLではなく、Markdown形式のデータになります。
作業の流れは以下のとおりです。
- Node.jsのインストール
- Hexoのインストール
- Hexoの設定
- gitリポジトリの設定
- 記事の作成
- Netlifyとリモートリポジトリの連携
- 各種設定
Hexoのインストールと初期化#
HexoをインストールするにはNode.jsおよびnpmコマンドが必要です。
macOS上ではHomebrewを使う方法が簡単です。
Windows環境の場合はNode.jsの公式ページからダウンロードできます。
Node.jsのインストール#
Homebrew でnode.js
をインストールします。
brew install node |
npm
コマンドが一緒にインストールされる。
バージョン確認。
node --version |
Hexoのインストール#
Hexoのインストール。-g
を指定することで/usr/local/bin
にhexo
コマンドがインストールされます。
sudo npm install hexo-cli -g |
コンテンツを置くディレクトリの初期化#
<dir-naame>
は任意のディレクトリ名。
hexo init <dir-name> |
引数に指定したディレクトリに移動。
cd <dir-name> |
以下のコマンドでモジュールのインストール。
npm install |
以下、バージョン情報。
$ hexo --version |
動作チェック#
Hexoのサーバーを起動してみます。
$ hexo server --draft |
http://localhost:4000/
にアクセスして、テスト用のページが表示されればOKです。
git リポジトリのセットアップ#
初期化#
Bitbucket経由でデプロイするのでgitリポジトリを初期化しておく。
git init |
gitの管理対象から外すファイルを.gitignore
に書き込みます。
echo "/public" >> .gitignore |
public
ディレクトリは生成されたHTMLファイルの格納先ですが、Netlify側でhexo g
コマンド(後述)を実行してHTMLファイルを生成するためgitの管理対象から除外します。
node_modules
ディレクトリについてもNetlify側で必要なモジュールがセットアップされるためgitの管理対象から除外です。
git add -a |
この時点でコミットしておきます。
git commit -m 'First commit' |
リモートリポジトリの設定#
bitbucketまたはgithubでリポジトリを作成しておきます。
$ git remote add origin Git_Repository_URL |
Git_Repository_URL
を自分のgit リポジトリのURLに変更。
bitbucketの例を示しておきます。
$ git remote add origin git@bitbucket.org:ユーザー名/リポジトリ名 |
設定の確認は
git remote -v |
あとは記事を作成後、リモートリポジトリにgit push -U
、Netlify側で関連付けるリポジトリを選択してせってすれば完了。
Hexoの基本設定#
各種プラグインのインストールと設定。
設定ファイルの編集#
設定ファイルを修正する。
vim _config.yml |
設定ファイル_config.yml
を編集し、基本的な項目を設定します。
# Site |
項目名のとおりですが、一応説明。
- title: ブログのタイトル
- subtitle: ブログのサブタイトル
- description: 説明
- keywords: カンマ区切りでキーワードを列挙。SEO対策。
- author: 著者名
- language: アルファベット2文字で言語を設定(ISO 639-1形式)(デフォルトは”en”)
- timezone: タイムゾーンを指定
description および keywords はSEO甩です。
記事の作成#
本来の基本的な流れは
- hexo new draft “記事タイトル”
- hexo publish
- hexo server –draft
- hexo generate
- hexo deploy
となります。この記事のようにサーバー側でページを生成する場合は手順2のpublish
、手順4のgenerate
は不要です。
hexo publishではなく、git mv
または単にmv
コマンドでファイルをsource/_post
にファイルを配置してgit commit
、git push
。
サーバー側でリポジトリの更新をチェックしてhexo generate
コマンドが実行され、
HTMLページが生成される形になります。
なお、各コマンドには省略形が用意されています。例えば、hexo server
に対してhexo s
など。それぞれのサブコマンドの最初の一文字です。
デプロイ#
前述のとおり、hexo deploy
は使用しません。
$ git push origin master |
または
git push -U |
2回目からはgit push
。
Netlify側の設定#
まずNetlifyにログインし、新規サイトの作成画面へ。
連携するサービスを選ぶ画面で使用しているサービスを選択するとリポジトリ選択画面に切り替わるのでブログ記事をpushしたリポジトリを指定します。
基本的に画面の指示に従えば問題ないはず。
Netlify側の作業は公式サイトを参照。
A Step-by-Step Guide: Hexo on Netlify | Netlify
まとめ#
以上で完了です。あとはHexoの詳細設定とテーマのカスタマイズ。
記事を書いてhexo s
でプレビューしてgit push
して公開するという手順を繰り返すしていくことになります。