This was intended to be a small followup for https://github.com/go-gitea/gitea/pull/23712, but...here we are. 1. Our docs currently use `slug` as the entire URL, which makes refactoring tricky (see https://github.com/go-gitea/gitea/pull/23712). Instead, this PR attempts to make future refactoring easier by using slugs as an extension of the section. (Hugo terminology) - What the above boils down to is this PR attempts to use directory organization as URL management. e.g. `usage/comparison.en-us.md` -> `en-us/usage/comparison/`, `usage/packages/overview.en-us.md` -> `en-us/usage/packages/overview/` - Technically we could even remove `slug`, as Hugo defaults to using filename, however at least with this PR it means `slug` only needs to be the name for the **current file** rather than an entire URL 2. This PR adds appropriate aliases (redirects) for pages, so anything on the internet that links to our docs should hopefully not break. 3. A minor nit I've had for a while, renaming `seek-help` to `support`. It's a minor thing, but `seek-help` has a strange connotation to it. 4. The commits are split such that you can review the first which is the "actual" change, and the second is added redirects so that the first doesn't break links elsewhere. --------- Signed-off-by: jolheiser <john.olheiser@gmail.com>
3.3 KiB
date | title | slug | weight | toc | draft | aliases | menu | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2019-11-28:00:00+02:00 | Template Repositories | template-repositories | 14 | false | false |
|
|
Template Repositories
Table of Contents
{{< toc >}}
Gitea 1.11.0
and above includes template repositories, and one feature implemented with them is auto-expansion of specific variables within your template files.
To tell Gitea which files to expand, you must include a template
file inside the .gitea
directory of the template repository.
Gitea uses gobwas/glob for its glob syntax. It closely resembles a traditional .gitignore
, however there may be slight differences.
Example .gitea/template
file
All paths are relative to the base of the repository
# 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]
NOTE: The template
file will be removed from the .gitea
directory when a repository is generated from the template.
Variable Expansion
In any file matched by the above globs, certain variables will be expanded.
All variables must be of the form $VAR
or ${VAR}
. To escape an expansion, use a double $$
, such as $$VAR
or $${VAR}
Variable | Expands To | Transformable |
---|---|---|
REPO_NAME | The name of the generated repository | ✓ |
TEMPLATE_NAME | The name of the template repository | ✓ |
REPO_DESCRIPTION | The description of the generated repository | ✘ |
TEMPLATE_DESCRIPTION | The description of the template repository | ✘ |
REPO_OWNER | The owner of the generated repository | ✓ |
TEMPLATE_OWNER | The owner of the template repository | ✓ |
REPO_LINK | The URL to the generated repository | ✘ |
TEMPLATE_LINK | The URL to the template repository | ✘ |
REPO_HTTPS_URL | The HTTP(S) clone link for the generated repository | ✘ |
TEMPLATE_HTTPS_URL | The HTTP(S) clone link for the template repository | ✘ |
REPO_SSH_URL | The SSH clone link for the generated repository | ✘ |
TEMPLATE_SSH_URL | The SSH clone link for the template repository | ✘ |
Transformers 🤖
Gitea 1.12.0
adds a few transformers to some of the applicable variables above.
For example, to get REPO_NAME
in PASCAL
-case, your template would use ${REPO_NAME_PASCAL}
Feeding go-sdk
to the available transformers yields...
Transformer | Effect |
---|---|
SNAKE | go_sdk |
KEBAB | go-sdk |
CAMEL | goSdk |
PASCAL | GoSdk |
LOWER | go-sdk |
UPPER | GO-SDK |
TITLE | Go-Sdk |