mirror of
https://gitea.com/gitea/docs.git
synced 2026-07-22 02:37:42 +00:00
--------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com> Reviewed-on: https://gitea.com/gitea/docs/pulls/455 Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
87 lines
3.4 KiB
Markdown
87 lines
3.4 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 |
|