🚀 Hugo初心者入門書|最速で理解する静的サイトジェネレーターの基本と魅力

📘 Hugoとは?(まずは全体像を理解する) Hugo は Go言語で作られた静的サイトジェネレーター(SSG) です。 Markdownで書いた記事を HTML に変換し、高速に Web サイトを生成できます。 Hugoの特徴 とにかくビルドが速い(数百記事でも一瞬) サーバー不要(静的ファイルなのでどこでもホスティング可能) Markdownで記事を書くだけ テーマが豊富(PaperMod、Stack、LoveIt など) GitHub Pages / Netlify / Cloudflare Pages と相性抜群 補足:Hugo は CMS ではありません。WordPress のように管理画面はなく、ファイルベースで管理します。 ⚡ Hugoで何ができるのか? Hugo はブログだけでなく、以下のようなサイトにも向いています。 🔹 ブログ・技術メモ Markdownで書けるため、エンジニアやクリエイターに人気。 🔹 企業サイト・LP 高速でセキュアなため、企業サイトにも採用例多数。 🔹 ドキュメントサイト Hugo公式テーマ「Docsy」など、ドキュメント向けテーマも豊富。 🔹 ポートフォリオサイト 画像や作品をまとめるサイトも簡単に構築できます。 🆚 Hugoと他のツールの違い(WordPress / Jekyll / Next.js) 初心者がつまずきやすいポイントを比較しながら整理します。 🔸 Hugo vs WordPress(CMS) 項目 Hugo WordPress サイト生成 静的 動的 セキュリティ 高い 低め 速度 爆速 遅くなりがち 管理画面 なし あり 運用コスト ほぼ無料 サーバー代が必要 注意:管理画面が欲しい人は WordPress の方が向いています。 ...

🚀 Hugo + PaperMod + GitHub Pagesでブログ公開【初心者向け完全ステップガイド】

このガイドのゴール:Hugo + PaperMod を使ったブログを GitHub Pages に公開し、以降は記事を push するだけで自動更新できる状態にする。 ✅ 前提条件(必要な環境) Git と Hugo(Extended版) をインストール済み GitHubアカウントを保有 コマンドラインが使える(macOS/Linux/WSL いずれもOK) Extended版が必要な理由:PaperModなど一部テーマはSCSSのコンパイルにExtended版を使います。 🛠️ Hugoサイトの新規作成 hugo new site blog --format yaml # 新規Hugoサイト(設定ファイルをYAMLで作成) cd blog git init # Gitリポジトリを初期化 🎨 PaperModテーマの導入 最も簡単なのは Git Submodule でテーマを取り込む方法です。 git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod hugo.yaml にテーマを指定します: theme: ["PaperMod"] 注意:GitHub Actions でビルドする際は actions/checkout の submodules: true を必ず設定してください(後述)。 代替案:Hugo Modulesでテーマを管理する方法もあります(hugo mod init → module.importsにPaperModを指定)。慣れるまではSubmoduleが分かりやすいです。 📝 Hugoの基本設定(hugo.yaml) 最低限の設定例を示します。後から拡張できます。 baseURL: "https://username.github.io/blog/" # 後で必ず自分の公開URLに合わせて変更 languageCode: "ja-jp" title: "My Hugo Blog" theme: ["PaperMod"] paginate: 10 outputs: home: ["HTML", "RSS", "JSON"] params: defaultTheme: "auto" # ダーク/ライト切替 ShowShareButtons: true ShowReadingTime: true ShowCodeCopyButtons: true showtoc: true # 記事内目次 images: ["images/og-image.png"] # OGP用 author: "HNEST" menu: main: - identifier: archives name: Archives url: /archives/ weight: 10 - identifier: tags name: Tags url: /tags/ weight: 20 ✍ 初回記事の作成とローカル確認 記事を作成します: ...