diff --git a/doc/features/gitea-directory.md b/doc/usage/template-repositories.md similarity index 55% rename from doc/features/gitea-directory.md rename to doc/usage/template-repositories.md index e598969b..fe3fb861 100644 --- a/doc/features/gitea-directory.md +++ b/doc/usage/template-repositories.md @@ -1,23 +1,20 @@ --- date: "2019-11-28:00:00+02:00" -title: "The .gitea Directory" -slug: "gitea-directory" -weight: 40 +title: "Template Repositories" +slug: "template-repositories" +weight: 14 toc: true draft: false menu: sidebar: - parent: "features" - name: "The .gitea Directory" - weight: 50 - identifier: "gitea-directory" + parent: "usage" + name: "Template Repositories" + weight: 14 + identifier: "template-repositories" --- -# The .gitea directory -Gitea repositories can include a `.gitea` directory at their base which will store settings/configurations for certain features. - -## Templates -Gitea includes template repositories, and one feature implemented with them is auto-expansion of specific variables within your template files. +## Template Repositories +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](https://github.com/gobwas/glob) for its glob syntax. It closely resembles a traditional `.gitignore`, however there may be slight differences. @@ -42,15 +39,34 @@ a/b/c/d.json 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 | -|----------------------|-----------------------------------------------------| -| 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_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 | +| 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 :robot: +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 | +