跳至主要内容
版本:1.22.3

模板仓库

Gitea(从版本 1.11.0 开始)支持创建模板仓库,这些仓库可以用于根据模板生成仓库,包括对某些预定义变量的变量展开。

模板仓库中的所有文件都包含在从模板生成的仓库中,除了 .gitea/template 文件。.gitea/template 文件告诉 Gitea 在从模板创建仓库时哪些文件需要进行变量展开。

Gitea 使用 gobwas/glob 作为其 glob 语法。它与传统的 .gitignore 非常相似,但可能存在细微差异。

示例 .gitea/template 文件

所有路径相对于仓库的根目录

# Expand all .go files, anywhere in the repository
**.go

# All text files in the text directory
text/*.txt

# A specific file
a/b/c/d.json

# Batch files in both upper or lower case can be matched
**.[bB][aA][tT]

变量展开

在上述 glob 匹配的任何文件中,某些变量将被展开。

匹配的文件名和路径也可以被展开,并且会保守地进行清理,以支持跨平台的文件系统。

所有变量必须采用 $VAR${VAR} 的形式。要转义展开,请使用双 $$,例如 $$VAR$${VAR}

变量展开为可转换
REPO_NAME生成的仓库名称
TEMPLATE_NAME模板仓库名称
REPO_DESCRIPTION生成的仓库描述
TEMPLATE_DESCRIPTION模板仓库描述
REPO_OWNER生成的仓库所有者
TEMPLATE_OWNER模板仓库所有者
REPO_LINK生成的仓库 URL
TEMPLATE_LINK模板仓库 URL
REPO_HTTPS_URL生成的仓库的 HTTP(S) 克隆链接
TEMPLATE_HTTPS_URL模板仓库的 HTTP(S) 克隆链接
REPO_SSH_URL生成的仓库的 SSH 克隆链接
TEMPLATE_SSH_URL模板仓库的 SSH 克隆链接

转换器🤖

Gitea 1.12.0 为上述一些适用变量添加了一些转换器。

例如,要以 PASCAL 形式获取 REPO_NAME,您的模板将使用 ${REPO_NAME_PASCAL}

go-sdk 馈送到可用的转换器将产生...

转换器效果
SNAKEgo_sdk
KEBABgo-sdk
CAMELgoSdk
PASCALGoSdk
LOWERgo-sdk
UPPERGO-SDK
TITLEGo-Sdk