mirror of
https://github.com/imfing/hextra.git
synced 2025-08-24 18:06:35 -04:00

* docs(blog): prepare for v0.10 release post * Update v0.10.md * Update v0.10.md to refine upgrade instructions and enhance blog features. Added synchronized tab switching and pagination controls, while improving the search experience and table of contents navigation. * Enhance v0.10 release documentation with detailed upgrade instructions and migration guide. Added Tailwind theme variable customization section and clarified breaking changes. Improved clarity on CSS class prefix changes for better user experience. * Update v0.10.md to enhance upgrade instructions, clarify breaking changes, and improve overall readability. Adjusted formatting for consistency and added details on asset management and user experience improvements. * Add notable new features to v0.10.md, including dropdown menu support, enhanced search experience, and blog list pagination. Updated FlexSearch upgrade details for clarity and improved migration guide by removing redundant breaking change notes. * chore: update zh-cn translation * chore: update ja translation * chore: update fa and ja translations * chore: prepare release
163 lines
5.9 KiB
Markdown
163 lines
5.9 KiB
Markdown
---
|
||
title: サイトのデプロイ
|
||
prev: /docs/guide/shortcodes
|
||
next: /docs/advanced
|
||
---
|
||
|
||
Hugo は静的サイトを生成するため、柔軟なホスティングオプションが利用可能です。
|
||
このページでは、Hextra サイトを様々なプラットフォームにデプロイする方法を解説します。
|
||
|
||
<!--more-->
|
||
|
||
|
||
## GitHub Pages
|
||
|
||
[GitHub Pages](https://docs.github.com/pages) は無料でサイトをデプロイ・ホストするための推奨方法です。
|
||
|
||
[hextra-starter-template](https://github.com/imfing/hextra-starter-template) を使用してサイトを構築した場合、GitHub Pages への自動デプロイを支援する GitHub Actions ワークフローが最初から用意されています。
|
||
|
||
{{% details title="GitHub Actions 設定" closed="true" %}}
|
||
|
||
以下は [hextra-starter-template](https://github.com/imfing/hextra-starter-template) の設定例です:
|
||
|
||
```yaml {filename=".github/workflows/pages.yaml"}
|
||
# Hugo サイトをビルドし GitHub Pages にデプロイするサンプルワークフロー
|
||
name: Deploy Hugo site to Pages
|
||
|
||
on:
|
||
# デフォルトブランチへのプッシュ時に実行
|
||
push:
|
||
branches: ["main"]
|
||
|
||
# Actions タブから手動で実行可能
|
||
workflow_dispatch:
|
||
|
||
# GITHUB_TOKEN の権限を設定(GitHub Pages へのデプロイを許可)
|
||
permissions:
|
||
contents: read
|
||
pages: write
|
||
id-token: write
|
||
|
||
# 同時実行を1つに制限(進行中の実行はキャンセルしない)
|
||
concurrency:
|
||
group: "pages"
|
||
cancel-in-progress: false
|
||
|
||
# デフォルトシェルを bash に設定
|
||
defaults:
|
||
run:
|
||
shell: bash
|
||
|
||
jobs:
|
||
# ビルドジョブ
|
||
build:
|
||
runs-on: ubuntu-latest
|
||
env:
|
||
HUGO_VERSION: 0.147.7
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
with:
|
||
fetch-depth: 0 # .GitInfo と .Lastmod 用に全履歴を取得
|
||
submodules: recursive
|
||
- name: Setup Go
|
||
uses: actions/setup-go@v5
|
||
with:
|
||
go-version: '1.22'
|
||
- name: Setup Pages
|
||
id: pages
|
||
uses: actions/configure-pages@v4
|
||
- name: Setup Hugo
|
||
run: |
|
||
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
|
||
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
|
||
- name: Build with Hugo
|
||
env:
|
||
# Hugo モジュールとの最大互換性のため
|
||
HUGO_ENVIRONMENT: production
|
||
HUGO_ENV: production
|
||
run: |
|
||
hugo \
|
||
--gc --minify \
|
||
--baseURL "${{ steps.pages.outputs.base_url }}/"
|
||
- name: Upload artifact
|
||
uses: actions/upload-pages-artifact@v3
|
||
with:
|
||
path: ./public
|
||
|
||
# デプロイジョブ
|
||
deploy:
|
||
environment:
|
||
name: github-pages
|
||
url: ${{ steps.deployment.outputs.page_url }}
|
||
runs-on: ubuntu-latest
|
||
needs: build
|
||
steps:
|
||
- name: Deploy to GitHub Pages
|
||
id: deployment
|
||
uses: actions/deploy-pages@v4
|
||
```
|
||
|
||
{{% /details %}}
|
||
|
||
|
||
{{< callout >}}
|
||
リポジトリ設定で、**Pages** > **Build and deployment** > **Source** を **GitHub Actions** に設定してください:
|
||

|
||
{{< /callout >}}
|
||
|
||
デフォルトでは、上記の GitHub Actions ワークフロー `.github/workflows/pages.yaml` は `https://<USERNAME>.github.io/<REPO>/` へのデプロイを想定しています。
|
||
|
||
`https://<USERNAME>.github.io/` にデプロイする場合は `--baseURL` を修正してください:
|
||
|
||
```yaml {filename=".github/workflows/pages.yaml",linenos=table,linenostart=54,hl_lines=[4]}
|
||
run: |
|
||
hugo \
|
||
--gc --minify \
|
||
--baseURL "https://${{ github.repository_owner }}.github.io/"
|
||
```
|
||
|
||
独自ドメインを使用する場合は、`--baseURL` の値を適宜変更してください。
|
||
|
||
|
||
## Cloudflare Pages
|
||
|
||
1. サイトのソースコードを Git リポジトリ(GitHub など)に配置
|
||
2. [Cloudflare ダッシュボード](https://dash.cloudflare.com/) にログインしアカウントを選択
|
||
3. Account Home で **Workers & Pages** > **Create application** > **Pages** > **Connect to Git** を選択
|
||
4. リポジトリを選択し、**Set up builds and deployments** セクションで以下を設定:
|
||
|
||
| 設定項目 | 値 |
|
||
| ----------------- | -------------------- |
|
||
| Production branch | `main` |
|
||
| Build command | `hugo --gc --minify` |
|
||
| Build directory | `public` |
|
||
|
||
詳細は以下を参照:
|
||
- [Deploy a Hugo site](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site/#deploy-with-cloudflare-pages)
|
||
- [Language support and tools](https://developers.cloudflare.com/pages/platform/language-support-and-tools/)
|
||
|
||
|
||
## Netlify
|
||
|
||
1. コードを Git リポジトリ(GitHub, GitLab など)にプッシュ
|
||
2. Netlify に [プロジェクトをインポート](https://app.netlify.com/start)
|
||
3. [hextra-starter-template][hextra-starter-template] を使用していない場合、以下を手動設定:
|
||
- Build command を `hugo --gc --minify` に設定
|
||
- Publish directory を `public` に指定
|
||
- 環境変数 `HUGO_VERSION` を追加し `0.147.7` を設定、または `netlify.toml` ファイルで設定
|
||
4. デプロイ!
|
||
|
||
詳細は [Hugo on Netlify](https://docs.netlify.com/integrations/frameworks/hugo/) を参照
|
||
|
||
|
||
## Vercel
|
||
|
||
1. コードを Git リポジトリ(GitHub, GitLab など)にプッシュ
|
||
2. [Vercel ダッシュボード](https://vercel.com/dashboard) に移動し Hugo プロジェクトをインポート
|
||
3. プロジェクトを設定、Framework Preset で Hugo を選択
|
||
4. Build Command と Install command を上書き:
|
||
1. Build Command を `hugo --gc --minify` に設定
|
||
2. Install Command を `yum install golang` に設定
|
||
|
||
 |