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       |