code.gitea.io/gitea@v1.22.3/docs/content/usage/template-repositories.zh-cn.md (about) 1 --- 2 date: "2023-05-23T09:00:00+08:00" 3 title: "模板仓库" 4 slug: "template-repositories" 5 sidebar_position: 14 6 toc: false 7 draft: false 8 aliases: 9 - /zh-cn/template-repositories 10 menu: 11 sidebar: 12 parent: "usage" 13 name: "模板仓库" 14 sidebar_position: 14 15 identifier: "template-repositories" 16 --- 17 18 # 模板仓库 19 20 Gitea `1.11.0` 及以上版本引入了模板仓库,并且其中一个实现的功能是自动展开模板文件中的特定变量。 21 22 要告诉 Gitea 哪些文件需要展开,您必须在模板仓库的 `.gitea` 目录中包含一个 `template` 文件。 23 24 Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 作为其 glob 语法。它与传统的 `.gitignore` 语法非常相似,但可能存在细微的差异。 25 26 ## `.gitea/template` 文件示例 27 28 所有路径都是相对于仓库的根目录 29 30 ```gitignore 31 # 仓库中的所有 .go 文件 32 **.go 33 34 # text 目录中的所有文本文件 35 text/*.txt 36 37 # 特定文件 38 a/b/c/d.json 39 40 # 匹配批处理文件的大小写变体 41 **.[bB][aA][tT] 42 ``` 43 44 **注意:** 当从模板生成仓库时,`.gitea` 目录中的 `template` 文件将被删除。 45 46 ## 参数展开 47 48 在与上述通配符匹配的任何文件中,将会扩展某些变量。 49 50 文件名和路径的匹配也可以被扩展,并且会经过谨慎的清理处理,以支持跨平台的文件系统。 51 52 所有变量都必须采用`$VAR`或`${VAR}`的形式。要转义扩展,使用双重`$$`,例如`$$VAR`或`$${VAR}`。 53 54 | 变量 | 扩展为 | 可转换 | 55 | -------------------- | --------------------------------------------------- | ------------- | 56 | REPO_NAME | 生成的仓库名称 | ✓ | 57 | TEMPLATE_NAME | 模板仓库名称 | ✓ | 58 | REPO_DESCRIPTION | 生成的仓库描述 | ✘ | 59 | TEMPLATE_DESCRIPTION | 模板仓库描述 | ✘ | 60 | REPO_OWNER | 生成的仓库所有者 | ✓ | 61 | TEMPLATE_OWNER | 模板仓库所有者 | ✓ | 62 | REPO_LINK | 生成的仓库链接 | ✘ | 63 | TEMPLATE_LINK | 模板仓库链接 | ✘ | 64 | REPO_HTTPS_URL | 生成的仓库的 HTTP(S) 克隆链接 | ✘ | 65 | TEMPLATE_HTTPS_URL | 模板仓库的 HTTP(S) 克隆链接 | ✘ | 66 | REPO_SSH_URL | 生成的仓库的 SSH 克隆链接 | ✘ | 67 | TEMPLATE_SSH_URL | 模板仓库的 SSH 克隆链接 | ✘ | 68 69 ## 转换器 :robot: 70 71 Gitea `1.12.0` 添加了一些转换器以应用于上述适用的变量。 72 73 例如,要以 `PASCAL`-case 获取 `REPO_NAME`,你的模板应使用 `${REPO_NAME_PASCAL}` 74 75 将 `go-sdk` 传递给可用的转换器的效果如下... 76 77 | 转换器 | 效果 | 78 | ----------- | ------------ | 79 | SNAKE | go_sdk | 80 | KEBAB | go-sdk | 81 | CAMEL | goSdk | 82 | PASCAL | GoSdk | 83 | LOWER | go-sdk | 84 | UPPER | GO-SDK | 85 | TITLE | Go-Sdk |