hexo

http://hexo.io/
http://hexo.io/docs/
https://github.com/wzpan/hexo-theme-freemind

ブログをOctopress からHexo に変更してみました。

node.js のインストール

$ sudo apt-get install build-essential libssl-dev curl git
$ git clone git://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh
$ nvm install v0.10
~/.bashrc
[[ -s "$HOME/.nvm/nvm.sh" ]] && . "$HOME/.nvm/nvm.sh"
nvm use v0.10 > /dev/null
export NODE_PATH=${NVM_PATH}_modules

Hexo のインストール

$ npm install -g hexo
$ hexo init hexo_blog
$ cd hexo_blog
$ npm install

テーマとプラグインのインストール

$ git clone https://github.com/wzpan/hexo-theme-freemind.git themes/freemind
$ npm install hexo-tag-bootstrap --save
$ npm install hexo-generator-feed --save
$ npm install hexo-generator-sitemap --save

以下のファイルも作っておきます。

  • ./source/categories/index.html
  • ./source/tags/index.html
  • ./themes/freemind/languages/ja-JP.yml
./themes/freemind/layout/_partial/head.ejs を修正
<% if (theme.rss){ %>
<link rel="alternate" href="<%- config.root %><%- theme.rss %>" title="<%= config.title %>" type="application/atom+xml">
<% } %>
./themes/freemind/layout/widget/search.ejs
<input type="hidden" name="hq" value="site:<%- config.url.replace(/^https?:\/\//, '') %>">	

環境設定

Hexo 用の設定とテーマ用の設定を利用環境にあわせて修正します。

./_config.yml
language: ja-JP
theme: freemind
./themes/freemind/_config.yml
slogan: "なにか おもしろいこと ないかな"

データ移行

各種CMS からデータを移行するためのコマンドが用意されていますが、今回は単純にMarkdown と画像をインポートしました。

  • ./source/_posts/
  • ./source/images/
  • ./themes/freemind/source/favicon.ico

コマンド

コマンド 別名 説明
hexo new n 新しい記事の作成
hexo generate g 静的ファイルの生成
hexo server s ローカルサーバの起動
hexo deploy d Web サイトへデプロイ
hexo new page 新しいページの作成
hexo clean 生成したファイルとキャッシュの消去

404 ページ

404.md というファイルを作成しておくとGitHub のサイト上に存在しないパスが指定された場合に表示されるページを生成できます。

./source/404.md
title: 404 Page Not Found
---
[Top Page](/)