ブログをHexoに移行しました

WordpressからHexoに移行した話

理由

  • 多機能だが全然使いこなせない
  • gitで全てを管理できない

上記が主な理由なのだが、何を隠そう元々4エントリーしかなかったので
心機一転環境を変えてモチベーションを上げようというのが狙い。。

移行先の選定

下記のサイトを参考に選定しました

最終的にJekyllHexoで迷い、
Node.jsの勉強になるかと思い「Hexo」を選びました。

セットアップ

公式サイトを参考にインストール(node,npmはインストールは省き)

Hexo インストール

1
2
3
4
$ npm install hexo-cli -g
$ hexo init weblog
$ cd weblog
$ hexo server

Hello Worldの記事が表示されます
すごい簡単

GitHub Pages

サーバはGitHubPagesを利用しようと思ったので、
GitHubにレポジトリを用意

1
2
3
4
5
6
$ cd weblog
$ git init
$ git remote add origin git@github.com:tetuo41/weblog.git
$ git add .
$ git commit -m "first commit"
$ git push origin master

今回は何も考えずmasterブランチで管理しようと思う

Wordpressの記事を移行

Wordpressから、記事のxmlをエクスポートしHexoに取り込む
取り込む際には「hexo-migrator-wordpress」プラグインを利用

1
2
3
$ cd weblog
$ npm install hexo-migrator-wordpress --save
$ hexo migrate wordpress <source>

取り込むとsource/_post/配下に記事が作成される
画像などは修正する必要があるので各々修正

私は画像はpost_asset_folderを利用せず、<img>タグで運用することにしました。
post_asset_folder: trueにすると記事ごとにフォルダが作成されそこに画像データを入れると
記事内でタグで便利になるっぽいですが、私はそんなに画像を使わないだろうと判断し
source/img/フォルダを作成し、そこを参照するように変更

Deploy

準備ができたので、Deploy作業設定ファイル_config.ymlを色々変更

サイトの基本情報系

1
2
3
4
5
6
7
# Site
title: Stay Rad
subtitle:
description:
author: Hiroki Hatsushika
language: ja
timezone: Asia/Tokyo

テーマ(light

1
theme: light

Deployment

1
2
3
4
5
6
7
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:tetuo41/weblog.git
branch: gh-pages
message: hexo deploy

私はGitHub Pagesを利用しようと思うので
別途https://github.com/hexojs/hexo-deployer-gitプラグインを入れとく

設定変更が終わったらいよいよDeploy

1
$ hexo d -g

GitHub Pageが表示される

私は独自のドメインを利用したのでCNAMEを設置して完了

感想

非常にメンテナンスしやすくなった。
MySQLサーバも必要ないし、GitHub Pageも利用できるしGitで管理もできるようになった、
画像の運用に関しては色々検討したいが、取り敢えずPluginを漁ってみようと思う。
ゆくゆくはPluginも作りたいw

HexoにWordPressの記事をマイグレートする
hexo-セットアップメモ
Hexo でブログをつくるまで