mirror of
https://github.com/imfing/hextra.git
synced 2025-08-23 18:46:38 -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
5.1 KiB
5.1 KiB
title, prev, next
title | prev | next |
---|---|---|
部署站点 | /docs/guide/shortcodes | /docs/advanced |
Hugo 生成静态网站,支持灵活的托管方案。 本页提供在各类平台上部署 Hextra 站点的指南。
GitHub Pages
GitHub Pages 是推荐的免费部署托管方案。
若使用 hextra-starter-template 初始化项目,已内置 GitHub Actions 工作流,可自动部署至 GitHub Pages。
{{% details title="GitHub Actions 配置" closed="true" %}}
以下是 hextra-starter-template 的示例配置:
# 构建并部署 Hugo 站点到 GitHub Pages 的示例工作流
name: 部署 Hugo 站点到 Pages
on:
# 针对默认分支的推送触发
push:
branches: ["main"]
# 允许从 Actions 标签手动运行
workflow_dispatch:
# 设置 GITHUB_TOKEN 权限以允许部署到 GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# 仅允许一个并发部署,跳过正在运行与最新排队之间的运行
# 但不会取消进行中的运行,以确保生产部署完成
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: 检出代码
uses: actions/checkout@v4
with:
fetch-depth: 0 # 获取完整历史记录以支持 .GitInfo 和 .Lastmod
submodules: recursive
- name: 设置 Go 环境
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: 配置 Pages
id: pages
uses: actions/configure-pages@v4
- name: 安装 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: 使用 Hugo 构建
env:
# 为 Hugo 模块提供最大兼容性
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--gc --minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: 上传产物
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: 部署到 GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
{{% /details %}}
{{< callout >}}
在仓库设置中,将 Pages > 构建与部署 > 源 设为 GitHub Actions:
{{< /callout >}}
默认配置中,GitHub Actions 工作流 .github/workflows/pages.yaml
假设站点部署在 https://<用户名>.github.io/<仓库名>/
。
若需部署到 https://<用户名>.github.io/
,请修改 --baseURL
:
54
55
56
57
run: |
hugo \
--gc --minify \
--baseURL "https://${{ github.repository_owner }}.github.io/"
若使用自定义域名,请相应调整 --baseURL
值。
Cloudflare Pages
- 将站点源码存入 Git 仓库(如 GitHub)
- 登录 Cloudflare 控制台 并选择账户
- 在账户首页选择 Workers & Pages > 创建应用 > Pages > 连接 Git
- 选择仓库后,在 设置构建与部署 部分填写:
配置项 | 值 |
---|---|
生产分支 | main |
构建命令 | hugo --gc --minify |
构建输出目录 | public |
更多细节请参阅:
Netlify
- 将代码推送到 Git 仓库(GitHub/GitLab 等)
- 在 Netlify 中导入项目
- 若未使用 [hextra-starter-template][hextra-starter-template],需手动配置:
- 构建命令设为
hugo --gc --minify
- 发布目录设为
public
- 添加环境变量
HUGO_VERSION
并设为0.147.7
,或在netlify.toml
中配置
- 构建命令设为
- 开始部署!
Vercel
- 将代码推送到 Git 仓库(GitHub/GitLab 等)
- 进入 Vercel 控制台 导入 Hugo 项目
- 配置项目时选择 Hugo 作为框架预设
- 覆盖构建命令与安装命令:
- 构建命令设为
hugo --gc --minify
- 安装命令设为
yum install golang
- 构建命令设为