Hexoでブログを構築する方法
2023/7/6
blog
GitHub Pagesへの再デプロイを機に、Hexoをブログフレームワークとして採用しました。
HexoはNode.jsベースの高速でシンプルな静的ブログ生成ツールです。詳細な使い方を解説します。
目次
- 目次
- インストール方法
- プロジェクト初期化
- 基本設定
- Hexo基本コマンド一覧
- 重要な設定ファイル
- 便利な小技
- 高度なカスタマイズ🔧
- SEO最適化🔍
- 自動デプロイ設定🤖
- トラブルシューティング🚨
- 公式ドキュメント
インストール方法
前提条件
- Node.js(v12.0.0以上)とGitをインストール
- Hexo CLIのグローバルインストール:
npm install -g hexo-cli
プロジェクト初期化
新規ブログ作成
hexo init <フォルダ名>
cd <フォルダ名>
npm install
フォルダ構造
.
├── _config.yml # メイン設定ファイル
├── package.json # 依存関係
├── scaffolds # 投稿テンプレート
├── source # Markdownコンテンツ
├── themes # テーマフォルダ
└── public # 生成ファイル(自動生成)
基本設定
_config.ymlの主要設定(日本語訳例):
# サイト設定
title: マイブログ
subtitle: Hexoで作るブログ
description: 個人技術ブログです
keywords: Hexo, ブログ, チュートリアル
author: あなたの名前
# パーマリンク設定
permalink: :year/:month/:day/:title/
# テーマ設定
theme: landscape
# デプロイ設定
deploy:
type: git
repo: <リポジトリURL>
branch: main
Hexo基本コマンド一覧
プロジェクト管理
| コマンド | 説明 | 例 |
|---|---|---|
hexo init <フォルダ名> |
新しいプロジェクトを作成 | hexo init my-blog |
npm install |
依存関係をインストール | (プロジェクトフォルダ内で実行) |
記事管理
| コマンド | 説明 |
|---|---|
hexo new "タイトル" |
新しい記事を作成 |
hexo new page "ページ名" |
タグ/カテゴリページを作成 |
hexo generate / hexo g |
静的ファイルを生成 |
hexo clean |
キャッシュを削除 |
ローカルプレビュー
| コマンド | 説明 |
|---|---|
hexo server / hexo s |
ローカルサーバー起動 |
hexo server -p 5000 |
ポート指定(例: 5000番ポート) |
デプロイ
| コマンド | 説明 |
|---|---|
hexo deploy / hexo d |
サイトをデプロイ |
hexo g -d |
生成+デプロイを同時実行 |
ヘルプ
| コマンド | 説明 |
|---|---|
hexo help |
ヘルプを表示 |
hexo version |
Hexoのバージョンを確認 |
基本ワークフロー
- 記事作成
hexo new "はじめての投稿"
- ローカル確認
hexo clean && hexo g && hexo s
- デプロイ
hexo clean && hexo deploy --generate
重要な設定ファイル
_config.yml:メイン設定ファイルthemes/[テーマ名]/_config.yml:テーマ設定ファイル
便利な小技
- 下書き機能:
hexo new draft "下書きタイトル" - デバッグモード:
hexo generate --debug - 特定ファイルのみ生成:
hexo g --watch
以下是为您的Hexo日语博客添加的完善建议,使用Markdown格式呈现:
高度なカスタマイズ🔧
プラグイン活用例
# _config.yml に追加
plugins:
- hexo-generator-search # 検索機能
- hexo-related-posts # 関連記事表示
- hexo-autonofollow # 外部リンク対策
テーマ改造テクニック
- ナビゲーションメニュー追加:
<!-- themes/landscape/_partial/header.ejs -->
<nav>
<a href="<%- url_for('/about') %>">自己紹介</a>
<a href="<%- url_for('/projects') %>">プロジェクト</a>
</nav>
- カスタムCSS追加:
mkdir -p source/css
echo '.custom-class { color: #ff0000; }' > source/css/custom.css
SEO最適化🔍
基本設定
# _config.yml
sitemap:
path: sitemap.xml
google_analytics: UA-XXXXX-X
メタタグ強化
<!-- themes/landscape/layout/_partial/head.ejs -->
<meta name="keywords" content="<%= config.keywords %>">
<meta property="og:image" content="<%- url_for('/images/ogp.png') %>">
自動デプロイ設定🤖
Cloudflare Pagesを使った自動デプロイ
-
プロジェクト作成手順
- Cloudflareダッシュボード → [Pages]を選択
- [プロジェクトを作成] ボタンをクリック
- GitHubアカウントを接続(全リポジトリor特定リポジトリを選択)
-
ビルド設定
ビルドコマンド: npx hexo generate 公開ディレクトリ: public フレームワークプリセット: None -
デプロイ完了
- ビルド成功後、自動で
*.pages.devドメインが割り当てられます - カスタムドメインの設定も可能
- ビルド成功後、自動で
既存設定との統合例
# _config.yml
url: https://your-domain.pages.dev
deploy:
type: git
repo: git@github.com:yourname/yourrepo.git
主なメリット
✅ GitHub連動での自動ビルド
✅ 無料SSL証明書自動発行
✅ グローバルCDN配信
✅ プレビュー機能付きPRデプロイ
公式ガイド
GitHub Actions例
# .github/workflows/deploy.yml
name: Deploy
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: '22'
- name: Install Dependencies
run: |
npm install -g hexo-cli
npm install
- name: Deploy
run: |
hexo clean
hexo deploy --generate
トラブルシューティング🚨
| 現象 | 解決方法 |
|---|---|
| デプロイ失敗 | hexo clean を実行後再試行 |
| 画像が表示されない | パスを/images/example.jpg形式で記述 |
| スタイルが崩れる | hexo g 実行後にハードリフレッシュ |