87 lines
3.3 KiB
Markdown
87 lines
3.3 KiB
Markdown
---
|
||||
|
|
date: "2019-11-28:00:00+02:00"
|
|||
|
|
slug: "template-repositories"
|
|||
|
|
sidebar_position: 14
|
|||
|
|
aliases:
|
|||
|
|
- /zh-tw/template-repositories
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 模板倉庫
|
|||
|
|
|
|||
|
|
自 Gitea `1.11` 起,您可以創建模板倉庫。
|
|||
|
|
創建基於模板的倉庫時,您可以複製其大部分內容,甚至自動注入變量。
|
|||
|
|
|
|||
|
|
默認情況下,不會在任何文件中展開變量。
|
|||
|
|
只有包含在 `.gitea/template` 文件中的模式內的文件才會被檢查是否包含變量。
|
|||
|
|
創建模板時,除 `.gitea/template` 文件外,所有文件都包含在內。
|
|||
|
|
|
|||
|
|
Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 進行其 glob 語法。
|
|||
|
|
它與傳統的 `.gitignore` 非常相似,但可能存在細微差異。
|
|||
|
|
|
|||
|
|
## 示例 `.gitea/template` 文件
|
|||
|
|
|
|||
|
|
所有路徑均相對於倉庫的基礎
|
|||
|
|
|
|||
|
|
```gitignore
|
|||
|
|
# 展開倉庫中任何位置的所有 .go 文件
|
|||
|
|
**.go
|
|||
|
|
|
|||
|
|
# 文本目錄中的所有文本文件
|
|||
|
|
text/*.txt
|
|||
|
|
|
|||
|
|
# 特定文件
|
|||
|
|
a/b/c/d.json
|
|||
|
|
|
|||
|
|
# 大小寫均可匹配的批處理文件
|
|||
|
|
**.[bB][aA][tT]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 變量展開
|
|||
|
|
|
|||
|
|
在上述 glob 匹配的任何文件中,以下變量將被展開。
|
|||
|
|
|
|||
|
|
匹配的文件名和路徑也可以展開,並且經過保守的清理以支持跨平台文件系統。
|
|||
|
|
|
|||
|
|
您可以通過在變量前加上 `$` 或將其括在 `${}` 中來使用變量,因此 `$VAR` 和 `${VAR}` 都會在此位置插入 `VAR` 的值。
|
|||
|
|
要轉義展開,請使用 `$$`,例如 `$$VAR` 或 `$${VAR}`。
|
|||
|
|
|
|||
|
|
這些是 Gitea 目前識別的變量:
|
|||
|
|
|
|||
|
|
| 變量 | 展開為 | 可轉換 |
|
|||
|
|
| -------------------- | -------------------------------- | ------ |
|
|||
|
|
| YEAR | 生成倉庫的年份(即 `2024`) | ✘ |
|
|||
|
|
| MONTH | 生成倉庫的月份(即 `03`) | ✘ |
|
|||
|
|
| MONTH_ENGLISH | 月份,但用英文表示(即 `March`) | ✓ |
|
|||
|
|
| DAY | 生成倉庫的日期(即 `02`) | ✘ |
|
|||
|
|
| 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 克隆鏈接 | ✘ |
|
|||
|
|
|
|||
|
|
## 轉換器 :robot:
|
|||
|
|
|
|||
|
|
自 Gitea `1.12.0` 起,表中標記為可轉換的變量還具有應用了給定轉換器的替代版本。
|
|||
|
|
|
|||
|
|
可以通過將轉換器名稱附加到變量名稱來調用轉換後的變量。
|
|||
|
|
例如,要獲取 `PASCAL` 大小寫的 `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 |
|