在 SourceHut Pages 上托管
假设
所有 <YourUsername> 的引用都指您实际的 SourceHut 用户名,必须相应替换。
BaseURL
如果您使用 SourceHut Pages 提供的默认地址(例如 https://<YourUsername>.srht.site/),则网站配置中的 baseURL 必须反映 SourceHut Pages 提供的完整 URL。如果您想使用其他域名,请查看官方文档的 [自定义域名部分][]。
手动部署
此方法不需要付费账户。要继续,您需要创建 [SourceHut 个人访问令牌][] 并安装和配置 hut CLI 工具:
hugo
tar -C public -cvz . > site.tar.gz
hut init
hut pages publish -d <YourUsername>.srht.site site.tar.gz将自动为您获取 TLS 证书,您的新网站将在 https://<YourUsername>.srht.site/(或提供的自定义域名)可用。
自动部署
此方法需要付费账户并依赖 SourceHut 构建系统。
首先,通过在项目根目录创建 .build.yml 文件来定义您的 [构建清单][]。以下是一个基本模板:
image: alpine/edge
packages:
- hugo
- hut
oauth: pages.sr.ht/PAGES:RW
environment:
site: <YourUsername>.srht.site
tasks:
- package: |
cd $site
hugo
tar -C public -cvz . > ../site.tar.gz
- upload: |
hut pages publish -d $site site.tar.gz如果您的网站需要 Dart Sass 将 Sass 转译为 CSS,请将 DART_SASS_VERSION 设置为 [最新版本号][] 并在运行 Hugo 构建步骤之前包含 Dart Sass 安装行。注意对于 Alpine,使用 linux-x64-musl 版本。
image: alpine/edge
packages:
- hugo
- hut
- curl # 用于安装 Dart Sass
oauth: pages.sr.ht/PAGES:RW
environment:
site: <YourUsername>.srht.site
tasks:
- package: |
DART_SASS_VERSION=1.97.1 # 截至 20/12/2025 的最新版本
mkdir -p $HOME/.local
curl -L https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64-musl.tar.gz -o dart-sass.tar.gz
tar -xzf dart-sass.tar.gz -C $HOME/.local
rm dart-sass.tar.gz
chmod -R +x $HOME/.local/dart-sass/src
export PATH="$HOME/.local/dart-sass:$PATH"
sass --version # 验证安装
cd $site
hugo
tar -C public -cvz . > ../site.tar.gz
- upload: |
hut pages publish -d $site site.tar.gz现在剩下的是创建一个名为 <YourUsername>.srht.site(或您的自定义域名,如果适用)的仓库并推送您的本地项目。以下是使用 Git 的示例:
# 初始化新的 git 仓库
git init
# 将 /public 目录添加到 .gitignore 文件
echo "/public" >> .gitignore
# 提交并将代码推送到 main 分支
git add .
git commit -m "Initial commit"
git remote add origin https://git.sr.ht/~<YourUsername>/<YourUsername>.srht.site
git push -u origin main您现在可以在 https://builds.sr.ht/ 关注页面的构建进度。
构建通过后,将自动为您获取 TLS 证书,您的新网站将在 https://<YourUsername>.srht.site/(或提供的自定义域名)可用。