このブログの構成について
概要
やりたいこと
- 久しぶりにブログを作りたい
- 前にも何回かやって面倒になってやめた
今回もそうなる予定だけど、どこからでも書けて管理できるものにしたい
- どうせ作るならMarkdownで気楽にメモするくらいの気持ちで作りたい
- というより最近はMarkdownで書くことが多くて普通のブログを書ける気がしない…
- 前にも何回かやって面倒になってやめた
できたもの
- このブログの構成
- Netlify : ホスティング
- Hugo : 静的サイト作成
- GitHub : ソースコード管理
選んだ理由
Netlify
- 名前を聞いたことがあった
- GitHub Pagesでもよかったけど、他用途で使いそうな気がする
Hugo
- Markdownで書ける
- 単純に使ってみたかった
- Golangの勉強しなくてもいい
細かなデザインとか無理
Hugoのインストール
通常のHugoのインストール方法は以下の通り
- Hugoのインストール方法
- 通常はHugoのインストールだけでOK
今回は、Dev Containersを使ってコンテナにHugoをインストール
- Dev Containersの概要
- 選んだ理由
- Dev Containersを使うことで、必要な環境をコンテナで準備できる
- Hugoをローカル端末に残しておきたくないときに使える
- Dev Containersを使ってみたかった
- Dev Containersを使うことで、必要な環境をコンテナで準備できる
手順
Dev Containersの設定
前提条件
- Visual Studio Code がインストールされていること
- Dev Containers 拡張機能 がインストールされていること
手順
Visual Studio Codeを起動し、管理対象のディレクトリを開く
- どこでもいいので、今回は 「hugo_blog」 ディレクトリを作成して開く
コマンドパレットを開き、「Dev Containers: Add Dev Container Configuration Files…」を選択
ベースは「Debian」を選択
追加の機能として以下を選択
- Go
- Hugo
- Git
.devcontainers/devcontainer.jsonを編集featuresの設定を以下のようにする"features": { "ghcr.io/Dev Containerss/features/git:1": {}, "ghcr.io/Dev Containerss/features/go:1": {}, "ghcr.io/Dev Containerss/features/hugo:1": {"extended":true} // Hugoのextended版をインストール },
Visual Studio Codeを再起動し、コンテナを起動
フォルダ構成
hugo_blog/
├── .devcontainer
│ └── devcontainer.json
.devcontainer/devcontainer.json{ "name": "Debian", // イメージ(DebianのBullseyeを使用) "image": "mcr.microsoft.com/devcontainers/base:bullseye", // イメージに対して追加でインストールする機能 "features": { "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers/features/go:1": {}, "ghcr.io/devcontainers/features/hugo:1": {"extended":true} }, // VSCode 拡張機能 "customizations": { "vscode": { "extensions": [ "ms-vscode.go", "yzhang.markdown-all-in-one" ] } } }
サイトの初期設定
テーマの追加
サイトを作成
hugo new site blogテーマを追加
- デフォルトは何も設定されていないため、テーマを追加する
- 今回はhugo-paperを使用
cd blog git submodule add https://github.com/nanxiaobei/hugo-paper.git themes/hugo-paperテーマの適用
config.tomlまたはhugo.tomlに以下を追加
theme = 'paper'
記事の追加
新規作成
- hugo newを使って新規作成
hugo new posts/2024-07-20_how_to_use_hugo.md記事の編集
- 作成した記事を編集
--- title : "Hugoのインストールと使い方(このブログの概要)" lastmod : "2024-07-20" tags: ["hugo", "tech"] ---ローカルで確認
- hugo serverを使ってローカルで確認
hugo server -D- ブラウザで
http://localhost:1313にアクセス
Netlifyでデプロイ
GitHubにリポジトリを作成
- 今回はプライベートリポジトリを作る
コードをプッシュ
git init git remote add origin https://github.com/username/repo.git # 自分のリポジトリに変える git add . git commit -m "first commit" git pushNetlifyでデプロイ
Host on Netlifyをもとに設定
Netlifyにアクセス
- GitHubアカウントと連携させる
ビルド設定を追加
- ビルドコマンド :
git clone https://github.com/nanxiaobei/hugo-paper.git themes/paper && hugo --theme=paper --gc --minify- submoduleを使う場合、別途テーマの取得が必要
- 公開ディレクトリ :
public - 環境変数
HUGO_VERSION:0.129.0# 2024/07/20時点の最新バージョン
- ビルドコマンド :
後続のタスク
- 調べておかないといけないもの
- コスト(個人のブログなら問題ないはず)
- カスタムドメイン設定
- Hugo, Netlifyのその他の機能
雑記
- とりあえずブログ作成するなら、はてなブログとかのほうが楽(今回は色々試したかったから)
- Markdownでブログが書ける環境ができたから、書く気力があれば増やすかも(
はてなブログでも使える)