Files
2026-05-18 09:46:02 +08:00

168 lines
4.9 KiB
Markdown

# Gitea 主题使用说明
本文档说明如何在 Gitea 中使用已经编译好的主题包。
## 主题内容
编译后的发布包中会包含一个 `custom/` 目录,主要内容如下:
```text
custom/
public/assets/css/theme-github-dev.css
public/assets/css/theme-github-dev-dark.css
templates/
options/
```
其中:
- `theme-github-dev.css` 是亮色主题。
- `theme-github-dev-dark.css` 是暗色主题。
- `templates/` 是模板覆盖文件,用于调整部分页面结构。
- `options/` 是语言和其他 Gitea 自定义配置资源。
## 安装到 Gitea
将发布包中的 `custom/` 目录复制到 Gitea 的自定义目录。
常见路径如下:
```text
/data/gitea/custom
```
复制完成后,文件结构应类似:
```text
/data/gitea/custom/public/assets/css/theme-github-dev.css
/data/gitea/custom/public/assets/css/theme-github-dev-dark.css
/data/gitea/custom/templates/
/data/gitea/custom/options/
```
如果你的 Gitea 使用了不同的 custom 路径,请以 Gitea 实际配置为准。
## 配置主题
编辑 Gitea 的 `app.ini`,在 `[ui]` 区域启用主题:
```ini
[ui]
THEMES = github-dev,github-dev-dark
DEFAULT_THEME = github-dev-dark
```
如果希望默认使用亮色主题,可以改成:
```ini
[ui]
THEMES = github-dev,github-dev-dark
DEFAULT_THEME = github-dev
```
修改后重启 Gitea。
## 首页和探索页配置
如果希望未登录用户默认进入探索页,并隐藏探索页里的用户、组织和代码入口,可以在 `app.ini` 中加入:
```ini
[server]
LANDING_PAGE = explore
[service.explore]
DISABLE_USERS_PAGE = true
DISABLE_ORGANIZATIONS_PAGE = true
DISABLE_CODE_PAGE = true
```
这些配置的作用是:
- `LANDING_PAGE = explore`:把站点首页设置为探索页。
- `DISABLE_USERS_PAGE = true`:隐藏探索页中的用户页面。
- `DISABLE_ORGANIZATIONS_PAGE = true`:隐藏探索页中的组织页面。
- `DISABLE_CODE_PAGE = true`:隐藏探索页中的代码搜索页面。
如果使用 Docker 环境变量,等价写法是:
```yaml
environment:
- GITEA__server__LANDING_PAGE=explore
- GITEA__service_0x2E_explore__DISABLE_USERS_PAGE=true
- GITEA__service_0x2E_explore__DISABLE_ORGANIZATIONS_PAGE=true
- GITEA__service_0x2E_explore__DISABLE_CODE_PAGE=true
```
其中 `_0x2E_` 表示英文句点 `.`,所以 `GITEA__service_0x2E_explore__DISABLE_USERS_PAGE` 对应 `app.ini` 中的:
```ini
[service.explore]
DISABLE_USERS_PAGE = true
```
能直接编辑 `app.ini` 时,建议优先使用 `app.ini` 写法;Docker 环境变量更适合容器编排或不方便直接改配置文件的场景。
## Docker 使用方式
如果 Gitea 通过 Docker 部署,需要把 `custom/` 目录挂载到容器内的 Gitea custom 目录。
示例:
```yaml
volumes:
- ./custom/public:/data/gitea/public
- ./custom/templates:/data/gitea/templates
- ./custom/options:/data/gitea/options
```
也可以直接把完整 custom 目录挂载到 Gitea 的 custom 根目录,具体取决于你的部署方式和现有目录结构。
环境变量配置示例:
```yaml
environment:
- GITEA__ui__THEMES=github-dev,github-dev-dark
- GITEA__ui__DEFAULT_THEME=github-dev-dark
- GITEA__server__LANDING_PAGE=explore
- GITEA__service_0x2E_explore__DISABLE_USERS_PAGE=true
- GITEA__service_0x2E_explore__DISABLE_ORGANIZATIONS_PAGE=true
- GITEA__service_0x2E_explore__DISABLE_CODE_PAGE=true
```
修改挂载或环境变量后,需要重启容器。
## 用户切换主题
启用后,用户可以在 Gitea 的主题设置中选择:
- `GitHub Light`
- `GitHub Dark`
如果站点启用了本主题提供的模板覆盖,顶部导航栏也会显示亮色和暗色主题切换按钮。
## 注意事项
- 主题名必须使用 `github-dev``github-dev-dark`,不要改成 `gitea``gitea-auto``arc-green` 等 Gitea 内置主题名。
- CSS 文件名必须保持为 `theme-github-dev.css``theme-github-dev-dark.css`
- `templates/``options/` 建议与 CSS 一起安装,否则部分页面结构、按钮或中文文案可能不完整。
- 安装或更新主题后必须重启 Gitea,否则新主题、模板或语言文件可能不会立即生效。
- 如果浏览器仍显示旧样式,清理浏览器缓存或强制刷新页面。
- 如果 Gitea 已经有其他自定义模板,复制 `templates/` 前需要检查是否会覆盖现有文件。
- 该主题按 Gitea `1.26.1` 版本维护。用于其他 Gitea 版本时,模板覆盖可能需要额外检查。
## 验证是否生效
重启 Gitea 后,可以检查页面源码或网络请求中是否加载了以下文件:
```text
/assets/css/theme-github-dev.css
/assets/css/theme-github-dev-dark.css
```
如果页面没有加载对应 CSS,请重点检查:
- `custom/` 是否放到了正确的 Gitea custom 路径。
- `[ui].THEMES` 是否包含 `github-dev``github-dev-dark`
- `[ui].DEFAULT_THEME` 是否填写了已启用的主题名。
- Docker 挂载路径是否和容器内 Gitea 路径一致。