mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-05 11:53:00 +01:00
3.4 KiB
3.4 KiB
date | title | slug | sidebar_position | toc | draft | aliases | menu | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023-05-23T09:00:00+08:00 | 模板仓库 | template-repositories | 14 | false | false |
|
|
模板仓库
Gitea 1.11.0
及以上版本引入了模板仓库,并且其中一个实现的功能是自动展开模板文件中的特定变量。
要告诉 Gitea 哪些文件需要展开,您必须在模板仓库的 .gitea
目录中包含一个 template
文件。
Gitea 使用 gobwas/glob 作为其 glob 语法。它与传统的 .gitignore
语法非常相似,但可能存在细微的差异。
.gitea/template
文件示例
所有路径都是相对于仓库的根目录
# 仓库中的所有 .go 文件
**.go
# text 目录中的所有文本文件
text/*.txt
# 特定文件
a/b/c/d.json
# 匹配批处理文件的大小写变体
**.[bB][aA][tT]
注意: 当从模板生成仓库时,.gitea
目录中的 template
文件将被删除。
参数展开
在与上述通配符匹配的任何文件中,将会扩展某些变量。
文件名和路径的匹配也可以被扩展,并且会经过谨慎的清理处理,以支持跨平台的文件系统。
所有变量都必须采用$VAR
或${VAR}
的形式。要转义扩展,使用双重$$
,例如$$VAR
或$${VAR}
。
变量 | 扩展为 | 可转换 |
---|---|---|
REPO_NAME | 生成的仓库名称 | ✓ |
TEMPLATE_NAME | 模板仓库名称 | ✓ |
REPO_DESCRIPTION | 生成的仓库描述 | ✘ |
TEMPLATE_DESCRIPTION | 模板仓库描述 | ✘ |
REPO_OWNER | 生成的仓库所有者 | ✓ |
TEMPLATE_OWNER | 模板仓库所有者 | ✓ |
REPO_LINK | 生成的仓库链接 | ✘ |
TEMPLATE_LINK | 模板仓库链接 | ✘ |
REPO_HTTPS_URL | 生成的仓库的 HTTP(S) 克隆链接 | ✘ |
TEMPLATE_HTTPS_URL | 模板仓库的 HTTP(S) 克隆链接 | ✘ |
REPO_SSH_URL | 生成的仓库的 SSH 克隆链接 | ✘ |
TEMPLATE_SSH_URL | 模板仓库的 SSH 克隆链接 | ✘ |
转换器 🤖
Gitea 1.12.0
添加了一些转换器以应用于上述适用的变量。
例如,要以 PASCAL
-case 获取 REPO_NAME
,你的模板应使用 ${REPO_NAME_PASCAL}
将 go-sdk
传递给可用的转换器的效果如下...
转换器 | 效果 |
---|---|
SNAKE | go_sdk |
KEBAB | go-sdk |
CAMEL | goSdk |
PASCAL | GoSdk |
LOWER | go-sdk |
UPPER | GO-SDK |
TITLE | Go-Sdk |