はじめに
GitHub Pagesを用いると、無料でWebサイトを公開できます。静的サイトジェネレータ(今回はHugoを利用)と組み合わせることでブログを簡単に作れることを知り、試してみたくなりました。そのまとめです。GitHub Pagesと静的サイトジェネレータに関する非常に分かりやすい記事が多数ありましたが、自分用のまとめとして作成しました。
全体通して,参考にした記事たち
参考1:Hugo + GitHub Pages(独自ドメイン適応)でサイトを作成・公開する
参考2:【2018年版】Hugoとgithub pagesでブログ作る方法【Circle CIも回します】
Hugoとは
ブログを作成する際,コンテンツの作成や編集のしやすさからWordPressのようなCMSを利用することが多い.しかし,CMSを使用するにはCMS自体のインストールや設定,データベースの準備など少し複雑な作業が必要となる.小規模なブログの場合,HTMLファイルを用いた静的なサイトを作成したほうがコストが低くなる場合がある.とはいえ,HTMLファイルをいちいち手動で作成するのはめんどくさい.そのため,HTMLファイルを半自動生成するようなツール(静的サイトジェネレータ)が存在し,その一つがHugoである.
Hugoは,Go言語で開発された静的サイトジェネレータである.Hugoを使うとデータベースを使用することなく静的なHTMLファイルやCSSファイルによるブログを作成できる.コンテンツは,Markdown形式で記述して,ビルドすると静的なHTMLファイルによるウェブサイトが生成される.

Hugoのメリットしては,
- ビルド,表示処理が早い
- データベース不要で管理が簡単
ということがあげられる.
参考1:静的サイトジェネレータ「Hugo」と技術文書公開向けテーマ「Docsy」でOSSサイトを作る
参考2:Hugoとは?静的サイトジェネレータについて解説
Hugoでサイトを作成
Hugoのインストール
| |
その他の方法でのインストール方法は,Install Hugo
サイトの作成
| |
サーバーでプレビュー
| |
http://localhost:1313で確認できる
フォルダの中身の確認
| |
参考1:HUGO のディレクトリ構成
参考2:Directory Structure
テンプレートを利用する
Hugo Themesから好きなテーマを選択し,themesフォルダの中にcloneする.
| |
config.tomlに以下の行を追記する.
| |

ブログ記事を作成する
| |
new-post.mdの中身
| |
- hugoコマンドで、public以下に静的ファイルが生成
| |
Github Pages
Githubにリポジトリを作成する
Githubの画面右上のプラスアイコン「+」をクリックし,「New repository」を選択する. フォルダ名は,「アカウント名.github.io」にする. 公開URLは https://アカウント名.github.io となる.

参考:自分で作ったWebページをインターネット上に公開しよう!
publicフォルダをここに上げる.
Github Pagesではフォルダ直下のhtmlファイルしか,公開してくれないため,hugoで作成したtestフォルダ内のpublicフォルダを「アカウント名.github.io」にアップロードする. Githubへのアップロード方法は,初心者用:GitHubにファイルをアップロードする方法(超基本) を参考. testフォルダ自体は,別のリポジトリを作成してそちらで管理する.もしくは,branchで分ける.
その他
hugo 実行方法
ローカルのサーバーで確認
| |
ローカルのサーバーで確認(ドラフトも対象)
| |
latex 数式を使うための編集
/layouts/partials/add_mathjax.htmlを作成
| |
/layouts/partials/site-header.htmlに追記
| |
google Analytics
config.tomlに以下の行を追加
| |
Google Analyticsとの連携のための組み込みテンプレート({{ template “_internal/google_analytics_async.html” . }})が古いため変更を追加
layouts/partials/head.htmlを編集
| |
layouts/partials/analytics.htmlを作成
| |
参考:Hugoで未だ対応していないgtag.jsを利用して Googleアナリティクスする
Sitemapを作成
layouts/sitemap.xmlを作成
| |
layouts/robots.txtを作成
| |
config.tomlを編集
| |
URL /sitemap.xml で表示されます。 https://yuhi-sa.github.io/sitemap.xml