From bd4c7ce578956d9839309b16753bd5505b63b2e3 Mon Sep 17 00:00:00 2001 From: John Olheiser Date: Tue, 25 Jul 2023 23:53:13 -0500 Subject: [PATCH] Docusaurus-ify (#26051) This PR cleans up the docs in a way to make them simpler to ingest by our [docs repo](https://gitea.com/gitea/gitea-docusaurus). 1. It includes all of the sed invocations our ingestion did, removing the need to do it at build time. 2. It replaces the shortcode variable replacement method with `@variable@` style, simply for easier sed invocations when required. 3. It removes unused files and moves the docs up a level as cleanup. --------- Signed-off-by: jolheiser --- .github/workflows/pull-compliance.yml | 2 +- Makefile | 19 +- docs/Makefile | 36 -- docs/README.md | 31 +- docs/README_ZH.md | 22 +- docs/assets/js/search.js | 174 --------- docs/config.yaml | 369 ------------------ docs/content/{doc => }/actions.en-us.md | 4 +- .../content/{doc => }/administration.en-us.md | 4 +- .../content/{doc => }/administration.fr-fr.md | 4 +- .../content/{doc => }/administration.zh-cn.md | 4 +- .../content/{doc => }/administration.zh-tw.md | 4 +- .../{doc => }/administration/_index.en-us.md | 0 .../{doc => }/administration/_index.zh-cn.md | 0 .../{doc => }/administration/_index.zh-tw.md | 0 .../adding-legal-pages.en-us.md | 4 +- .../adding-legal-pages.zh-cn.md | 4 +- .../backup-and-restore.en-us.md | 8 +- .../backup-and-restore.zh-cn.md | 4 +- .../backup-and-restore.zh-tw.md | 4 +- .../administration/cmd-embedded.en-us.md | 12 +- .../administration/cmd-embedded.zh-cn.md | 12 +- .../administration/command-line.en-us.md | 8 +- .../administration/command-line.zh-cn.md | 8 +- .../config-cheat-sheet.en-us.md | 120 +++--- .../config-cheat-sheet.zh-cn.md | 18 +- .../administration/customizing-gitea.en-us.md | 12 +- .../administration/customizing-gitea.zh-cn.md | 4 +- .../administration/email-setup.en-us.md | 10 +- .../administration/email-setup.zh-cn.md | 8 +- .../environment-variables.en-us.md | 8 +- .../environment-variables.zh-cn.md | 4 +- .../external-renderers.en-us.md | 10 +- .../external-renderers.zh-cn.md | 12 +- .../administration/fail2ban-setup.en-us.md | 4 +- .../administration/fail2ban-setup.zh-cn.md | 4 +- .../administration/git-lfs-support.en-us.md | 4 +- .../administration/git-lfs-support.zh-cn.md | 4 +- .../administration/https-support.en-us.md | 10 +- .../administration/https-support.zh-cn.md | 10 +- .../administration/logging-config.en-us.md | 12 +- .../administration/logging-config.zh-cn.md | 12 +- .../administration/mail-templates.en-us.md | 8 +- .../administration/mail-templates.zh-cn.md | 8 +- .../administration/repo-indexer.en-us.md | 8 +- .../administration/repo-indexer.zh-cn.md | 8 +- .../administration/reverse-proxies.en-us.md | 8 +- .../administration/reverse-proxies.zh-cn.md | 8 +- .../search-engines-indexation.en-us.md | 6 +- .../search-engines-indexation.zh-cn.md | 6 +- .../{doc => }/administration/signing.en-us.md | 8 +- .../{doc => }/administration/signing.zh-cn.md | 8 +- docs/content/{doc => }/contributing.en-us.md | 4 +- docs/content/{doc => }/contributing.fr-fr.md | 4 +- docs/content/{doc => }/contributing.zh-tw.md | 4 +- .../{doc => }/contributing/_index.de-de.md | 0 .../{doc => }/contributing/_index.en-us.md | 0 .../{doc => }/contributing/_index.zh-cn.md | 0 .../{doc => }/contributing/_index.zh-tw.md | 0 .../contributing/guidelines-backend.en-us.md | 8 +- .../contributing/guidelines-backend.zh-cn.md | 8 +- .../contributing/guidelines-frontend.en-us.md | 8 +- .../contributing/guidelines-frontend.zh-cn.md | 8 +- .../guidelines-refactoring.en-us.md | 8 +- .../guidelines-refactoring.zh-cn.md | 8 +- .../contributing/localization.de-de.md | 4 +- .../contributing/localization.en-us.md | 4 +- .../contributing/localization.zh-cn.md | 4 +- .../contributing/localization.zh-tw.md | 4 +- .../contributing/translation.zh-cn.md | 4 +- docs/content/{doc => }/development.en-us.md | 4 +- docs/content/{doc => }/development.zh-cn.md | 4 +- docs/content/{doc => }/development.zh-tw.md | 4 +- .../{doc => }/development/_index.en-us.md | 0 .../{doc => }/development/_index.zh-cn.md | 0 .../{doc => }/development/_index.zh-tw.md | 0 .../{doc => }/development/api-usage.en-us.md | 8 +- .../{doc => }/development/api-usage.zh-cn.md | 4 +- .../development/hacking-on-gitea.en-us.md | 22 +- .../development/hacking-on-gitea.zh-cn.md | 22 +- .../development/integrations.en-us.md | 4 +- .../development/integrations.zh-cn.md | 4 +- .../development/integrations.zh-tw.md | 4 +- .../{doc => }/development/migrations.en-us.md | 4 +- .../{doc => }/development/migrations.zh-cn.md | 4 +- .../{doc => }/development/migrations.zh-tw.md | 4 +- .../development/oauth2-provider.en-us.md | 8 +- .../development/oauth2-provider.zh-cn.md | 8 +- .../development/oauth2-provider.zh-tw.md | 6 +- docs/content/{doc => }/help.en-us.md | 4 +- docs/content/{doc => }/help.fr-fr.md | 4 +- docs/content/{doc => }/help.zh-cn.md | 4 +- docs/content/{doc => }/help.zh-tw.md | 4 +- docs/content/{doc => }/help/_index.en-us.md | 0 docs/content/{doc => }/help/_index.zh-cn.md | 0 docs/content/{doc => }/help/_index.zh-tw.md | 0 docs/content/{doc => }/help/faq.en-us.md | 42 +- docs/content/{doc => }/help/faq.zh-cn.md | 48 ++- docs/content/{doc => }/help/support.en-us.md | 4 +- docs/content/{doc => }/help/support.zh-cn.md | 4 +- docs/content/{doc => }/help/support.zh-tw.md | 4 +- docs/content/{page => }/index.de-de.md | 5 +- docs/content/{page => }/index.en-us.md | 5 +- docs/content/{page => }/index.fr-fr.md | 5 +- docs/content/{page => }/index.zh-cn.md | 5 +- docs/content/{page => }/index.zh-tw.md | 5 +- docs/content/{doc => }/installation.en-us.md | 4 +- docs/content/{doc => }/installation.fr-fr.md | 4 +- docs/content/{doc => }/installation.zh-cn.md | 4 +- docs/content/{doc => }/installation.zh-tw.md | 4 +- .../{doc => }/installation/_index.en-us.md | 0 .../{doc => }/installation/_index.fr-fr.md | 0 .../{doc => }/installation/_index.zh-cn.md | 0 .../{doc => }/installation/_index.zh-tw.md | 0 .../installation/comparison.en-us.md | 8 +- .../installation/comparison.zh-cn.md | 4 +- .../installation/comparison.zh-tw.md | 6 +- .../database-preparation.en-us.md | 8 +- .../database-preparation.zh-cn.md | 8 +- .../installation/from-binary.en-us.md | 24 +- .../installation/from-binary.fr-fr.md | 8 +- .../installation/from-binary.zh-cn.md | 20 +- .../installation/from-binary.zh-tw.md | 6 +- .../installation/from-package.en-us.md | 12 +- .../installation/from-package.fr-fr.md | 10 +- .../installation/from-package.zh-cn.md | 12 +- .../installation/from-package.zh-tw.md | 10 +- .../installation/from-source.en-us.md | 30 +- .../installation/from-source.fr-fr.md | 10 +- .../installation/from-source.zh-cn.md | 18 +- .../installation/from-source.zh-tw.md | 10 +- .../installation/on-cloud-provider.en-us.md | 8 +- .../installation/on-cloud-provider.zh-cn.md | 8 +- .../installation/on-kubernetes.en-us.md | 5 +- .../installation/on-kubernetes.zh-cn.md | 5 +- .../installation/on-kubernetes.zh-tw.md | 5 +- .../run-as-service-in-ubuntu.en-us.md | 4 +- .../run-as-service-in-ubuntu.zh-cn.md | 4 +- .../run-as-service-in-ubuntu.zh-tw.md | 4 +- .../installation/upgrade-from-gitea.en-us.md | 8 +- .../installation/upgrade-from-gitea.zh-cn.md | 8 +- .../installation/upgrade-from-gogs.en-us.md | 10 +- .../installation/upgrade-from-gogs.fr-fr.md | 4 +- .../installation/upgrade-from-gogs.zh-cn.md | 4 +- .../installation/upgrade-from-gogs.zh-tw.md | 8 +- .../installation/windows-service.en-us.md | 4 +- .../installation/windows-service.fr-fr.md | 4 +- .../installation/windows-service.zh-cn.md | 4 +- .../installation/windows-service.zh-tw.md | 4 +- .../with-docker-rootless.en-us.md | 20 +- .../with-docker-rootless.zh-cn.md | 20 +- .../installation/with-docker.en-us.md | 20 +- .../installation/with-docker.fr-fr.md | 6 +- .../installation/with-docker.zh-cn.md | 20 +- .../installation/with-docker.zh-tw.md | 6 +- docs/content/{doc => }/packages.en-us.md | 4 +- docs/content/{doc => }/search.de-de.md | 3 +- docs/content/{doc => }/search.en-us.md | 3 +- docs/content/{doc => }/search.fr-fr.md | 3 +- docs/content/{doc => }/search.nl-nl.md | 3 +- docs/content/{doc => }/search.pt-br.md | 3 +- docs/content/{doc => }/search.zh-cn.md | 3 +- docs/content/{doc => }/search.zh-tw.md | 3 +- docs/content/{doc => }/usage.en-us.md | 4 +- docs/content/{doc => }/usage.zh-cn.md | 4 +- docs/content/{doc => }/usage.zh-tw.md | 4 +- docs/content/{doc => }/usage/_index.en-us.md | 0 docs/content/{doc => }/usage/_index.zh-cn.md | 0 docs/content/{doc => }/usage/_index.zh-tw.md | 0 .../usage/actions/act-runner.en-us.md | 8 +- .../usage/actions/act-runner.zh-cn.md | 14 +- .../usage/actions/comparison.en-us.md | 10 +- .../usage/actions/comparison.zh-cn.md | 10 +- .../{doc => }/usage/actions/design.en-us.md | 8 +- .../{doc => }/usage/actions/design.zh-cn.md | 8 +- .../{doc => }/usage/actions/faq.en-us.md | 8 +- .../{doc => }/usage/actions/faq.zh-cn.md | 8 +- .../{doc => }/usage/actions/overview.en-us.md | 8 +- .../{doc => }/usage/actions/overview.zh-cn.md | 8 +- .../usage/actions/quickstart.en-us.md | 16 +- .../usage/actions/quickstart.zh-cn.md | 16 +- .../{doc => }/usage/agit-support.en-us.md | 4 +- .../{doc => }/usage/agit-support.zh-cn.md | 4 +- .../{doc => }/usage/authentication.en-us.md | 6 +- .../{doc => }/usage/authentication.zh-cn.md | 4 +- .../{doc => }/usage/authentication.zh-tw.md | 4 +- .../{doc => }/usage/clone-filter.en-us.md | 4 +- .../{doc => }/usage/clone-filter.zh-cn.md | 4 +- .../{doc => }/usage/code-owners.en-us.md | 4 +- .../{doc => }/usage/incoming-email.en-us.md | 8 +- .../{doc => }/usage/incoming-email.zh-cn.md | 8 +- .../issue-pull-request-templates.en-us.md | 8 +- .../issue-pull-request-templates.zh-cn.md | 8 +- docs/content/{doc => }/usage/labels.en-us.md | 4 +- docs/content/{doc => }/usage/labels.zh-cn.md | 4 +- .../usage/linked-references.en-us.md | 8 +- .../usage/linked-references.zh-cn.md | 8 +- .../usage/merge-message-templates.en-us.md | 8 +- .../usage/merge-message-templates.zh-cn.md | 8 +- .../{doc => }/usage/packages/_index.en-us.md | 0 .../{doc => }/usage/packages/alpine.en-us.md | 10 +- .../{doc => }/usage/packages/alpine.zh-cn.md | 10 +- .../{doc => }/usage/packages/cargo.en-us.md | 10 +- .../{doc => }/usage/packages/cargo.zh-cn.md | 10 +- .../{doc => }/usage/packages/chef.en-us.md | 8 +- .../{doc => }/usage/packages/chef.zh-cn.md | 8 +- .../usage/packages/composer.en-us.md | 10 +- .../usage/packages/composer.zh-cn.md | 10 +- .../{doc => }/usage/packages/conan.en-us.md | 10 +- .../{doc => }/usage/packages/conan.zh-cn.md | 10 +- .../{doc => }/usage/packages/conda.en-us.md | 8 +- .../{doc => }/usage/packages/conda.zh-cn.md | 8 +- .../usage/packages/container.en-us.md | 10 +- .../usage/packages/container.zh-cn.md | 10 +- .../{doc => }/usage/packages/cran.en-us.md | 6 +- .../{doc => }/usage/packages/cran.zh-cn.md | 6 +- .../{doc => }/usage/packages/debian.en-us.md | 10 +- .../{doc => }/usage/packages/debian.zh-cn.md | 10 +- .../{doc => }/usage/packages/generic.en-us.md | 12 +- .../{doc => }/usage/packages/generic.zh-cn.md | 12 +- .../{doc => }/usage/packages/go.en-us.md | 12 +- .../{doc => }/usage/packages/go.zh-cn.md | 12 +- .../{doc => }/usage/packages/helm.en-us.md | 10 +- .../{doc => }/usage/packages/helm.zh-cn.md | 10 +- .../{doc => }/usage/packages/maven.en-us.md | 10 +- .../{doc => }/usage/packages/maven.zh-cn.md | 10 +- .../{doc => }/usage/packages/npm.en-us.md | 10 +- .../{doc => }/usage/packages/npm.zh-cn.md | 10 +- .../{doc => }/usage/packages/nuget.en-us.md | 12 +- .../{doc => }/usage/packages/nuget.zh-cn.md | 12 +- .../usage/packages/overview.en-us.md | 50 ++- .../usage/packages/overview.zh-cn.md | 50 ++- .../{doc => }/usage/packages/pub.en-us.md | 10 +- .../{doc => }/usage/packages/pub.zh-cn.md | 10 +- .../{doc => }/usage/packages/pypi.en-us.md | 10 +- .../{doc => }/usage/packages/pypi.zh-cn.md | 10 +- .../{doc => }/usage/packages/rpm.en-us.md | 10 +- .../{doc => }/usage/packages/rpm.zh-cn.md | 10 +- .../usage/packages/rubygems.en-us.md | 10 +- .../usage/packages/rubygems.zh-cn.md | 10 +- .../{doc => }/usage/packages/storage.en-us.md | 12 +- .../{doc => }/usage/packages/storage.zh-cn.md | 8 +- .../{doc => }/usage/packages/swift.en-us.md | 12 +- .../{doc => }/usage/packages/swift.zh-cn.md | 12 +- .../{doc => }/usage/packages/vagrant.en-us.md | 10 +- .../{doc => }/usage/packages/vagrant.zh-cn.md | 10 +- .../{doc => }/usage/permissions.en-us.md | 8 +- .../{doc => }/usage/permissions.zh-cn.md | 8 +- .../{doc => }/usage/profile-readme.en-us.md | 4 +- .../{doc => }/usage/profile-readme.zh-cn.md | 4 +- .../{doc => }/usage/protected-tags.en-us.md | 8 +- .../{doc => }/usage/protected-tags.zh-cn.md | 8 +- .../{doc => }/usage/pull-request.en-us.md | 4 +- .../{doc => }/usage/pull-request.zh-cn.md | 4 +- .../{doc => }/usage/pull-request.zh-tw.md | 4 +- docs/content/{doc => }/usage/push.en-us.md | 10 +- docs/content/{doc => }/usage/push.zh-cn.md | 10 +- docs/content/{doc => }/usage/push.zh-tw.md | 10 +- .../{doc => }/usage/repo-mirror.en-us.md | 8 +- .../{doc => }/usage/repo-mirror.zh-cn.md | 8 +- docs/content/{doc => }/usage/secrets.en-us.md | 4 +- docs/content/{doc => }/usage/secrets.zh-cn.md | 4 +- .../usage/template-repositories.en-us.md | 8 +- .../usage/template-repositories.zh-cn.md | 8 +- .../content/{doc => }/usage/webhooks.en-us.md | 4 +- .../content/{doc => }/usage/webhooks.zh-cn.md | 4 +- .../content/{doc => }/usage/webhooks.zh-tw.md | 4 +- docs/layouts/_default/index.json | 5 - docs/layouts/alias.html | 12 - docs/layouts/doc/search.html | 38 -- docs/layouts/index.html | 23 -- docs/layouts/shortcodes/go-version.html | 1 - docs/layouts/shortcodes/min-go-version.html | 1 - docs/layouts/shortcodes/min-node-version.html | 1 - docs/layouts/shortcodes/version.html | 1 - docs/static/_headers | 6 - docs/static/_redirects | 19 - docs/static/authorize.png | Bin 18951 -> 0 bytes docs/static/cloudron.svg | 53 --- docs/static/gitea-push-hint.png | Bin 421775 -> 0 bytes docs/static/open-in-gitpod.svg | 23 -- 281 files changed, 794 insertions(+), 2157 deletions(-) delete mode 100644 docs/Makefile delete mode 100644 docs/assets/js/search.js delete mode 100644 docs/config.yaml rename docs/content/{doc => }/actions.en-us.md (78%) rename docs/content/{doc => }/administration.en-us.md (81%) rename docs/content/{doc => }/administration.fr-fr.md (79%) rename docs/content/{doc => }/administration.zh-cn.md (79%) rename docs/content/{doc => }/administration.zh-tw.md (79%) rename docs/content/{doc => }/administration/_index.en-us.md (100%) rename docs/content/{doc => }/administration/_index.zh-cn.md (100%) rename docs/content/{doc => }/administration/_index.zh-tw.md (100%) rename docs/content/{doc => }/administration/adding-legal-pages.en-us.md (96%) rename docs/content/{doc => }/administration/adding-legal-pages.zh-cn.md (96%) rename docs/content/{doc => }/administration/backup-and-restore.en-us.md (99%) rename docs/content/{doc => }/administration/backup-and-restore.zh-cn.md (98%) rename docs/content/{doc => }/administration/backup-and-restore.zh-tw.md (97%) rename docs/content/{doc => }/administration/cmd-embedded.en-us.md (93%) rename docs/content/{doc => }/administration/cmd-embedded.zh-cn.md (92%) rename docs/content/{doc => }/administration/command-line.en-us.md (99%) rename docs/content/{doc => }/administration/command-line.zh-cn.md (99%) rename docs/content/{doc => }/administration/config-cheat-sheet.en-us.md (92%) rename docs/content/{doc => }/administration/config-cheat-sheet.zh-cn.md (96%) rename docs/content/{doc => }/administration/customizing-gitea.en-us.md (97%) rename docs/content/{doc => }/administration/customizing-gitea.zh-cn.md (98%) rename docs/content/{doc => }/administration/email-setup.en-us.md (94%) rename docs/content/{doc => }/administration/email-setup.zh-cn.md (98%) rename docs/content/{doc => }/administration/environment-variables.en-us.md (96%) rename docs/content/{doc => }/administration/environment-variables.zh-cn.md (97%) rename docs/content/{doc => }/administration/external-renderers.en-us.md (98%) rename docs/content/{doc => }/administration/external-renderers.zh-cn.md (96%) rename docs/content/{doc => }/administration/fail2ban-setup.en-us.md (98%) rename docs/content/{doc => }/administration/fail2ban-setup.zh-cn.md (98%) rename docs/content/{doc => }/administration/git-lfs-support.en-us.md (93%) rename docs/content/{doc => }/administration/git-lfs-support.zh-cn.md (93%) rename docs/content/{doc => }/administration/https-support.en-us.md (96%) rename docs/content/{doc => }/administration/https-support.zh-cn.md (96%) rename docs/content/{doc => }/administration/logging-config.en-us.md (97%) rename docs/content/{doc => }/administration/logging-config.zh-cn.md (97%) rename docs/content/{doc => }/administration/mail-templates.en-us.md (99%) rename docs/content/{doc => }/administration/mail-templates.zh-cn.md (99%) rename docs/content/{doc => }/administration/repo-indexer.en-us.md (97%) rename docs/content/{doc => }/administration/repo-indexer.zh-cn.md (97%) rename docs/content/{doc => }/administration/reverse-proxies.en-us.md (99%) rename docs/content/{doc => }/administration/reverse-proxies.zh-cn.md (98%) rename docs/content/{doc => }/administration/search-engines-indexation.en-us.md (91%) rename docs/content/{doc => }/administration/search-engines-indexation.zh-cn.md (87%) rename docs/content/{doc => }/administration/signing.en-us.md (98%) rename docs/content/{doc => }/administration/signing.zh-cn.md (99%) rename docs/content/{doc => }/contributing.en-us.md (79%) rename docs/content/{doc => }/contributing.fr-fr.md (79%) rename docs/content/{doc => }/contributing.zh-tw.md (78%) rename docs/content/{doc => }/contributing/_index.de-de.md (100%) rename docs/content/{doc => }/contributing/_index.en-us.md (100%) rename docs/content/{doc => }/contributing/_index.zh-cn.md (100%) rename docs/content/{doc => }/contributing/_index.zh-tw.md (100%) rename docs/content/{doc => }/contributing/guidelines-backend.en-us.md (99%) rename docs/content/{doc => }/contributing/guidelines-backend.zh-cn.md (99%) rename docs/content/{doc => }/contributing/guidelines-frontend.en-us.md (98%) rename docs/content/{doc => }/contributing/guidelines-frontend.zh-cn.md (99%) rename docs/content/{doc => }/contributing/guidelines-refactoring.en-us.md (97%) rename docs/content/{doc => }/contributing/guidelines-refactoring.zh-cn.md (97%) rename docs/content/{doc => }/contributing/localization.de-de.md (97%) rename docs/content/{doc => }/contributing/localization.en-us.md (96%) rename docs/content/{doc => }/contributing/localization.zh-cn.md (95%) rename docs/content/{doc => }/contributing/localization.zh-tw.md (95%) rename docs/content/{doc => }/contributing/translation.zh-cn.md (87%) rename docs/content/{doc => }/development.en-us.md (79%) rename docs/content/{doc => }/development.zh-cn.md (78%) rename docs/content/{doc => }/development.zh-tw.md (78%) rename docs/content/{doc => }/development/_index.en-us.md (100%) rename docs/content/{doc => }/development/_index.zh-cn.md (100%) rename docs/content/{doc => }/development/_index.zh-tw.md (100%) rename docs/content/{doc => }/development/api-usage.en-us.md (98%) rename docs/content/{doc => }/development/api-usage.zh-cn.md (98%) rename docs/content/{doc => }/development/hacking-on-gitea.en-us.md (95%) rename docs/content/{doc => }/development/hacking-on-gitea.zh-cn.md (94%) rename docs/content/{doc => }/development/integrations.en-us.md (96%) rename docs/content/{doc => }/development/integrations.zh-cn.md (96%) rename docs/content/{doc => }/development/integrations.zh-tw.md (94%) rename docs/content/{doc => }/development/migrations.en-us.md (97%) rename docs/content/{doc => }/development/migrations.zh-cn.md (97%) rename docs/content/{doc => }/development/migrations.zh-tw.md (97%) rename docs/content/{doc => }/development/oauth2-provider.en-us.md (99%) rename docs/content/{doc => }/development/oauth2-provider.zh-cn.md (99%) rename docs/content/{doc => }/development/oauth2-provider.zh-tw.md (98%) rename docs/content/{doc => }/help.en-us.md (76%) rename docs/content/{doc => }/help.fr-fr.md (76%) rename docs/content/{doc => }/help.zh-cn.md (77%) rename docs/content/{doc => }/help.zh-tw.md (77%) rename docs/content/{doc => }/help/_index.en-us.md (100%) rename docs/content/{doc => }/help/_index.zh-cn.md (100%) rename docs/content/{doc => }/help/_index.zh-tw.md (100%) rename docs/content/{doc => }/help/faq.en-us.md (89%) rename docs/content/{doc => }/help/faq.zh-cn.md (88%) rename docs/content/{doc => }/help/support.en-us.md (97%) rename docs/content/{doc => }/help/support.zh-cn.md (93%) rename docs/content/{doc => }/help/support.zh-tw.md (95%) rename docs/content/{page => }/index.de-de.md (96%) rename docs/content/{page => }/index.en-us.md (99%) rename docs/content/{page => }/index.fr-fr.md (99%) rename docs/content/{page => }/index.zh-cn.md (98%) rename docs/content/{page => }/index.zh-tw.md (99%) rename docs/content/{doc => }/installation.en-us.md (79%) rename docs/content/{doc => }/installation.fr-fr.md (79%) rename docs/content/{doc => }/installation.zh-cn.md (78%) rename docs/content/{doc => }/installation.zh-tw.md (78%) rename docs/content/{doc => }/installation/_index.en-us.md (100%) rename docs/content/{doc => }/installation/_index.fr-fr.md (100%) rename docs/content/{doc => }/installation/_index.zh-cn.md (100%) rename docs/content/{doc => }/installation/_index.zh-tw.md (100%) rename docs/content/{doc => }/installation/comparison.en-us.md (99%) rename docs/content/{doc => }/installation/comparison.zh-cn.md (99%) rename docs/content/{doc => }/installation/comparison.zh-tw.md (99%) rename docs/content/{doc => }/installation/database-preparation.en-us.md (99%) rename docs/content/{doc => }/installation/database-preparation.zh-cn.md (99%) rename docs/content/{doc => }/installation/from-binary.en-us.md (90%) rename docs/content/{doc => }/installation/from-binary.fr-fr.md (91%) rename docs/content/{doc => }/installation/from-binary.zh-cn.md (89%) rename docs/content/{doc => }/installation/from-binary.zh-tw.md (89%) rename docs/content/{doc => }/installation/from-package.en-us.md (91%) rename docs/content/{doc => }/installation/from-package.fr-fr.md (81%) rename docs/content/{doc => }/installation/from-package.zh-cn.md (90%) rename docs/content/{doc => }/installation/from-package.zh-tw.md (79%) rename docs/content/{doc => }/installation/from-source.en-us.md (90%) rename docs/content/{doc => }/installation/from-source.fr-fr.md (93%) rename docs/content/{doc => }/installation/from-source.zh-cn.md (89%) rename docs/content/{doc => }/installation/from-source.zh-tw.md (87%) rename docs/content/{doc => }/installation/on-cloud-provider.en-us.md (97%) rename docs/content/{doc => }/installation/on-cloud-provider.zh-cn.md (96%) rename docs/content/{doc => }/installation/on-kubernetes.en-us.md (97%) rename docs/content/{doc => }/installation/on-kubernetes.zh-cn.md (97%) rename docs/content/{doc => }/installation/on-kubernetes.zh-tw.md (97%) rename docs/content/{doc => }/installation/run-as-service-in-ubuntu.en-us.md (97%) rename docs/content/{doc => }/installation/run-as-service-in-ubuntu.zh-cn.md (97%) rename docs/content/{doc => }/installation/run-as-service-in-ubuntu.zh-tw.md (97%) rename docs/content/{doc => }/installation/upgrade-from-gitea.en-us.md (98%) rename docs/content/{doc => }/installation/upgrade-from-gitea.zh-cn.md (98%) rename docs/content/{doc => }/installation/upgrade-from-gogs.en-us.md (97%) rename docs/content/{doc => }/installation/upgrade-from-gogs.fr-fr.md (98%) rename docs/content/{doc => }/installation/upgrade-from-gogs.zh-cn.md (95%) rename docs/content/{doc => }/installation/upgrade-from-gogs.zh-tw.md (97%) rename docs/content/{doc => }/installation/windows-service.en-us.md (97%) rename docs/content/{doc => }/installation/windows-service.fr-fr.md (95%) rename docs/content/{doc => }/installation/windows-service.zh-cn.md (95%) rename docs/content/{doc => }/installation/windows-service.zh-tw.md (96%) rename docs/content/{doc => }/installation/with-docker-rootless.en-us.md (94%) rename docs/content/{doc => }/installation/with-docker-rootless.zh-cn.md (94%) rename docs/content/{doc => }/installation/with-docker.en-us.md (98%) rename docs/content/{doc => }/installation/with-docker.fr-fr.md (98%) rename docs/content/{doc => }/installation/with-docker.zh-cn.md (97%) rename docs/content/{doc => }/installation/with-docker.zh-tw.md (96%) rename docs/content/{doc => }/packages.en-us.md (79%) rename docs/content/{doc => }/search.de-de.md (95%) rename docs/content/{doc => }/search.en-us.md (95%) rename docs/content/{doc => }/search.fr-fr.md (95%) rename docs/content/{doc => }/search.nl-nl.md (95%) rename docs/content/{doc => }/search.pt-br.md (95%) rename docs/content/{doc => }/search.zh-cn.md (95%) rename docs/content/{doc => }/search.zh-tw.md (95%) rename docs/content/{doc => }/usage.en-us.md (77%) rename docs/content/{doc => }/usage.zh-cn.md (78%) rename docs/content/{doc => }/usage.zh-tw.md (77%) rename docs/content/{doc => }/usage/_index.en-us.md (100%) rename docs/content/{doc => }/usage/_index.zh-cn.md (100%) rename docs/content/{doc => }/usage/_index.zh-tw.md (100%) rename docs/content/{doc => }/usage/actions/act-runner.en-us.md (99%) rename docs/content/{doc => }/usage/actions/act-runner.zh-cn.md (98%) rename docs/content/{doc => }/usage/actions/comparison.en-us.md (97%) rename docs/content/{doc => }/usage/actions/comparison.zh-cn.md (96%) rename docs/content/{doc => }/usage/actions/design.en-us.md (99%) rename docs/content/{doc => }/usage/actions/design.zh-cn.md (99%) rename docs/content/{doc => }/usage/actions/faq.en-us.md (99%) rename docs/content/{doc => }/usage/actions/faq.zh-cn.md (99%) rename docs/content/{doc => }/usage/actions/overview.en-us.md (97%) rename docs/content/{doc => }/usage/actions/overview.zh-cn.md (97%) rename docs/content/{doc => }/usage/actions/quickstart.en-us.md (91%) rename docs/content/{doc => }/usage/actions/quickstart.zh-cn.md (91%) rename docs/content/{doc => }/usage/agit-support.en-us.md (97%) rename docs/content/{doc => }/usage/agit-support.zh-cn.md (96%) rename docs/content/{doc => }/usage/authentication.en-us.md (99%) rename docs/content/{doc => }/usage/authentication.zh-cn.md (99%) rename docs/content/{doc => }/usage/authentication.zh-tw.md (84%) rename docs/content/{doc => }/usage/clone-filter.en-us.md (96%) rename docs/content/{doc => }/usage/clone-filter.zh-cn.md (97%) rename docs/content/{doc => }/usage/code-owners.en-us.md (96%) rename docs/content/{doc => }/usage/incoming-email.en-us.md (96%) rename docs/content/{doc => }/usage/incoming-email.zh-cn.md (97%) rename docs/content/{doc => }/usage/issue-pull-request-templates.en-us.md (99%) rename docs/content/{doc => }/usage/issue-pull-request-templates.zh-cn.md (99%) rename docs/content/{doc => }/usage/labels.en-us.md (97%) rename docs/content/{doc => }/usage/labels.zh-cn.md (97%) rename docs/content/{doc => }/usage/linked-references.en-us.md (99%) rename docs/content/{doc => }/usage/linked-references.zh-cn.md (99%) rename docs/content/{doc => }/usage/merge-message-templates.en-us.md (96%) rename docs/content/{doc => }/usage/merge-message-templates.zh-cn.md (97%) rename docs/content/{doc => }/usage/packages/_index.en-us.md (100%) rename docs/content/{doc => }/usage/packages/alpine.en-us.md (92%) rename docs/content/{doc => }/usage/packages/alpine.zh-cn.md (94%) rename docs/content/{doc => }/usage/packages/cargo.en-us.md (94%) rename docs/content/{doc => }/usage/packages/cargo.zh-cn.md (94%) rename docs/content/{doc => }/usage/packages/chef.en-us.md (97%) rename docs/content/{doc => }/usage/packages/chef.zh-cn.md (98%) rename docs/content/{doc => }/usage/packages/composer.en-us.md (93%) rename docs/content/{doc => }/usage/packages/composer.zh-cn.md (94%) rename docs/content/{doc => }/usage/packages/conan.en-us.md (91%) rename docs/content/{doc => }/usage/packages/conan.zh-cn.md (93%) rename docs/content/{doc => }/usage/packages/conda.en-us.md (97%) rename docs/content/{doc => }/usage/packages/conda.zh-cn.md (98%) rename docs/content/{doc => }/usage/packages/container.en-us.md (90%) rename docs/content/{doc => }/usage/packages/container.zh-cn.md (92%) rename docs/content/{doc => }/usage/packages/cran.en-us.md (97%) rename docs/content/{doc => }/usage/packages/cran.zh-cn.md (98%) rename docs/content/{doc => }/usage/packages/debian.en-us.md (92%) rename docs/content/{doc => }/usage/packages/debian.zh-cn.md (93%) rename docs/content/{doc => }/usage/packages/generic.en-us.md (93%) rename docs/content/{doc => }/usage/packages/generic.zh-cn.md (94%) rename docs/content/{doc => }/usage/packages/go.en-us.md (86%) rename docs/content/{doc => }/usage/packages/go.zh-cn.md (89%) rename docs/content/{doc => }/usage/packages/helm.en-us.md (90%) rename docs/content/{doc => }/usage/packages/helm.zh-cn.md (93%) rename docs/content/{doc => }/usage/packages/maven.en-us.md (95%) rename docs/content/{doc => }/usage/packages/maven.zh-cn.md (95%) rename docs/content/{doc => }/usage/packages/npm.en-us.md (95%) rename docs/content/{doc => }/usage/packages/npm.zh-cn.md (95%) rename docs/content/{doc => }/usage/packages/nuget.en-us.md (91%) rename docs/content/{doc => }/usage/packages/nuget.zh-cn.md (93%) rename docs/content/{doc => }/usage/packages/overview.en-us.md (61%) rename docs/content/{doc => }/usage/packages/overview.zh-cn.md (56%) rename docs/content/{doc => }/usage/packages/pub.en-us.md (91%) rename docs/content/{doc => }/usage/packages/pub.zh-cn.md (91%) rename docs/content/{doc => }/usage/packages/pypi.en-us.md (92%) rename docs/content/{doc => }/usage/packages/pypi.zh-cn.md (94%) rename docs/content/{doc => }/usage/packages/rpm.en-us.md (90%) rename docs/content/{doc => }/usage/packages/rpm.zh-cn.md (88%) rename docs/content/{doc => }/usage/packages/rubygems.en-us.md (93%) rename docs/content/{doc => }/usage/packages/rubygems.zh-cn.md (94%) rename docs/content/{doc => }/usage/packages/storage.en-us.md (89%) rename docs/content/{doc => }/usage/packages/storage.zh-cn.md (99%) rename docs/content/{doc => }/usage/packages/swift.en-us.md (89%) rename docs/content/{doc => }/usage/packages/swift.zh-cn.md (92%) rename docs/content/{doc => }/usage/packages/vagrant.en-us.md (91%) rename docs/content/{doc => }/usage/packages/vagrant.zh-cn.md (92%) rename docs/content/{doc => }/usage/permissions.en-us.md (98%) rename docs/content/{doc => }/usage/permissions.zh-cn.md (98%) rename docs/content/{doc => }/usage/profile-readme.en-us.md (94%) rename docs/content/{doc => }/usage/profile-readme.zh-cn.md (94%) rename docs/content/{doc => }/usage/protected-tags.en-us.md (97%) rename docs/content/{doc => }/usage/protected-tags.zh-cn.md (98%) rename docs/content/{doc => }/usage/pull-request.en-us.md (98%) rename docs/content/{doc => }/usage/pull-request.zh-cn.md (94%) rename docs/content/{doc => }/usage/pull-request.zh-tw.md (94%) rename docs/content/{doc => }/usage/push.en-us.md (92%) rename docs/content/{doc => }/usage/push.zh-cn.md (90%) rename docs/content/{doc => }/usage/push.zh-tw.md (91%) rename docs/content/{doc => }/usage/repo-mirror.en-us.md (98%) rename docs/content/{doc => }/usage/repo-mirror.zh-cn.md (98%) rename docs/content/{doc => }/usage/secrets.en-us.md (96%) rename docs/content/{doc => }/usage/secrets.zh-cn.md (96%) rename docs/content/{doc => }/usage/template-repositories.en-us.md (98%) rename docs/content/{doc => }/usage/template-repositories.zh-cn.md (98%) rename docs/content/{doc => }/usage/webhooks.en-us.md (99%) rename docs/content/{doc => }/usage/webhooks.zh-cn.md (99%) rename docs/content/{doc => }/usage/webhooks.zh-tw.md (99%) delete mode 100644 docs/layouts/_default/index.json delete mode 100644 docs/layouts/alias.html delete mode 100644 docs/layouts/doc/search.html delete mode 100644 docs/layouts/index.html delete mode 100644 docs/layouts/shortcodes/go-version.html delete mode 100644 docs/layouts/shortcodes/min-go-version.html delete mode 100644 docs/layouts/shortcodes/min-node-version.html delete mode 100644 docs/layouts/shortcodes/version.html delete mode 100644 docs/static/_headers delete mode 100644 docs/static/_redirects delete mode 100644 docs/static/authorize.png delete mode 100644 docs/static/cloudron.svg delete mode 100644 docs/static/gitea-push-hint.png delete mode 100644 docs/static/open-in-gitpod.svg diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml index c8bef283a..2b02b596f 100644 --- a/.github/workflows/pull-compliance.yml +++ b/.github/workflows/pull-compliance.yml @@ -154,7 +154,7 @@ jobs: node-version: 20 - run: make deps-frontend - run: make lint-md - - run: make docs # test if build could succeed + - run: make docs actions: if: needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true' diff --git a/Makefile b/Makefile index e24b35c3f..e75a2bcb9 100644 --- a/Makefile +++ b/Makefile @@ -197,7 +197,6 @@ help: @echo " - clean delete backend and integration files" @echo " - clean-all delete backend, frontend and integration files" @echo " - deps install dependencies" - @echo " - deps-docs install docs dependencies" @echo " - deps-frontend install frontend dependencies" @echo " - deps-backend install backend dependencies" @echo " - deps-tools install tool dependencies" @@ -373,11 +372,11 @@ lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig .PHONY: lint-js lint-js: node_modules - npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js docs/assets/js tests/e2e + npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js tests/e2e .PHONY: lint-js-fix lint-js-fix: node_modules - npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js docs/assets/js tests/e2e --fix + npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js tests/e2e --fix .PHONY: lint-css lint-css: node_modules @@ -879,20 +878,14 @@ release-sources: | $(DIST_DIRS) .PHONY: release-docs release-docs: | $(DIST_DIRS) docs - tar -czf $(DIST)/release/gitea-docs-$(VERSION).tar.gz -C ./docs/public . + tar -czf $(DIST)/release/gitea-docs-$(VERSION).tar.gz -C ./docs . .PHONY: docs -docs: deps-docs - cd docs; make trans-copy clean build-offline; - -.PHONY: deps-docs -deps-docs: - @hash hugo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ - curl -sL https://github.com/gohugoio/hugo/releases/download/v$(HUGO_VERSION)/hugo_$(HUGO_VERSION)_Linux-64bit.tar.gz | tar zxf - -C /tmp && mkdir -p ~/go/bin && mv /tmp/hugo ~/go/bin/hugo && chmod +x ~/go/bin/hugo; \ - fi +docs: + cd docs; bash scripts/trans-copy.sh; .PHONY: deps -deps: deps-frontend deps-backend deps-tools deps-docs deps-py +deps: deps-frontend deps-backend deps-tools deps-py .PHONY: deps-py deps-py: .venv diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 6a5a37484..000000000 --- a/docs/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -THEME := themes/gitea -PUBLIC := public -ARCHIVE := https://dl.gitea.com/theme/main.tar.gz - -HUGO_PACKAGE := github.com/gohugoio/hugo@v0.111.3 - -.PHONY: all -all: build - -.PHONY: clean -clean: - rm -rf $(PUBLIC) $(THEME) - -.PHONY: trans-copy -trans-copy: - bash scripts/trans-copy.sh - -.PHONY: server -server: $(THEME) - go run $(HUGO_PACKAGE) server - -.PHONY: build -build: $(THEME) - go run $(HUGO_PACKAGE) --cleanDestinationDir - -.PHONY: build-offline -build-offline: $(THEME) - go run $(HUGO_PACKAGE) --baseURL="/" --cleanDestinationDir - -.PHONY: update -update: $(THEME) - -$(THEME): $(THEME)/theme.toml -$(THEME)/theme.toml: - mkdir -p $$(dirname $@) - curl -L -s $(ARCHIVE) | tar xz -C $$(dirname $@) diff --git a/docs/README.md b/docs/README.md index 7a90cc240..d9aa3b80b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,36 +3,7 @@ [![Join the chat at https://img.shields.io/discord/322538954119184384.svg](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/Gitea) [![](https://images.microbadger.com/badges/image/gitea/docs.svg)](http://microbadger.com/images/gitea/docs "Get your own image badge on microbadger.com") -## Hosting - -These pages are hosted using [netlifycms](https://www.netlifycms.org/) and get -automatically updated on every push to the `master` branch. - -## Install - -These pages use the [Hugo](https://gohugo.io/) static site generator. -If you are planning to contribute you'll want to download and install Hugo on -your local machine. - -The installation of Hugo is out of the scope of this document, so please take -the [official install instructions](https://gohugo.io/installation/) to -get Hugo up and running. - -## Development - -To generate the website and serve it on [localhost:1313](http://localhost:1313) -just execute this command and stop it with `Ctrl+C`: - -``` -make server -``` - -When you are done with your changes just create a pull request, after merging -the pull request the website will be updated automatically. - -## Contributing - -Fork -> Patch -> Push -> Pull Request +These docs are ingested by our [docs repo](https://gitea.com/gitea/gitea-docusaurus). ## Authors diff --git a/docs/README_ZH.md b/docs/README_ZH.md index 407f4cf15..7d9003a8a 100644 --- a/docs/README_ZH.md +++ b/docs/README_ZH.md @@ -4,27 +4,7 @@ [![Join the chat at https://img.shields.io/discord/322538954119184384.svg](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/Gitea) [![](https://images.microbadger.com/badges/image/gitea/docs.svg)](http://microbadger.com/images/gitea/docs "Get your own image badge on microbadger.com") -## 关于托管方式 - -本页面托管在我们 Docker 容器内的基础设施上, 它会在每次推送到 `master` 分支的时候自动更新,如果你想自己管理这个页面,你可以从我们的 Docker 镜像 [gitea/docs](https://hub.docker.com/r/gitea/docs/) 中获取它。 - -## 安装 Hugo - -本页面使用了 [Hugo](https://github.com/spf13/hugo) 静态页面生成工具,如果您有维护它的意愿,则需要在本地计算机上下载并安装 Hugo。Hugo 的安装教程不在本文档的讲述范围之内,详情请参见 [官方文档](https://gohugo.io/overview/installing/)。 - -## 如何部署 - -在 [localhost:1313](http://localhost:1313) 处构建和运行网站的命令如下,如果需要停止可以使用组合键 `Ctrl+C`: - -``` -make server -``` - -完成更改后,只需创建一个 Pull Request (PR),该 PR 一经合并网站将自动更新。 - -## 如何贡献您的代码 - -Fork -> Patch -> Push -> Pull Request +https://gitea.com/gitea/gitea-docusaurus ## 关于我们 diff --git a/docs/assets/js/search.js b/docs/assets/js/search.js deleted file mode 100644 index 4b95b6384..000000000 --- a/docs/assets/js/search.js +++ /dev/null @@ -1,174 +0,0 @@ -/* global Fuse, Mark */ - -function ready(fn) { - if (document.readyState !== 'loading') { - fn(); - } else { - document.addEventListener('DOMContentLoaded', fn); - } -} - -ready(doSearch); - -const summaryInclude = 60; -const fuseOptions = { - shouldSort: true, - includeMatches: true, - matchAllTokens: true, - threshold: 0, // for parsing diacritics - tokenize: true, - location: 0, - distance: 100, - maxPatternLength: 32, - minMatchCharLength: 1, - keys: [{ - name: 'title', - weight: 0.8 - }, - { - name: 'contents', - weight: 0.5 - }, - { - name: 'tags', - weight: 0.3 - }, - { - name: 'categories', - weight: 0.3 - } - ] -}; - -function param(name) { - return decodeURIComponent((window.location.search.split(`${name}=`)[1] || '').split('&')[0]).replace(/\+/g, ' '); -} - -const searchQuery = param('s'); - -function doSearch() { - if (searchQuery) { - document.getElementById('search-query').value = searchQuery; - executeSearch(searchQuery); - } else { - const para = document.createElement('P'); - para.textContent = 'Please enter a word or phrase above'; - document.getElementById('search-results').append(para); - } -} - -function getJSON(url, fn) { - const request = new XMLHttpRequest(); - request.open('GET', url, true); - request.addEventListener('load', () => { - if (request.status >= 200 && request.status < 400) { - const data = JSON.parse(request.responseText); - fn(data); - } else { - console.error(`Target reached on ${url} with error ${request.status}`); - } - }); - request.addEventListener('error', () => { - console.error(`Connection error ${request.status}`); - }); - request.send(); -} - -function executeSearch(searchQuery) { - getJSON(`/${document.LANG}/index.json`, (data) => { - const pages = data; - const fuse = new Fuse(pages, fuseOptions); - const result = fuse.search(searchQuery); - document.getElementById('search-results').innerHTML = ''; - if (result.length > 0) { - populateResults(result); - } else { - const para = document.createElement('P'); - para.textContent = 'No matches found'; - document.getElementById('search-results').append(para); - } - }); -} - -function populateResults(result) { - for (const [key, value] of result.entries()) { - const content = value.item.contents; - let snippet = ''; - const snippetHighlights = []; - if (fuseOptions.tokenize) { - snippetHighlights.push(searchQuery); - for (const mvalue of value.matches) { - if (mvalue.key === 'tags' || mvalue.key === 'categories') { - snippetHighlights.push(mvalue.value); - } else if (mvalue.key === 'contents') { - const ind = content.toLowerCase().indexOf(searchQuery.toLowerCase()); - const start = ind - summaryInclude > 0 ? ind - summaryInclude : 0; - const end = ind + searchQuery.length + summaryInclude < content.length ? ind + searchQuery.length + summaryInclude : content.length; - snippet += content.substring(start, end); - if (ind > -1) { - snippetHighlights.push(content.substring(ind, ind + searchQuery.length)); - } else { - snippetHighlights.push(mvalue.value.substring(mvalue.indices[0][0], mvalue.indices[0][1] - mvalue.indices[0][0] + 1)); - } - } - } - } - - if (snippet.length < 1) { - snippet += content.substring(0, summaryInclude * 2); - } - // pull template from hugo template definition - const templateDefinition = document.getElementById('search-result-template').innerHTML; - // replace values - const output = render(templateDefinition, { - key, - title: value.item.title, - link: value.item.permalink, - tags: value.item.tags, - categories: value.item.categories, - snippet - }); - document.getElementById('search-results').append(htmlToElement(output)); - - for (const snipvalue of snippetHighlights) { - new Mark(document.getElementById(`summary-${key}`)).mark(snipvalue); - } - } -} - -function render(templateString, data) { - let conditionalMatches, copy; - const conditionalPattern = /\$\{\s*isset ([a-zA-Z]*) \s*\}(.*)\$\{\s*end\s*\}/g; - // since loop below depends on re.lastIndex, we use a copy to capture any manipulations whilst inside the loop - copy = templateString; - while ((conditionalMatches = conditionalPattern.exec(templateString)) !== null) { - if (data[conditionalMatches[1]]) { - // valid key, remove conditionals, leave content. - copy = copy.replace(conditionalMatches[0], conditionalMatches[2]); - } else { - // not valid, remove entire section - copy = copy.replace(conditionalMatches[0], ''); - } - } - templateString = copy; - // now any conditionals removed we can do simple substitution - let key, find, re; - for (key of Object.keys(data)) { - find = `\\$\\{\\s*${key}\\s*\\}`; - re = new RegExp(find, 'g'); - templateString = templateString.replace(re, data[key]); - } - return templateString; -} - -/** - * By Mark Amery: https://stackoverflow.com/a/35385518 - * @param {String} HTML representing a single element - * @return {Element} - */ -function htmlToElement(html) { - const template = document.createElement('template'); - html = html.trim(); // Never return a text node of whitespace as the result - template.innerHTML = html; - return template.content.firstChild; -} diff --git a/docs/config.yaml b/docs/config.yaml deleted file mode 100644 index 81adcaf45..000000000 --- a/docs/config.yaml +++ /dev/null @@ -1,369 +0,0 @@ -baseurl: https://docs.gitea.io/ -languageCode: en-us -title: Docs -theme: gitea - -defaultContentLanguage: en-us -defaultContentLanguageInSubdir: true -enableMissingTranslationPlaceholders: true -enableEmoji: true - -permalinks: - post: /:year/:month/:title/ - doc: /:sections[1:]/:slug/ - page: /:slug/ - default: /:slug/ - -params: - description: Git with a cup of tea - author: The Gitea Authors - website: https://docs.gitea.io - version: 1.19.0 # FIXME: this version was used as "latest stable release", but it always gets outdated and doesn't make sense - minGoVersion: 1.20 - goVersion: 1.20 - minNodeVersion: 16 - search: nav - repo: "https://github.com/go-gitea/gitea" - docContentPath: "docs/content" - -markup: - tableOfContents: - startLevel: 1 - endLevel: 9 - -outputs: - home: - - HTML - - RSS - - JSON - -menu: - page: - - name: Website - url: https://gitea.io/en-us/ - weight: 10 - pre: home - - name: Docs - url: /en-us/ - weight: 20 - pre: question - post: active - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: Blog - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: Shop - url: https://shop.gitea.io/ - weight: 40 - pre: shopping-cart - - name: Translation - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: Downloads - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Discord Chat - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: Forum - url: https://discourse.gitea.io/ - weight: 80 - pre: group - -languages: - en-us: - weight: 0 - languageName: English - - zh-cn: - weight: 1 - languageName: 中文(简体) - menu: - page: - - name: 网站 - url: https://gitea.io/zh-cn/ - weight: 10 - pre: home - - name: 文档 - url: /zh-cn/ - weight: 20 - pre: question - post: active - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: 博客 - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: 导入 - url: https://code.gitea.io/ - weight: 40 - pre: code - - name: 翻译 - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: 下载 - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Discord Chat - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: Forum - url: https://discourse.gitea.io/ - weight: 80 - pre: group - - zh-tw: - weight: 2 - languageName: 中文(繁體) - menu: - page: - - name: 網站 - url: https://gitea.io/zh-tw/ - weight: 10 - pre: home - - name: 文件 - url: /zh-tw/ - weight: 20 - pre: question - post: active - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: 部落格 - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: 商店 - url: https://shop.gitea.io/ - weight: 40 - pre: shopping-cart - - name: 翻譯 - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: 下載 - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Discord 聊天室 - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: 討論區 - url: https://discourse.gitea.io/ - weight: 80 - pre: group - - pt-br: - weight: 3 - languageName: Português Brasileiro - menu: - page: - - name: Página inicial - url: https://gitea.io/pt-br/ - weight: 10 - pre: home - - name: Documentação - url: /pt-br/ - weight: 20 - pre: question - post: active - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: Blog - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: Código-fonte - url: https://code.gitea.io/ - weight: 40 - pre: code - - name: Translation - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: Downloads - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Chat no Discord - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: Forum - url: https://discourse.gitea.io/ - weight: 80 - pre: group - - nl-nl: - weight: 4 - languageName: Nederlands - menu: - page: - - name: Website - url: https://gitea.io/nl-nl/ - weight: 10 - pre: home - - name: Docs - url: /nl-nl/ - weight: 20 - pre: question - post: active - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: Blog - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: Code - url: https://code.gitea.io/ - weight: 40 - pre: code - - name: Translation - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: Downloads - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Discord Chat - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: Forum - url: https://discourse.gitea.io/ - weight: 80 - pre: group - - fr-fr: - weight: 5 - languageName: Français - menu: - page: - - name: Site - url: https://gitea.io/en-us/ - weight: 10 - pre: home - post: active - - name: Documentation - url: /fr-fr/ - weight: 20 - pre: question - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: Blog - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: Code - url: https://code.gitea.io/ - weight: 40 - pre: code - - name: Translation - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: Téléchargement - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Discord Chat - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: Forum - url: https://discourse.gitea.io/ - weight: 80 - pre: group - - de-de: - weight: 6 - languageName: Deutsch - menu: - page: - - name: Webseite - url: https://gitea.io/en-us/ - weight: 10 - pre: home - post: active - - name: Dokumentation - url: /de-de/ - weight: 20 - pre: question - - name: API - url: https://try.gitea.io/api/swagger - weight: 45 - pre: plug - - name: Blog - url: https://blog.gitea.io/ - weight: 30 - pre: rss - - name: Code - url: https://code.gitea.io/ - weight: 40 - pre: code - - name: Übersetzung - url: https://crowdin.com/project/gitea - weight: 41 - pre: language - - name: Downloads - url: https://dl.gitea.io/ - weight: 50 - pre: download - - name: GitHub - url: https://github.com/go-gitea/ - weight: 60 - pre: github - - name: Discord Chat - url: https://discord.gg/Gitea - weight: 70 - pre: comment - - name: Forum - url: https://discourse.gitea.io/ - weight: 80 - pre: group diff --git a/docs/content/doc/actions.en-us.md b/docs/content/actions.en-us.md similarity index 78% rename from docs/content/doc/actions.en-us.md rename to docs/content/actions.en-us.md index 7cd2ba054..d8e33d378 100644 --- a/docs/content/doc/actions.en-us.md +++ b/docs/content/actions.en-us.md @@ -2,12 +2,12 @@ date: "2023-04-27T14:00:00+08:00" title: "Actions" slug: "actions" -weight: 36 +sidebar_position: 36 toc: false draft: false menu: sidebar: name: "Usage - Actions" - weight: 31 + sidebar_position: 31 identifier: "actions" --- diff --git a/docs/content/doc/administration.en-us.md b/docs/content/administration.en-us.md similarity index 81% rename from docs/content/doc/administration.en-us.md rename to docs/content/administration.en-us.md index 5d3ba385d..416b9e631 100644 --- a/docs/content/doc/administration.en-us.md +++ b/docs/content/administration.en-us.md @@ -2,13 +2,13 @@ date: "2016-12-01T16:00:00+02:00" title: "Administration" slug: "administration" -weight: 30 +sidebar_position: 30 toc: false draft: false menu: sidebar: name: "Administration" - weight: 20 + sidebar_position: 20 collapse: true identifier: "administration" --- diff --git a/docs/content/doc/administration.fr-fr.md b/docs/content/administration.fr-fr.md similarity index 79% rename from docs/content/doc/administration.fr-fr.md rename to docs/content/administration.fr-fr.md index 957ff7b19..ed11881b7 100644 --- a/docs/content/doc/administration.fr-fr.md +++ b/docs/content/administration.fr-fr.md @@ -2,12 +2,12 @@ date: "2017-08-23T09:00:00+02:00" title: "Avancé" slug: "administration" -weight: 30 +sidebar_position: 30 toc: false draft: false menu: sidebar: name: "Avancé" - weight: 20 + sidebar_position: 20 identifier: "administration" --- diff --git a/docs/content/doc/administration.zh-cn.md b/docs/content/administration.zh-cn.md similarity index 79% rename from docs/content/doc/administration.zh-cn.md rename to docs/content/administration.zh-cn.md index 6e032d326..262e5f068 100644 --- a/docs/content/doc/administration.zh-cn.md +++ b/docs/content/administration.zh-cn.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "运维" slug: "administration" -weight: 30 +sidebar_position: 30 toc: false draft: false menu: sidebar: name: "运维" - weight: 20 + sidebar_position: 20 identifier: "administration" --- diff --git a/docs/content/doc/administration.zh-tw.md b/docs/content/administration.zh-tw.md similarity index 79% rename from docs/content/doc/administration.zh-tw.md rename to docs/content/administration.zh-tw.md index daf8e3f10..455d6a363 100644 --- a/docs/content/doc/administration.zh-tw.md +++ b/docs/content/administration.zh-tw.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "運維" slug: "administration" -weight: 30 +sidebar_position: 30 toc: false draft: false menu: sidebar: name: "運維" - weight: 20 + sidebar_position: 20 identifier: "administration" --- diff --git a/docs/content/doc/administration/_index.en-us.md b/docs/content/administration/_index.en-us.md similarity index 100% rename from docs/content/doc/administration/_index.en-us.md rename to docs/content/administration/_index.en-us.md diff --git a/docs/content/doc/administration/_index.zh-cn.md b/docs/content/administration/_index.zh-cn.md similarity index 100% rename from docs/content/doc/administration/_index.zh-cn.md rename to docs/content/administration/_index.zh-cn.md diff --git a/docs/content/doc/administration/_index.zh-tw.md b/docs/content/administration/_index.zh-tw.md similarity index 100% rename from docs/content/doc/administration/_index.zh-tw.md rename to docs/content/administration/_index.zh-tw.md diff --git a/docs/content/doc/administration/adding-legal-pages.en-us.md b/docs/content/administration/adding-legal-pages.en-us.md similarity index 96% rename from docs/content/doc/administration/adding-legal-pages.en-us.md rename to docs/content/administration/adding-legal-pages.en-us.md index 6de145ce0..c6f68edcd 100644 --- a/docs/content/doc/administration/adding-legal-pages.en-us.md +++ b/docs/content/administration/adding-legal-pages.en-us.md @@ -2,7 +2,7 @@ date: "2019-12-28" title: "Adding Legal Pages" slug: adding-legal-pages -weight: 110 +sidebar_position: 110 toc: false draft: false aliases: @@ -12,7 +12,7 @@ menu: parent: "administration" name: "Adding Legal Pages" identifier: "adding-legal-pages" - weight: 110 + sidebar_position: 110 --- Some jurisdictions (such as EU), requires certain legal pages (e.g. Privacy Policy) to be added to website. Follow these steps to add them to your Gitea instance. diff --git a/docs/content/doc/administration/adding-legal-pages.zh-cn.md b/docs/content/administration/adding-legal-pages.zh-cn.md similarity index 96% rename from docs/content/doc/administration/adding-legal-pages.zh-cn.md rename to docs/content/administration/adding-legal-pages.zh-cn.md index dc0bccef3..5d582e871 100644 --- a/docs/content/doc/administration/adding-legal-pages.zh-cn.md +++ b/docs/content/administration/adding-legal-pages.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "添加法律页面" slug: adding-legal-pages -weight: 110 +sidebar_position: 110 toc: false draft: false aliases: @@ -12,7 +12,7 @@ menu: parent: "administration" name: "添加法律页面" identifier: "adding-legal-pages" - weight: 110 + sidebar_position: 110 --- 一些法域(例如欧盟)要求在网站上添加特定的法律页面(例如隐私政策)。按照以下步骤将它们添加到你的 Gitea 实例中。 diff --git a/docs/content/doc/administration/backup-and-restore.en-us.md b/docs/content/administration/backup-and-restore.en-us.md similarity index 99% rename from docs/content/doc/administration/backup-and-restore.en-us.md rename to docs/content/administration/backup-and-restore.en-us.md index 5a722f496..251bd53af 100644 --- a/docs/content/doc/administration/backup-and-restore.en-us.md +++ b/docs/content/administration/backup-and-restore.en-us.md @@ -2,7 +2,7 @@ date: "2017-01-01T16:00:00+02:00" title: "Backup and Restore" slug: "backup-and-restore" -weight: 11 +sidebar_position: 11 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Backup and Restore" - weight: 11 + sidebar_position: 11 identifier: "backup-and-restore" --- @@ -20,10 +20,6 @@ menu: Gitea currently has a `dump` command that will save the installation to a ZIP file. This file can be unpacked and used to restore an instance. -**Table of Contents** - -{{< toc >}} - ## Backup Consistency To ensure the consistency of the Gitea instance, it must be shutdown during backup. diff --git a/docs/content/doc/administration/backup-and-restore.zh-cn.md b/docs/content/administration/backup-and-restore.zh-cn.md similarity index 98% rename from docs/content/doc/administration/backup-and-restore.zh-cn.md rename to docs/content/administration/backup-and-restore.zh-cn.md index 89ae93923..98d378d5d 100644 --- a/docs/content/doc/administration/backup-and-restore.zh-cn.md +++ b/docs/content/administration/backup-and-restore.zh-cn.md @@ -2,7 +2,7 @@ date: "2018-06-06T09:33:00+08:00" title: "备份与恢复" slug: "backup-and-restore" -weight: 11 +sidebar_position: 11 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "备份与恢复" - weight: 11 + sidebar_position: 11 identifier: "backup-and-restore" --- diff --git a/docs/content/doc/administration/backup-and-restore.zh-tw.md b/docs/content/administration/backup-and-restore.zh-tw.md similarity index 97% rename from docs/content/doc/administration/backup-and-restore.zh-tw.md rename to docs/content/administration/backup-and-restore.zh-tw.md index 07b9b0726..4966ccdc5 100644 --- a/docs/content/doc/administration/backup-and-restore.zh-tw.md +++ b/docs/content/administration/backup-and-restore.zh-tw.md @@ -2,7 +2,7 @@ date: "2017-01-01T16:00:00+02:00" title: "用法: 備份與還原" slug: "backup-and-restore" -weight: 11 +sidebar_position: 11 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "備份與還原" - weight: 11 + sidebar_position: 11 identifier: "backup-and-restore" --- diff --git a/docs/content/doc/administration/cmd-embedded.en-us.md b/docs/content/administration/cmd-embedded.en-us.md similarity index 93% rename from docs/content/doc/administration/cmd-embedded.en-us.md rename to docs/content/administration/cmd-embedded.en-us.md index a58cbbf7f..fabb7148a 100644 --- a/docs/content/doc/administration/cmd-embedded.en-us.md +++ b/docs/content/administration/cmd-embedded.en-us.md @@ -2,7 +2,7 @@ date: "2020-01-25T21:00:00-03:00" title: "Embedded data extraction tool" slug: "cmd-embedded" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,19 +11,15 @@ menu: sidebar: parent: "administration" name: "Embedded data extraction tool" - weight: 20 + sidebar_position: 20 identifier: "cmd-embedded" --- # Embedded data extraction tool -**Table of Contents** - -{{< toc >}} - Gitea's executable contains all the resources required to run: templates, images, style-sheets and translations. Any of them can be overridden by placing a replacement in a matching path -inside the `custom` directory (see [Customizing Gitea]({{< relref "doc/administration/customizing-gitea.en-us.md" >}})). +inside the `custom` directory (see [Customizing Gitea](administration/customizing-gitea.md)). To obtain a copy of the embedded resources ready for editing, the `embedded` command from the CLI can be used from the OS shell interface. @@ -87,7 +83,7 @@ The default is the current directory. The `--custom` flag tells Gitea to extract the files directly into the `custom` directory. For this to work, the command needs to know the location of the `app.ini` configuration file (`--config`) and, depending of the configuration, be ran from the directory where -Gitea normally starts. See [Customizing Gitea]({{< relref "doc/administration/customizing-gitea.en-us.md" >}}) for details. +Gitea normally starts. See [Customizing Gitea](administration/customizing-gitea.md) for details. The `--overwrite` flag allows any existing files in the destination directory to be overwritten. diff --git a/docs/content/doc/administration/cmd-embedded.zh-cn.md b/docs/content/administration/cmd-embedded.zh-cn.md similarity index 92% rename from docs/content/doc/administration/cmd-embedded.zh-cn.md rename to docs/content/administration/cmd-embedded.zh-cn.md index 663d9cdad..27ee61040 100644 --- a/docs/content/doc/administration/cmd-embedded.zh-cn.md +++ b/docs/content/administration/cmd-embedded.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "嵌入资源提取工具" slug: "cmd-embedded" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,17 +11,13 @@ menu: sidebar: parent: "administration" name: "嵌入资源提取工具" - weight: 20 + sidebar_position: 20 identifier: "cmd-embedded" --- # 嵌入资源提取工具 -**目录** - -{{< toc >}} - -Gitea 的可执行文件包含了运行所需的所有资源:模板、图片、样式表和翻译文件。你可以通过在 `custom` 目录下的相应路径中放置替换文件来覆盖其中的任何资源(详见 [自定义 Gitea 配置]({{< relref "doc/administration/customizing-gitea.zh-cn.md" >}}))。 +Gitea 的可执行文件包含了运行所需的所有资源:模板、图片、样式表和翻译文件。你可以通过在 `custom` 目录下的相应路径中放置替换文件来覆盖其中的任何资源(详见 [自定义 Gitea 配置](administration/customizing-gitea.md))。 要获取嵌入资源的副本以进行编辑,可以使用 CLI 中的 `embedded` 命令,通过操作系统的 shell 执行。 @@ -75,7 +71,7 @@ gitea [--config {file}] embedded extract [--destination {dir}|--custom] [--overw `--destination` 选项用于指定提取文件的目标目录。默认为当前目录。 -`--custom` 标志告知 Gitea 直接将文件提取到 `custom` 目录中。为使其正常工作,该命令需要知道 `app.ini` 配置文件的位置(通过 `--config` 指定),并且根据配置的不同,需要从 Gitea 通常启动的目录运行。有关详细信息,请参阅 [自定义 Gitea 配置]({{< relref "doc/administration/customizing-gitea.zh-cn.md" >}})。 +`--custom` 标志告知 Gitea 直接将文件提取到 `custom` 目录中。为使其正常工作,该命令需要知道 `app.ini` 配置文件的位置(通过 `--config` 指定),并且根据配置的不同,需要从 Gitea 通常启动的目录运行。有关详细信息,请参阅 [自定义 Gitea 配置](administration/customizing-gitea.md)。 `--overwrite` 标志允许覆盖目标目录中的任何现有文件。 diff --git a/docs/content/doc/administration/command-line.en-us.md b/docs/content/administration/command-line.en-us.md similarity index 99% rename from docs/content/doc/administration/command-line.en-us.md rename to docs/content/administration/command-line.en-us.md index a977ed3a6..400d9dd87 100644 --- a/docs/content/doc/administration/command-line.en-us.md +++ b/docs/content/administration/command-line.en-us.md @@ -2,7 +2,7 @@ date: "2017-01-01T16:00:00+02:00" title: "Gitea Command Line" slug: "command-line" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Command Line" - weight: 1 + sidebar_position: 1 identifier: "command-line" --- # Command Line -**Table of Contents** - -{{< toc >}} - ## Usage `gitea [global options] command [command or global options] [arguments...]` diff --git a/docs/content/doc/administration/command-line.zh-cn.md b/docs/content/administration/command-line.zh-cn.md similarity index 99% rename from docs/content/doc/administration/command-line.zh-cn.md rename to docs/content/administration/command-line.zh-cn.md index a832cbef9..4b8176322 100644 --- a/docs/content/doc/administration/command-line.zh-cn.md +++ b/docs/content/administration/command-line.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "Gitea 命令行" slug: "command-line" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Gitea 命令行" - weight: 1 + sidebar_position: 1 identifier: "command-line" --- # 命令行 -**目录** - -{{< toc >}} - ## 用法 `gitea [全局选项] 命令 [命令或全局选项] [参数...]` diff --git a/docs/content/doc/administration/config-cheat-sheet.en-us.md b/docs/content/administration/config-cheat-sheet.en-us.md similarity index 92% rename from docs/content/doc/administration/config-cheat-sheet.en-us.md rename to docs/content/administration/config-cheat-sheet.en-us.md index fc2184e88..6d5789ff0 100644 --- a/docs/content/doc/administration/config-cheat-sheet.en-us.md +++ b/docs/content/administration/config-cheat-sheet.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-26T16:00:00+02:00" title: "Config Cheat Sheet" slug: "config-cheat-sheet" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Config Cheat Sheet" - weight: 30 + sidebar_position: 30 identifier: "config-cheat-sheet" --- @@ -35,8 +35,6 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`. **Note:** A full restart is required for Gitea configuration changes to take effect. -{{< toc >}} - ## Default Configuration (non-`app.ini` configuration) These values are environment-dependent but form the basis of a lot of values. They will be @@ -82,7 +80,7 @@ In addition, there is _`StaticRootPath`_ which can be set as a built-in at build - `SCRIPT_TYPE`: **bash**: The script type this server supports. Usually this is `bash`, but some users report that only `sh` is available. - `DETECTED_CHARSETS_ORDER`: **UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, ISO-8859, windows-1252, ISO-8859, windows-1250, ISO-8859, ISO-8859, ISO-8859, windows-1253, ISO-8859, windows-1255, ISO-8859, windows-1251, windows-1256, KOI8-R, ISO-8859, windows-1254, Shift_JIS, GB18030, EUC-JP, EUC-KR, Big5, ISO-2022, ISO-2022, ISO-2022, IBM424_rtl, IBM424_ltr, IBM420_rtl, IBM420_ltr**: Tie-break order of detected charsets - if the detected charsets have equal confidence, charsets earlier in the list will be chosen in preference to those later. Adding `defaults` will place the unnamed charsets at that point. -- `ANSI_CHARSET`: **\**: Default ANSI charset to override non-UTF-8 charsets to. +- `ANSI_CHARSET`: **_empty_**: Default ANSI charset to override non-UTF-8 charsets to. - `FORCE_PRIVATE`: **false**: Force every new repository to be private. - `DEFAULT_PRIVATE`: **last**: Default private when creating a new repository. \[last, private, public\] @@ -97,7 +95,7 @@ In addition, there is _`StaticRootPath`_ which can be set as a built-in at build default SSH port is used. - `GO_GET_CLONE_URL_PROTOCOL`: **https**: Value for the "go get" request returns the repository url as https or ssh default is https. -- `ACCESS_CONTROL_ALLOW_ORIGIN`: **\**: Value for Access-Control-Allow-Origin header, +- `ACCESS_CONTROL_ALLOW_ORIGIN`: **_empty_**: Value for Access-Control-Allow-Origin header, default is not to present. **WARNING**: This maybe harmful to you website if you do not give it a right value. - `DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH`: **false**: Close an issue if a commit on a non default branch marks it as closed. @@ -147,13 +145,13 @@ In addition, there is _`StaticRootPath`_ which can be set as a built-in at build - `ENABLED`: **true**: Whether repository file uploads are enabled - `TEMP_PATH`: **data/tmp/uploads**: Path for uploads (content gets deleted on Gitea restart) -- `ALLOWED_TYPES`: **\**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types. +- `ALLOWED_TYPES`: **_empty_**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types. - `FILE_MAX_SIZE`: **3**: Max size of each file in megabytes. - `MAX_FILES`: **5**: Max number of files per upload ### Repository - Release (`repository.release`) -- `ALLOWED_TYPES`: **\**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types. +- `ALLOWED_TYPES`: **_empty_**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types. - `DEFAULT_PAGING_NUM`: **10**: The default paging number of releases user interface - For settings related to file attachments on releases, see the `attachment` section. @@ -291,7 +289,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a - `ROOT_URL`: **%(PROTOCOL)s://%(DOMAIN)s:%(HTTP\_PORT)s/**: Overwrite the automatically generated public URL. This is useful if the internal and the external URL don't match (e.g. in Docker). -- `STATIC_URL_PREFIX`: **\**: +- `STATIC_URL_PREFIX`: **_empty_**: Overwrite this option to request static resources from a different URL. This includes CSS files, images, JS files and web fonts. Avatar images are dynamic resources and still served by Gitea. @@ -337,7 +335,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a - `SSH_ROOT_PATH`: **~/.ssh**: Root path of SSH directory. - `SSH_CREATE_AUTHORIZED_KEYS_FILE`: **true**: Gitea will create a authorized_keys file by default when it is not using the internal ssh server. If you intend to use the AuthorizedKeysCommand functionality then you should turn this off. - `SSH_AUTHORIZED_KEYS_BACKUP`: **false**: Enable SSH Authorized Key Backup when rewriting all keys, default is false. -- `SSH_TRUSTED_USER_CA_KEYS`: **\**: Specifies the public keys of certificate authorities that are trusted to sign user certificates for authentication. Multiple keys should be comma separated. E.g.`ssh- ` or `ssh- , ssh- `. For more information see `TrustedUserCAKeys` in the sshd config man pages. When empty no file will be created and `SSH_AUTHORIZED_PRINCIPALS_ALLOW` will default to `off`. +- `SSH_TRUSTED_USER_CA_KEYS`: **_empty_**: Specifies the public keys of certificate authorities that are trusted to sign user certificates for authentication. Multiple keys should be comma separated. E.g.`ssh- ` or `ssh- , ssh- `. For more information see `TrustedUserCAKeys` in the sshd config man pages. When empty no file will be created and `SSH_AUTHORIZED_PRINCIPALS_ALLOW` will default to `off`. - `SSH_TRUSTED_USER_CA_KEYS_FILENAME`: **`RUN_USER`/.ssh/gitea-trusted-user-ca-keys.pem**: Absolute path of the `TrustedUserCaKeys` file Gitea will manage. If you're running your own ssh server and you want to use the Gitea managed file you'll also need to modify your sshd_config to point to this file. The official docker image will automatically work without further configuration. - `SSH_AUTHORIZED_PRINCIPALS_ALLOW`: **off** or **username, email**: \[off, username, email, anything\]: Specify the principals values that users are allowed to use as principal. When set to `anything` no checks are done on the principal string. When set to `off` authorized principal are not allowed to be set. - `SSH_CREATE_AUTHORIZED_PRINCIPALS_FILE`: **false/true**: Gitea will create a authorized_principals file by default when it is not using the internal ssh server and `SSH_AUTHORIZED_PRINCIPALS_ALLOW` is not `off`. @@ -348,7 +346,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a - `SSH_SERVER_MACS`: **hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1**: For the built-in SSH server, choose the MACs to support for SSH connections, for system SSH this setting has no effect - `SSH_SERVER_HOST_KEYS`: **ssh/gitea.rsa, ssh/gogs.rsa**: For the built-in SSH server, choose the keypairs to offer as the host key. The private key should be at `SSH_SERVER_HOST_KEY` and the public `SSH_SERVER_HOST_KEY.pub`. Relative paths are made absolute relative to the `APP_DATA_PATH`. If no key exists a 4096 bit RSA key will be created for you. - `SSH_KEY_TEST_PATH`: **/tmp**: Directory to create temporary files in when testing public keys using ssh-keygen, default is the system temporary directory. -- `SSH_KEYGEN_PATH`: **\**: Use `ssh-keygen` to parse public SSH keys. The value is passed to the shell. By default, Gitea does the parsing itself. +- `SSH_KEYGEN_PATH`: **_empty_**: Use `ssh-keygen` to parse public SSH keys. The value is passed to the shell. By default, Gitea does the parsing itself. - `SSH_EXPOSE_ANONYMOUS`: **false**: Enable exposure of SSH clone URL to anonymous visitors, default is false. - `SSH_PER_WRITE_TIMEOUT`: **30s**: Timeout for any write to the SSH connections. (Set to -1 to disable all timeouts.) @@ -367,8 +365,8 @@ The following configuration set `Content-Type: application/vnd.android.package-a - `LANDING_PAGE`: **home**: Landing page for unauthenticated users \[home, explore, organizations, login, **custom**\]. Where custom would instead be any URL such as "/org/repo" or even `https://anotherwebsite.com` - `LFS_START_SERVER`: **false**: Enables Git LFS support. - `LFS_CONTENT_PATH`: **%(APP_DATA_PATH)s/lfs**: Default LFS content path. (if it is on local storage.) **DEPRECATED** use settings in `[lfs]`. -- `LFS_JWT_SECRET`: **\**: LFS authentication secret, change this a unique string. -- `LFS_JWT_SECRET_URI`: **\**: Instead of defining LFS_JWT_SECRET in the configuration, this configuration option can be used to give Gitea a path to a file that contains the secret (example value: `file:/etc/gitea/lfs_jwt_secret`) +- `LFS_JWT_SECRET`: **_empty_**: LFS authentication secret, change this a unique string. +- `LFS_JWT_SECRET_URI`: **_empty_**: Instead of defining LFS_JWT_SECRET in the configuration, this configuration option can be used to give Gitea a path to a file that contains the secret (example value: `file:/etc/gitea/lfs_jwt_secret`) - `LFS_HTTP_AUTH_EXPIRY`: **24h**: LFS authentication validity period in time.Duration, pushes taking longer than this may fail. - `LFS_MAX_FILE_SIZE`: **0**: Maximum allowed LFS file size in bytes (Set to 0 for no limit). - `LFS_LOCKS_PAGING_NUM`: **50**: Maximum number of LFS Locks returned per page. @@ -377,7 +375,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a - `REDIRECTOR_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: expect PROXY protocol header on connections to https redirector. - `PORT_TO_REDIRECT`: **80**: Port for the http redirection service to listen on. Used when `REDIRECT_OTHER_PORT` is true. - `SSL_MIN_VERSION`: **TLSv1.2**: Set the minimum version of ssl support. -- `SSL_MAX_VERSION`: **\**: Set the maximum version of ssl support. +- `SSL_MAX_VERSION`: **_empty_**: Set the maximum version of ssl support. - `SSL_CURVE_PREFERENCES`: **X25519,P256**: Set the preferred curves, - `SSL_CIPHER_SUITES`: **ecdhe_ecdsa_with_aes_256_gcm_sha384,ecdhe_rsa_with_aes_256_gcm_sha384,ecdhe_ecdsa_with_aes_128_gcm_sha256,ecdhe_rsa_with_aes_128_gcm_sha256,ecdhe_ecdsa_with_chacha20_poly1305,ecdhe_rsa_with_chacha20_poly1305**: Set the preferred cipher suites. - If there is no hardware support for AES suites, by default the ChaCha suites will be preferred over the AES suites. @@ -413,11 +411,11 @@ The following configuration set `Content-Type: application/vnd.android.package-a - "ecdhe_rsa_with_chacha20_poly1305" is an alias for "ecdhe_rsa_with_chacha20_poly1305_sha256" - "ecdhe_ecdsa_with_chacha20_poly1305" is alias for "ecdhe_ecdsa_with_chacha20_poly1305_sha256" - `ENABLE_ACME`: **false**: Flag to enable automatic certificate management via an ACME capable Certificate Authority (CA) server (default: Lets Encrypt). If enabled, `CERT_FILE` and `KEY_FILE` are ignored, and the CA must resolve `DOMAIN` to this gitea server. Ensure that DNS records are set and either port `80` or port `443` are accessible by the CA server (the public internet by default), and redirected to the appropriate ports `PORT_TO_REDIRECT` or `HTTP_PORT` respectively. -- `ACME_URL`: **\**: The CA's ACME directory URL, e.g. for a self-hosted [smallstep CA server](https://github.com/smallstep/certificates), it can look like `https://ca.example.com/acme/acme/directory`. If left empty, it defaults to using Let's Encerypt's production CA (check `LETSENCRYPT_ACCEPTTOS` as well). +- `ACME_URL`: **_empty_**: The CA's ACME directory URL, e.g. for a self-hosted [smallstep CA server](https://github.com/smallstep/certificates), it can look like `https://ca.example.com/acme/acme/directory`. If left empty, it defaults to using Let's Encerypt's production CA (check `LETSENCRYPT_ACCEPTTOS` as well). - `ACME_ACCEPTTOS`: **false**: This is an explicit check that you accept the terms of service of the ACME provider. The default is Lets Encrypt [terms of service](https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf). - `ACME_DIRECTORY`: **https**: Directory that the certificate manager will use to cache information such as certs and private keys. -- `ACME_EMAIL`: **\**: Email used for the ACME registration. Usually it is to notify about problems with issued certificates. -- `ACME_CA_ROOT`: **\**: The CA's root certificate. If left empty, it defaults to using the system's trust chain. +- `ACME_EMAIL`: **_empty_**: Email used for the ACME registration. Usually it is to notify about problems with issued certificates. +- `ACME_CA_ROOT`: **_empty_**: The CA's root certificate. If left empty, it defaults to using the system's trust chain. - `ALLOW_GRACEFUL_RESTARTS`: **true**: Perform a graceful restart on SIGHUP - `GRACEFUL_HAMMER_TIME`: **60s**: After a restart the parent process will stop accepting new connections and will allow requests to finish before stopping. Shutdown will be forced if it takes longer than this time. - `STARTUP_TIMEOUT`: **0**: Shutsdown the server if startup takes longer than the provided time. On Windows setting this sends a waithint to the SVC host to tell the SVC host startup may take some time. Please note startup is determined by the opening of the listeners - HTTP/HTTPS/SSH. Indexers may take longer to startup and can have their own timeouts. @@ -428,8 +426,8 @@ The following configuration set `Content-Type: application/vnd.android.package-a - `HOST`: **127.0.0.1:3306**: Database host address and port or absolute path for unix socket \[mysql, postgres\] (ex: /var/run/mysqld/mysqld.sock). - `NAME`: **gitea**: Database name. - `USER`: **root**: Database username. -- `PASSWD`: **\**: Database user password. Use \`your password\` or """your password""" for quoting if you use special characters in the password. -- `SCHEMA`: **\**: For PostgreSQL only, schema to use if different from "public". The schema must exist beforehand, +- `PASSWD`: **_empty_**: Database user password. Use \`your password\` or """your password""" for quoting if you use special characters in the password. +- `SCHEMA`: **_empty_**: For PostgreSQL only, schema to use if different from "public". The schema must exist beforehand, the user must have creation privileges on it, and the user search path must be set to the look into the schema first (e.g. `ALTER USER user SET SEARCH_PATH = schema_name,"$user",public;`). - `SSL_MODE`: **disable**: SSL/TLS encryption mode for connecting to the database. This option is only applied for PostgreSQL and MySQL. @@ -517,7 +515,7 @@ And the following unique queues: - `INSTALL_LOCK`: **false**: Controls access to the installation page. When set to "true", the installation page is not accessible. - `SECRET_KEY`: **\**: Global secret key. This key is VERY IMPORTANT, if you lost it, the data encrypted by it (like 2FA secret) can't be decrypted anymore. -- `SECRET_KEY_URI`: **\**: Instead of defining SECRET_KEY, this option can be used to use the key stored in a file (example value: `file:/etc/gitea/secret_key`). It shouldn't be lost like SECRET_KEY. +- `SECRET_KEY_URI`: **_empty_**: Instead of defining SECRET_KEY, this option can be used to use the key stored in a file (example value: `file:/etc/gitea/secret_key`). It shouldn't be lost like SECRET_KEY. - `LOGIN_REMEMBER_DAYS`: **7**: Cookie lifetime, in days. - `COOKIE_USERNAME`: **gitea\_awesome**: Name of the cookie used to store the current username. - `COOKIE_REMEMBER_NAME`: **gitea\_incredible**: Name of cookie used to store authentication @@ -543,7 +541,7 @@ And the following unique queues: - `ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET`: **true**: Set to `false` to allow local users to push to gitea-repositories without setting up the Gitea environment. This is not recommended and if you want local users to push to Gitea repositories you should set the environment appropriately. - `IMPORT_LOCAL_PATHS`: **false**: Set to `false` to prevent all users (including admin) from importing local path on server. - `INTERNAL_TOKEN`: **\**: Secret used to validate communication within Gitea binary. -- `INTERNAL_TOKEN_URI`: **\**: Instead of defining INTERNAL_TOKEN in the configuration, this configuration option can be used to give Gitea a path to a file that contains the internal token (example value: `file:/etc/gitea/internal_token`) +- `INTERNAL_TOKEN_URI`: **_empty_**: Instead of defining INTERNAL_TOKEN in the configuration, this configuration option can be used to give Gitea a path to a file that contains the internal token (example value: `file:/etc/gitea/internal_token`) - `PASSWORD_HASH_ALGO`: **pbkdf2**: The hash algorithm to use \[argon2, pbkdf2, pbkdf2_v1, pbkdf2_hi, scrypt, bcrypt\], argon2 and scrypt will spend significant amounts of memory. - Note: The default parameters for `pbkdf2` hashing have changed - the previous settings are available as `pbkdf2_v1` but are not recommended. - The hash functions may be tuned by using `$` after the algorithm: @@ -574,23 +572,23 @@ And the following unique queues: ## Camo (`camo`) - `ENABLED`: **false**: Enable media proxy, we support images only at the moment. -- `SERVER_URL`: **\**: URL of camo server, it **is required** if camo is enabled. -- `HMAC_KEY`: **\**: Provide the HMAC key for encoding URLs, it **is required** if camo is enabled. +- `SERVER_URL`: **_empty_**: URL of camo server, it **is required** if camo is enabled. +- `HMAC_KEY`: **_empty_**: Provide the HMAC key for encoding URLs, it **is required** if camo is enabled. - `ALLWAYS`: **false**: Set to true to use camo for both HTTP and HTTPS content, otherwise only non-HTTPS URLs are proxied ## OpenID (`openid`) - `ENABLE_OPENID_SIGNIN`: **false**: Allow authentication in via OpenID. - `ENABLE_OPENID_SIGNUP`: **! DISABLE\_REGISTRATION**: Allow registering via OpenID. -- `WHITELISTED_URIS`: **\**: If non-empty, list of POSIX regex patterns matching +- `WHITELISTED_URIS`: **_empty_**: If non-empty, list of POSIX regex patterns matching OpenID URI's to permit. -- `BLACKLISTED_URIS`: **\**: If non-empty, list of POSIX regex patterns matching +- `BLACKLISTED_URIS`: **_empty_**: If non-empty, list of POSIX regex patterns matching OpenID URI's to block. ## OAuth2 Client (`oauth2_client`) - `REGISTER_EMAIL_CONFIRM`: _[service]_ **REGISTER\_EMAIL\_CONFIRM**: Set this to enable or disable email confirmation of OAuth2 auto-registration. (Overwrites the REGISTER\_EMAIL\_CONFIRM setting of the `[service]` section) -- `OPENID_CONNECT_SCOPES`: **\**: List of additional openid connect scopes. (`openid` is implicitly added) +- `OPENID_CONNECT_SCOPES`: **_empty_**: List of additional openid connect scopes. (`openid` is implicitly added) - `ENABLE_AUTO_REGISTRATION`: **false**: Automatically create user accounts for new oauth2 users. - `USERNAME`: **nickname**: The source of the username for new oauth2 accounts: - userid - use the userid / sub attribute @@ -654,8 +652,8 @@ And the following unique queues: - `ENABLE_TIMETRACKING`: **true**: Enable Timetracking feature. - `DEFAULT_ENABLE_TIMETRACKING`: **true**: Allow repositories to use timetracking by default. - `DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME`: **true**: Only allow users with write permissions to track time. -- `EMAIL_DOMAIN_ALLOWLIST`: **\**: If non-empty, comma separated list of domain names that can only be used to register on this instance, wildcard is supported. -- `EMAIL_DOMAIN_BLOCKLIST`: **\**: If non-empty, comma separated list of domain names that cannot be used to register on this instance, wildcard is supported. +- `EMAIL_DOMAIN_ALLOWLIST`: **_empty_**: If non-empty, comma separated list of domain names that can only be used to register on this instance, wildcard is supported. +- `EMAIL_DOMAIN_BLOCKLIST`: **_empty_**: If non-empty, comma separated list of domain names that cannot be used to register on this instance, wildcard is supported. - `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: Show Registration Button - `SHOW_MILESTONES_DASHBOARD_PAGE`: **true** Enable this to show the milestones dashboard page - a view of all the user's milestones - `AUTO_WATCH_NEW_REPOS`: **true**: Enable this to let all organisation users watch new repos when they are created @@ -699,8 +697,8 @@ Define allowed algorithms and their minimum key length (use -1 to disable a type - Wildcard hosts: `*.mydomain.com`, `192.168.100.*` - `SKIP_TLS_VERIFY`: **false**: Allow insecure certification. - `PAGING_NUM`: **10**: Number of webhook history events that are shown in one page. -- `PROXY_URL`: **\**: Proxy server URL, support http://, https//, socks://, blank will follow environment http_proxy/https_proxy. If not given, will use global proxy setting. -- `PROXY_HOSTS`: **\`**: Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts. If not given, will use global proxy setting. +- `PROXY_URL`: **_empty_**: Proxy server URL, support http://, https//, socks://, blank will follow environment http_proxy/https_proxy. If not given, will use global proxy setting. +- `PROXY_HOSTS`: **_empty_`**: Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts. If not given, will use global proxy setting. ## Mailer (`mailer`) @@ -711,14 +709,14 @@ and [Gitea 1.17 configuration document](https://github.com/go-gitea/gitea/blob/release/v1.17/docs/content/doc/advanced/config-cheat-sheet.en-us.md) - `ENABLED`: **false**: Enable to use a mail service. -- `PROTOCOL`: **\**: Mail server protocol. One of "smtp", "smtps", "smtp+starttls", "smtp+unix", "sendmail", "dummy". _Before 1.18, this was inferred from a combination of `MAILER_TYPE` and `IS_TLS_ENABLED`._ +- `PROTOCOL`: **_empty_**: Mail server protocol. One of "smtp", "smtps", "smtp+starttls", "smtp+unix", "sendmail", "dummy". _Before 1.18, this was inferred from a combination of `MAILER_TYPE` and `IS_TLS_ENABLED`._ - SMTP family, if your provider does not explicitly say which protocol it uses but does provide a port, you can set SMTP_PORT instead and this will be inferred. - **sendmail** Use the operating system's `sendmail` command instead of SMTP. This is common on Linux systems. - **dummy** Send email messages to the log as a testing phase. - Note that enabling sendmail will ignore all other `mailer` settings except `ENABLED`, `FROM`, `SUBJECT_PREFIX` and `SENDMAIL_PATH`. - Enabling dummy will ignore all settings except `ENABLED`, `SUBJECT_PREFIX` and `FROM`. -- `SMTP_ADDR`: **\**: Mail server address. e.g. smtp.gmail.com. For smtp+unix, this should be a path to a unix socket instead. _Before 1.18, this was combined with `SMTP_PORT` under the name `HOST`._ -- `SMTP_PORT`: **\**: Mail server port. If no protocol is specified, it will be inferred by this setting. Common ports are listed below. _Before 1.18, this was combined with `SMTP_ADDR` under the name `HOST`._ +- `SMTP_ADDR`: **_empty_**: Mail server address. e.g. smtp.gmail.com. For smtp+unix, this should be a path to a unix socket instead. _Before 1.18, this was combined with `SMTP_PORT` under the name `HOST`._ +- `SMTP_PORT`: **_empty_**: Mail server port. If no protocol is specified, it will be inferred by this setting. Common ports are listed below. _Before 1.18, this was combined with `SMTP_ADDR` under the name `HOST`._ - 25: insecure SMTP - 465: SMTP Secure - 587: StartTLS @@ -726,16 +724,16 @@ and - `CLIENT_CERT_FILE`: **custom/mailer/cert.pem**: Client certificate file. - `CLIENT_KEY_FILE`: **custom/mailer/key.pem**: Client key file. - `FORCE_TRUST_SERVER_CERT`: **false**: If set to `true`, completely ignores server certificate validation errors. This option is unsafe. Consider adding the certificate to the system trust store instead. -- `USER`: **\**: Username of mailing user (usually the sender's e-mail address). -- `PASSWD`: **\**: Password of mailing user. Use \`your password\` for quoting if you use special characters in the password. - - Please note: authentication is only supported when the SMTP server communication is encrypted with TLS (this can be via `STARTTLS`) or SMTP host is localhost. See [Email Setup]({{< relref "doc/administration/email-setup.en-us.md" >}}) for more information. +- `USER`: **_empty_**: Username of mailing user (usually the sender's e-mail address). +- `PASSWD`: **_empty_**: Password of mailing user. Use \`your password\` for quoting if you use special characters in the password. + - Please note: authentication is only supported when the SMTP server communication is encrypted with TLS (this can be via `STARTTLS`) or SMTP host is localhost. See [Email Setup](administration/email-setup.md) for more information. - `ENABLE_HELO`: **true**: Enable HELO operation. - `HELO_HOSTNAME`: **(retrieved from system)**: HELO hostname. -- `FROM`: **\**: Mail from address, RFC 5322. This can be just an email address, or the "Name" \ format. -- `ENVELOPE_FROM`: **\**: Address set as the From address on the SMTP mail envelope. Set to `<>` to send an empty address. -- `SUBJECT_PREFIX`: **\**: Prefix to be placed before e-mail subject lines. +- `FROM`: **_empty_**: Mail from address, RFC 5322. This can be just an email address, or the "Name" \ format. +- `ENVELOPE_FROM`: **_empty_**: Address set as the From address on the SMTP mail envelope. Set to `<>` to send an empty address. +- `SUBJECT_PREFIX`: **_empty_**: Prefix to be placed before e-mail subject lines. - `SENDMAIL_PATH`: **sendmail**: The location of sendmail on the operating system (can be command or full path). -- `SENDMAIL_ARGS`: **\**: Specify any extra sendmail arguments. (NOTE: you should be aware that email addresses can look like options - if your `sendmail` command takes options you must set the option terminator `--`) +- `SENDMAIL_ARGS`: **_empty_**: Specify any extra sendmail arguments. (NOTE: you should be aware that email addresses can look like options - if your `sendmail` command takes options you must set the option terminator `--`) - `SENDMAIL_TIMEOUT`: **5m**: default timeout for sending email through sendmail - `SENDMAIL_CONVERT_CRLF`: **true**: Most versions of sendmail prefer LF line endings rather than CRLF line endings. Set this to false if your version of sendmail requires CRLF line endings. - `SEND_BUFFER_LEN`: **100**: Buffer length of mailing queue. **DEPRECATED** use `LENGTH` in `[queue.mailer]` @@ -744,11 +742,11 @@ and ## Incoming Email (`email.incoming`) - `ENABLED`: **false**: Enable handling of incoming emails. -- `REPLY_TO_ADDRESS`: **\**: The email address including the `%{token}` placeholder that will be replaced per user/action. Example: `incoming+%{token}@example.com`. The placeholder must appear in the user part of the address (before the `@`). -- `HOST`: **\**: IMAP server host. -- `PORT`: **\**: IMAP server port. -- `USERNAME`: **\**: Username of the receiving account. -- `PASSWORD`: **\**: Password of the receiving account. +- `REPLY_TO_ADDRESS`: **_empty_**: The email address including the `%{token}` placeholder that will be replaced per user/action. Example: `incoming+%{token}@example.com`. The placeholder must appear in the user part of the address (before the `@`). +- `HOST`: **_empty_**: IMAP server host. +- `PORT`: **_empty_**: IMAP server port. +- `USERNAME`: **_empty_**: Username of the receiving account. +- `PASSWORD`: **_empty_**: Password of the receiving account. - `USE_TLS`: **false**: Whether the IMAP server uses TLS. - `SKIP_TLS_VERIFY`: **false**: If set to `true`, completely ignores server certificate validation errors. This option is unsafe. - `MAILBOX`: **INBOX**: The mailbox name where incoming mail will end up. @@ -760,7 +758,7 @@ and - `ENABLED`: **true**: Enable the cache. - `ADAPTER`: **memory**: Cache engine adapter, either `memory`, `redis`, `redis-cluster`, `twoqueue` or `memcache`. (`twoqueue` represents a size limited LRU cache.) - `INTERVAL`: **60**: Garbage Collection interval (sec), for memory and twoqueue cache only. -- `HOST`: **\**: Connection string for `redis`, `redis-cluster` and `memcache`. For `twoqueue` sets configuration for the queue. +- `HOST`: **_empty_**: Connection string for `redis`, `redis-cluster` and `memcache`. For `twoqueue` sets configuration for the queue. - Redis: `redis://:macaron@127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` - Redis-cluster `redis+cluster://:macaron@127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` - Memcache: `127.0.0.1:9090;127.0.0.1:9091` @@ -781,7 +779,7 @@ and - `COOKIE_NAME`: **i\_like\_gitea**: The name of the cookie used for the session ID. - `GC_INTERVAL_TIME`: **86400**: GC interval in seconds. - `SESSION_LIFE_TIME`: **86400**: Session life time in seconds, default is 86400 (1 day) -- `DOMAIN`: **\**: Sets the cookie Domain +- `DOMAIN`: **_empty_**: Sets the cookie Domain - `SAME_SITE`: **lax** \[strict, lax, none\]: Set the SameSite setting for the cookie. ## Picture (`picture`) @@ -836,12 +834,12 @@ Default templates for project boards: ## Log (`log`) -- `ROOT_PATH`: **\**: Root path for log files. +- `ROOT_PATH`: **_empty_**: Root path for log files. - `MODE`: **console**: Logging mode. For multiple modes, use a comma to separate values. You can configure each mode in per mode log subsections `\[log.writer-mode-name\]`. - `LEVEL`: **Info**: General log level. \[Trace, Debug, Info, Warn, Error, Critical, Fatal, None\] - `STACKTRACE_LEVEL`: **None**: Default log level at which to log create stack traces (rarely useful, do not set it). \[Trace, Debug, Info, Warn, Error, Critical, Fatal, None\] - `ENABLE_SSH_LOG`: **false**: save ssh log to log file -- `logger.access.MODE`: **\**: The "access" logger +- `logger.access.MODE`: **_empty_**: The "access" logger - `logger.router.MODE`: **,**: The "router" logger, a single comma means it will use the default MODE above - `logger.xorm.MODE`: **,**: The "xorm" logger @@ -855,7 +853,7 @@ Default templates for project boards: - `ResponseWriter`: the responseWriter from the request. - `RequestID`: the value matching REQUEST_ID_HEADERS(default: `-`, if not matched). - You must be very careful to ensure that this template does not throw errors or panics as this template runs outside the panic/recovery script. -- `REQUEST_ID_HEADERS`: **\**: You can configure multiple values that are splited by comma here. It will match in the order of configuration, and the first match will be finally printed in the access log. +- `REQUEST_ID_HEADERS`: **_empty_**: You can configure multiple values that are splited by comma here. It will match in the order of configuration, and the first match will be finally printed in the access log. - e.g. - In the Request Header: X-Request-ID: **test-id-123** - Configuration in app.ini: REQUEST_ID_HEADERS = X-Request-ID @@ -923,7 +921,7 @@ Default templates for project boards: - `SCHEDULE`: **@midnight**: Cron syntax for scheduling repository health check. - `TIMEOUT`: **60s**: Time duration syntax for health check execution timeout. -- `ARGS`: **\**: Arguments for command `git fsck`, e.g. `--unreachable --tags`. See more on http://git-scm.com/docs/git-fsck +- `ARGS`: **_empty_**: Arguments for command `git fsck`, e.g. `--unreachable --tags`. See more on http://git-scm.com/docs/git-fsck #### Cron - Repository Statistics Check (`cron.check_repo_stats`) @@ -965,7 +963,7 @@ Default templates for project boards: - `SCHEDULE`: **@every 72h**: Cron syntax for scheduling repository archive cleanup, e.g. `@every 1h`. - `TIMEOUT`: **60s**: Time duration syntax for garbage collection execution timeout. - `NOTICE_ON_SUCCESS`: **false**: Set to true to switch on success notices. -- `ARGS`: **\**: Arguments for command `git gc`, e.g. `--aggressive --auto`. The default value is same with [git] -> GC_ARGS +- `ARGS`: **_empty_**: Arguments for command `git gc`, e.g. `--aggressive --auto`. The default value is same with [git] -> GC_ARGS #### Cron - Update the '.ssh/authorized_keys' file with Gitea SSH keys (`cron.resync_all_sshkeys`) @@ -1047,7 +1045,7 @@ Default templates for project boards: - `MAX_GIT_DIFF_FILES`: **100**: Max number of files shown in diff view. - `COMMITS_RANGE_SIZE`: **50**: Set the default commits range size - `BRANCHES_RANGE_SIZE`: **20**: Set the default branches range size -- `GC_ARGS`: **\**: Arguments for command `git gc`, e.g. `--aggressive --auto`. See more on http://git-scm.com/docs/git-gc/ +- `GC_ARGS`: **_empty_**: Arguments for command `git gc`, e.g. `--aggressive --auto`. See more on http://git-scm.com/docs/git-gc/ - `ENABLE_AUTO_GIT_WIRE_PROTOCOL`: **true**: If use Git wire protocol version 2 when Git version >= 2.18, default is true, set to false when you always want Git wire protocol version 1. To enable this for Git over SSH when using a OpenSSH server, add `AcceptEnv GIT_PROTOCOL` to your sshd_config file. - `PULL_REQUEST_PUSH_MESSAGE`: **true**: Respond to pushes to a non-default branch with a URL for creating a Pull Request (if the repository has them enabled) @@ -1080,7 +1078,7 @@ This section only does "set" config, a removed config key from this section won' - `ENABLED`: **false**: Enables /metrics endpoint for prometheus. - `ENABLED_ISSUE_BY_LABEL`: **false**: Enable issue by label metrics with format `gitea_issues_by_label{label="bug"} 2`. - `ENABLED_ISSUE_BY_REPOSITORY`: **false**: Enable issue by repository metrics with format `gitea_issues_by_repository{repository="org/repo"} 5`. -- `TOKEN`: **\**: You need to specify the token, if you want to include in the authorization the metrics . The same token need to be used in prometheus parameters `bearer_token` or `bearer_token_file`. +- `TOKEN`: **_empty_**: You need to specify the token, if you want to include in the authorization the metrics . The same token need to be used in prometheus parameters `bearer_token` or `bearer_token_file`. ## API (`api`) @@ -1097,8 +1095,8 @@ This section only does "set" config, a removed config key from this section won' - `REFRESH_TOKEN_EXPIRATION_TIME`: **730**: Lifetime of an OAuth2 refresh token in hours - `INVALIDATE_REFRESH_TOKENS`: **false**: Check if refresh token has already been used - `JWT_SIGNING_ALGORITHM`: **RS256**: Algorithm used to sign OAuth2 tokens. Valid values: \[`HS256`, `HS384`, `HS512`, `RS256`, `RS384`, `RS512`, `ES256`, `ES384`, `ES512`\] -- `JWT_SECRET`: **\**: OAuth2 authentication secret for access and refresh tokens, change this to a unique string. This setting is only needed if `JWT_SIGNING_ALGORITHM` is set to `HS256`, `HS384` or `HS512`. -- `JWT_SECRET_URI`: **\**: Instead of defining JWT_SECRET in the configuration, this configuration option can be used to give Gitea a path to a file that contains the secret (example value: `file:/etc/gitea/oauth2_jwt_secret`) +- `JWT_SECRET`: **_empty_**: OAuth2 authentication secret for access and refresh tokens, change this to a unique string. This setting is only needed if `JWT_SIGNING_ALGORITHM` is set to `HS256`, `HS384` or `HS512`. +- `JWT_SECRET_URI`: **_empty_**: Instead of defining JWT_SECRET in the configuration, this configuration option can be used to give Gitea a path to a file that contains the secret (example value: `file:/etc/gitea/oauth2_jwt_secret`) - `JWT_SIGNING_PRIVATE_KEY_FILE`: **jwt/private.pem**: Private key file path used to sign OAuth2 tokens. The path is relative to `APP_DATA_PATH`. This setting is only needed if `JWT_SIGNING_ALGORITHM` is set to `RS256`, `RS384`, `RS512`, `ES256`, `ES384` or `ES512`. The file must contain a RSA or ECDSA private key in the PKCS8 format. If no key exists a 4096 bit key will be created for you. - `MAX_TOKEN_LENGTH`: **32767**: Maximum length of token/cookie to accept from OAuth2 provider @@ -1125,7 +1123,7 @@ IS_INPUT_FILE = false - ENABLED: **false** Enable markup support; set to **true** to enable this renderer. - NEED\_POSTPROCESS: **true** set to **true** to replace links / sha1 and etc. -- FILE\_EXTENSIONS: **\** List of file extensions that should be rendered by an external +- FILE\_EXTENSIONS: **_empty_** List of file extensions that should be rendered by an external command. Multiple extensions needs a comma as splitter. - RENDER\_COMMAND: External command to render all matching extensions. - IS\_INPUT\_FILE: **false** Input is not a standard input but a file param followed `RENDER_COMMAND`. @@ -1184,8 +1182,8 @@ Task queue configuration has been moved to `queue.task`. However, the below conf - `MAX_ATTEMPTS`: **3**: Max attempts per http/https request on migrations. - `RETRY_BACKOFF`: **3**: Backoff time per http/https request retry (seconds) -- `ALLOWED_DOMAINS`: **\**: Domains allowlist for migrating repositories, default is blank. It means everything will be allowed. Multiple domains could be separated by commas. Wildcard is supported: `github.com, *.github.com`. -- `BLOCKED_DOMAINS`: **\**: Domains blocklist for migrating repositories, default is blank. Multiple domains could be separated by commas. When `ALLOWED_DOMAINS` is not blank, this option has a higher priority to deny domains. Wildcard is supported. +- `ALLOWED_DOMAINS`: **_empty_**: Domains allowlist for migrating repositories, default is blank. It means everything will be allowed. Multiple domains could be separated by commas. Wildcard is supported: `github.com, *.github.com`. +- `BLOCKED_DOMAINS`: **_empty_**: Domains blocklist for migrating repositories, default is blank. Multiple domains could be separated by commas. When `ALLOWED_DOMAINS` is not blank, this option has a higher priority to deny domains. Wildcard is supported. - `ALLOW_LOCALNETWORKS`: **false**: Allow private addresses defined by RFC 1918, RFC 1122, RFC 4632 and RFC 4291. If a domain is allowed by `ALLOWED_DOMAINS`, this option will be ignored. - `SKIP_TLS_VERIFY`: **false**: Allow skip tls verify @@ -1364,8 +1362,8 @@ is `data/repo-archive` and the default of `MINIO_BASE_PATH` is `repo-archive/`. ## Proxy (`proxy`) - `PROXY_ENABLED`: **false**: Enable the proxy if true, all requests to external via HTTP will be affected, if false, no proxy will be used even environment http_proxy/https_proxy -- `PROXY_URL`: **\**: Proxy server URL, support http://, https//, socks://, blank will follow environment http_proxy/https_proxy -- `PROXY_HOSTS`: **\**: Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts. +- `PROXY_URL`: **_empty_**: Proxy server URL, support http://, https//, socks://, blank will follow environment http_proxy/https_proxy +- `PROXY_HOSTS`: **_empty_**: Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts. i.e. diff --git a/docs/content/doc/administration/config-cheat-sheet.zh-cn.md b/docs/content/administration/config-cheat-sheet.zh-cn.md similarity index 96% rename from docs/content/doc/administration/config-cheat-sheet.zh-cn.md rename to docs/content/administration/config-cheat-sheet.zh-cn.md index d0af323dc..a2fa25df9 100644 --- a/docs/content/doc/administration/config-cheat-sheet.zh-cn.md +++ b/docs/content/administration/config-cheat-sheet.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-26T16:00:00+02:00" title: "配置说明" slug: "config-cheat-sheet" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "配置说明" - weight: 30 + sidebar_position: 30 identifier: "config-cheat-sheet" --- @@ -26,8 +26,6 @@ menu: 此文档的内容可能过于陈旧或者错误,请参考英文文档。 -{{< toc >}} - ## Overall (`DEFAULT`) - `APP_NAME`: 应用名称,改成你希望的名字。 @@ -46,7 +44,7 @@ menu: ### Repository - Release (`repository.release`) -- `ALLOWED_TYPES`: **\**: 允许扩展名的列表,用逗号分隔 (`.zip`), mime 类型 (`text/plain`) 或者匹配符号 (`image/*`, `audio/*`, `video/*`). 空值或者 `*/*` 允许所有类型。 +- `ALLOWED_TYPES`: **_empty_**: 允许扩展名的列表,用逗号分隔 (`.zip`), mime 类型 (`text/plain`) 或者匹配符号 (`image/*`, `audio/*`, `video/*`). 空值或者 `*/*` 允许所有类型。 - `DEFAULT_PAGING_NUM`: **10**: 默认的发布版本页面分页。 ## UI (`ui`) @@ -187,7 +185,7 @@ menu: - `ENABLED`: **true**: 是否启用。 - `ADAPTER`: **memory**: 缓存引擎,可以为 `memory`, `redis` 或 `memcache`。 - `INTERVAL`: **60**: 只对内存缓存有效,GC间隔,单位秒。 -- `HOST`: **\**: 针对redis和memcache有效,主机地址和端口。 +- `HOST`: **_empty_**: 针对redis和memcache有效,主机地址和端口。 - Redis: `network=tcp,addr=127.0.0.1:6379,password=macaron,db=0,pool_size=100,idle_timeout=180` - Memache: `127.0.0.1:9090;127.0.0.1:9091` - `ITEM_TTL`: **16h**: 缓存项目失效时间,设置为 -1 则禁用缓存。 @@ -392,8 +390,8 @@ ALLOW_DATA_URI_IMAGES = true - `MAX_ATTEMPTS`: **3**: 在迁移过程中的 http/https 请求重试次数。 - `RETRY_BACKOFF`: **3**: 等待下一次重试的时间,单位秒。 -- `ALLOWED_DOMAINS`: **\**: 迁移仓库的域名白名单,默认为空,表示允许从任意域名迁移仓库,多个域名用逗号分隔。 -- `BLOCKED_DOMAINS`: **\**: 迁移仓库的域名黑名单,默认为空,多个域名用逗号分隔。如果 `ALLOWED_DOMAINS` 不为空,此选项有更高的优先级拒绝这里的域名。 +- `ALLOWED_DOMAINS`: **_empty_**: 迁移仓库的域名白名单,默认为空,表示允许从任意域名迁移仓库,多个域名用逗号分隔。 +- `BLOCKED_DOMAINS`: **_empty_**: 迁移仓库的域名黑名单,默认为空,多个域名用逗号分隔。如果 `ALLOWED_DOMAINS` 不为空,此选项有更高的优先级拒绝这里的域名。 - `ALLOW_LOCALNETWORKS`: **false**: Allow private addresses defined by RFC 1918 - `SKIP_TLS_VERIFY`: **false**: 允许忽略 TLS 认证 @@ -515,8 +513,8 @@ Repository archive 的存储配置。 如果 `STORAGE_TYPE` 为空,则此配 ## Proxy (`proxy`) - `PROXY_ENABLED`: **false**: 是否启用全局代理。如果为否,则不使用代理,环境变量中的代理也不使用 -- `PROXY_URL`: **\**: 代理服务器地址,支持 http://, https//, socks://,为空则不启用代理而使用环境变量中的 http_proxy/https_proxy -- `PROXY_HOSTS`: **\**: 逗号分隔的多个需要代理的网址,支持 * 号匹配符号, ** 表示匹配所有网站 +- `PROXY_URL`: **_empty_**: 代理服务器地址,支持 http://, https//, socks://,为空则不启用代理而使用环境变量中的 http_proxy/https_proxy +- `PROXY_HOSTS`: **_empty_**: 逗号分隔的多个需要代理的网址,支持 * 号匹配符号, ** 表示匹配所有网站 i.e. diff --git a/docs/content/doc/administration/customizing-gitea.en-us.md b/docs/content/administration/customizing-gitea.en-us.md similarity index 97% rename from docs/content/doc/administration/customizing-gitea.en-us.md rename to docs/content/administration/customizing-gitea.en-us.md index ccc5c1bc8..38bf00bfd 100644 --- a/docs/content/doc/administration/customizing-gitea.en-us.md +++ b/docs/content/administration/customizing-gitea.en-us.md @@ -2,7 +2,7 @@ date: "2017-04-15T14:56:00+02:00" title: "Customizing Gitea" slug: "customizing-gitea" -weight: 100 +sidebar_position: 100 toc: false draft: false aliases: @@ -12,7 +12,7 @@ menu: parent: "administration" name: "Customizing Gitea" identifier: "customizing-gitea" - weight: 100 + sidebar_position: 100 --- # Customizing Gitea @@ -48,10 +48,6 @@ is set under the "Configuration" tab on the site administration page. **Note:** Gitea must perform a full restart to see configuration changes. -**Table of Contents** - -{{< toc >}} - ## Serving custom public files To make Gitea serve custom public files (like pages and images), use the folder @@ -91,7 +87,7 @@ directory at the top of this document). Every single page of Gitea can be changed. Dynamic content is generated using [go templates](https://golang.org/pkg/html/template/), which can be modified by placing replacements below the `$GITEA_CUSTOM/templates` directory. -To obtain any embedded file (including templates), the [`gitea embedded` tool]({{< relref "doc/administration/cmd-embedded.en-us.md" >}}) can be used. Alternatively, they can be found in the [`templates`](https://github.com/go-gitea/gitea/tree/main/templates) directory of Gitea source (Note: the example link is from the `main` branch. Make sure to use templates compatible with the release you are using). +To obtain any embedded file (including templates), the [`gitea embedded` tool](administration/cmd-embedded.md) can be used. Alternatively, they can be found in the [`templates`](https://github.com/go-gitea/gitea/tree/main/templates) directory of Gitea source (Note: the example link is from the `main` branch. Make sure to use templates compatible with the release you are using). Be aware that any statement contained inside `{{` and `}}` are Gitea's template syntax and shouldn't be touched without fully understanding these components. @@ -320,7 +316,7 @@ The [legacy file format](https://github.com/go-gitea/gitea/blob/main/options/lab `#hex-color label name ; label description` -For more information, see the [labels documentation]({{< relref "doc/usage/labels.en-us.md" >}}). +For more information, see the [labels documentation](usage/labels.md). ### Licenses diff --git a/docs/content/doc/administration/customizing-gitea.zh-cn.md b/docs/content/administration/customizing-gitea.zh-cn.md similarity index 98% rename from docs/content/doc/administration/customizing-gitea.zh-cn.md rename to docs/content/administration/customizing-gitea.zh-cn.md index 64115ba17..77b2fd831 100644 --- a/docs/content/doc/administration/customizing-gitea.zh-cn.md +++ b/docs/content/administration/customizing-gitea.zh-cn.md @@ -2,7 +2,7 @@ date: "2017-04-15T14:56:00+02:00" title: "自定义 Gitea 配置" slug: "customizing-gitea" -weight: 100 +sidebar_position: 100 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "自定义 Gitea 配置" - weight: 100 + sidebar_position: 100 identifier: "customizing-gitea" --- diff --git a/docs/content/doc/administration/email-setup.en-us.md b/docs/content/administration/email-setup.en-us.md similarity index 94% rename from docs/content/doc/administration/email-setup.en-us.md rename to docs/content/administration/email-setup.en-us.md index 92ec95cce..2f92e2041 100644 --- a/docs/content/doc/administration/email-setup.en-us.md +++ b/docs/content/administration/email-setup.en-us.md @@ -2,7 +2,7 @@ date: "2019-10-15T10:10:00+05:00" title: "Email setup" slug: "email-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Email setup" - weight: 12 + sidebar_position: 12 identifier: "email-setup" --- # Email setup -**Table of Contents** - -{{< toc >}} - Gitea has mailer functionality for sending transactional emails (such as registration confirmation). It can be configured to either use Sendmail (or compatible MTAs like Postfix and msmtp) or directly use SMTP server. ## Using Sendmail @@ -60,7 +56,7 @@ Restart Gitea for the configuration changes to take effect. To send a test email to validate the settings, go to Gitea > Site Administration > Configuration > SMTP Mailer Configuration. -For the full list of options check the [Config Cheat Sheet]({{< relref "doc/administration/config-cheat-sheet.en-us.md" >}}) +For the full list of options check the [Config Cheat Sheet](administration/config-cheat-sheet.md) Please note: authentication is only supported when the SMTP server communication is encrypted with TLS or `HOST=localhost`. TLS encryption can be through: diff --git a/docs/content/doc/administration/email-setup.zh-cn.md b/docs/content/administration/email-setup.zh-cn.md similarity index 98% rename from docs/content/doc/administration/email-setup.zh-cn.md rename to docs/content/administration/email-setup.zh-cn.md index 0bbeebf2f..e526a9d43 100644 --- a/docs/content/doc/administration/email-setup.zh-cn.md +++ b/docs/content/administration/email-setup.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "Email 设置" slug: "email-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Email 设置" - weight: 12 + sidebar_position: 12 identifier: "email-setup" --- # Email 设置 -**目录** - -{{< toc >}} - Gitea 具有邮件功能,用于发送事务性邮件(例如注册确认邮件)。它可以配置为使用 Sendmail(或兼容的 MTA,例如 Postfix 和 msmtp)或直接使用 SMTP 服务器。 ## 使用 Sendmail diff --git a/docs/content/doc/administration/environment-variables.en-us.md b/docs/content/administration/environment-variables.en-us.md similarity index 96% rename from docs/content/doc/administration/environment-variables.en-us.md rename to docs/content/administration/environment-variables.en-us.md index 261d1bea5..f910cf060 100644 --- a/docs/content/doc/administration/environment-variables.en-us.md +++ b/docs/content/administration/environment-variables.en-us.md @@ -2,7 +2,7 @@ date: "2017-04-08T11:34:00+02:00" title: "Environment variables" slug: "environment-variables" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Environment variables" - weight: 10 + sidebar_position: 10 identifier: "environment-variables" --- # Environment variables -**Table of Contents** - -{{< toc >}} - This is an inventory of Gitea environment variables. They change Gitea behaviour. Initialize them before Gitea command to be effective, for example: diff --git a/docs/content/doc/administration/environment-variables.zh-cn.md b/docs/content/administration/environment-variables.zh-cn.md similarity index 97% rename from docs/content/doc/administration/environment-variables.zh-cn.md rename to docs/content/administration/environment-variables.zh-cn.md index cbc9787c3..25e120bec 100644 --- a/docs/content/doc/administration/environment-variables.zh-cn.md +++ b/docs/content/administration/environment-variables.zh-cn.md @@ -2,7 +2,7 @@ date: "2017-04-08T11:34:00+02:00" title: "环境变量清单" slug: "environment-variables" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "环境变量清单" - weight: 10 + sidebar_position: 10 identifier: "environment-variables" --- diff --git a/docs/content/doc/administration/external-renderers.en-us.md b/docs/content/administration/external-renderers.en-us.md similarity index 98% rename from docs/content/doc/administration/external-renderers.en-us.md rename to docs/content/administration/external-renderers.en-us.md index 2de72c834..f903a7e76 100644 --- a/docs/content/doc/administration/external-renderers.en-us.md +++ b/docs/content/administration/external-renderers.en-us.md @@ -2,7 +2,7 @@ date: "2018-11-23:00:00+02:00" title: "External renderers" slug: "external-renderers" -weight: 60 +sidebar_position: 60 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "External renderers" - weight: 60 + sidebar_position: 60 identifier: "external-renderers" --- # Custom files rendering configuration -**Table of Contents** - -{{< toc >}} - Gitea supports custom file renderings (i.e., Jupyter notebooks, asciidoc, etc.) through external binaries, it is just a matter of: @@ -36,7 +32,7 @@ In order to get file rendering through external binaries, their associated packa If you're using a Docker image, your `Dockerfile` should contain something along this lines: ```docker -FROM gitea/gitea:{{< version >}} +FROM gitea/gitea:@version@ [...] COPY custom/app.ini /data/gitea/conf/app.ini diff --git a/docs/content/doc/administration/external-renderers.zh-cn.md b/docs/content/administration/external-renderers.zh-cn.md similarity index 96% rename from docs/content/doc/administration/external-renderers.zh-cn.md rename to docs/content/administration/external-renderers.zh-cn.md index 26d3fb45d..0b53b4527 100644 --- a/docs/content/doc/administration/external-renderers.zh-cn.md +++ b/docs/content/administration/external-renderers.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "外部渲染器" slug: "external-renderers" -weight: 60 +sidebar_position: 60 toc: false draft: false aliases: @@ -11,23 +11,19 @@ menu: sidebar: parent: "administration" name: "外部渲染器" - weight: 60 + sidebar_position: 60 identifier: "external-renderers" --- # 自定义文件渲染配置 -**目录** - -{{< toc >}} - Gitea 通过外部二进制文件支持自定义文件渲染(例如 Jupyter notebooks、asciidoc 等),只需要进行以下步骤: - 安装外部二进制文件 - 在您的 `app.ini` 文件中添加一些配置 - 重新启动 Gitea 实例 -此功能支持整个文件的渲染。如果您想要在 Markdown 中渲染代码块,您需要使用 JavaScript 进行一些操作。请参阅 [自定义 Gitea 配置]({{< relref "doc/administration/customizing-gitea.zh-cn.md" >}}) 页面上的一些示例。 +此功能支持整个文件的渲染。如果您想要在 Markdown 中渲染代码块,您需要使用 JavaScript 进行一些操作。请参阅 [自定义 Gitea 配置](administration/customizing-gitea.md) 页面上的一些示例。 ## 安装外部二进制文件 @@ -35,7 +31,7 @@ Gitea 通过外部二进制文件支持自定义文件渲染(例如 Jupyter no 如果您正在使用 Docker 镜像,则您的 `Dockerfile` 应该包含以下内容: ```docker -FROM gitea/gitea:{{< version >}} +FROM gitea/gitea:@version@ [...] COPY custom/app.ini /data/gitea/conf/app.ini diff --git a/docs/content/doc/administration/fail2ban-setup.en-us.md b/docs/content/administration/fail2ban-setup.en-us.md similarity index 98% rename from docs/content/doc/administration/fail2ban-setup.en-us.md rename to docs/content/administration/fail2ban-setup.en-us.md index 1638e0dd1..5c0101ef9 100644 --- a/docs/content/doc/administration/fail2ban-setup.en-us.md +++ b/docs/content/administration/fail2ban-setup.en-us.md @@ -2,7 +2,7 @@ date: "2018-05-11T11:00:00+02:00" title: "Fail2ban Setup " slug: "fail2ban-setup" -weight: 16 +sidebar_position: 16 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Fail2ban setup" - weight: 16 + sidebar_position: 16 identifier: "fail2ban-setup" --- diff --git a/docs/content/doc/administration/fail2ban-setup.zh-cn.md b/docs/content/administration/fail2ban-setup.zh-cn.md similarity index 98% rename from docs/content/doc/administration/fail2ban-setup.zh-cn.md rename to docs/content/administration/fail2ban-setup.zh-cn.md index f4f3cff4c..2ca0b3a79 100644 --- a/docs/content/doc/administration/fail2ban-setup.zh-cn.md +++ b/docs/content/administration/fail2ban-setup.zh-cn.md @@ -2,7 +2,7 @@ date: "2022-08-01T00:00:00+00:00" title: "设置 Fail2ban" slug: "fail2ban-setup" -weight: 16 +sidebar_position: 16 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "设置 Fail2ban" - weight: 16 + sidebar_position: 16 identifier: "fail2ban-setup" --- diff --git a/docs/content/doc/administration/git-lfs-support.en-us.md b/docs/content/administration/git-lfs-support.en-us.md similarity index 93% rename from docs/content/doc/administration/git-lfs-support.en-us.md rename to docs/content/administration/git-lfs-support.en-us.md index 884b19896..d2c55a29f 100644 --- a/docs/content/doc/administration/git-lfs-support.en-us.md +++ b/docs/content/administration/git-lfs-support.en-us.md @@ -2,7 +2,7 @@ date: "2019-10-06T08:00:00+05:00" title: "Git LFS setup" slug: "git-lfs-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Git LFS setup" - weight: 12 + sidebar_position: 12 identifier: "git-lfs-setup" --- diff --git a/docs/content/doc/administration/git-lfs-support.zh-cn.md b/docs/content/administration/git-lfs-support.zh-cn.md similarity index 93% rename from docs/content/doc/administration/git-lfs-support.zh-cn.md rename to docs/content/administration/git-lfs-support.zh-cn.md index 247e9a477..268f40f3f 100644 --- a/docs/content/doc/administration/git-lfs-support.zh-cn.md +++ b/docs/content/administration/git-lfs-support.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "Git LFS 设置" slug: "git-lfs-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Git LFS 设置" - weight: 12 + sidebar_position: 12 identifier: "git-lfs-setup" --- diff --git a/docs/content/doc/administration/https-support.en-us.md b/docs/content/administration/https-support.en-us.md similarity index 96% rename from docs/content/doc/administration/https-support.en-us.md rename to docs/content/administration/https-support.en-us.md index d59ae2e8e..6441663c8 100644 --- a/docs/content/doc/administration/https-support.en-us.md +++ b/docs/content/administration/https-support.en-us.md @@ -2,7 +2,7 @@ date: "2018-06-02T11:00:00+02:00" title: "HTTPS setup" slug: "https-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,22 +11,18 @@ menu: sidebar: parent: "administration" name: "HTTPS setup" - weight: 12 + sidebar_position: 12 identifier: "https-setup" --- # HTTPS setup to encrypt connections to Gitea -**Table of Contents** - -{{< toc >}} - ## Using the built-in server Before you enable HTTPS, make sure that you have valid SSL/TLS certificates. You could use self-generated certificates for evaluation and testing. Please run `gitea cert --host [HOST]` to generate a self signed certificate. -If you are using Apache or nginx on the server, it's recommended to check the [reverse proxy guide]({{< relref "doc/administration/reverse-proxies.en-us.md" >}}). +If you are using Apache or nginx on the server, it's recommended to check the [reverse proxy guide](administration/reverse-proxies.md). To use Gitea's built-in HTTPS support, you must change your `app.ini` file: diff --git a/docs/content/doc/administration/https-support.zh-cn.md b/docs/content/administration/https-support.zh-cn.md similarity index 96% rename from docs/content/doc/administration/https-support.zh-cn.md rename to docs/content/administration/https-support.zh-cn.md index c67776b9e..124242f74 100644 --- a/docs/content/doc/administration/https-support.zh-cn.md +++ b/docs/content/administration/https-support.zh-cn.md @@ -2,29 +2,25 @@ date: "2023-04-09T11:00:00+02:00" title: "HTTPS配置" slug: "https-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false menu: sidebar: parent: "administration" name: "HTTPS setup" - weight: 12 + sidebar_position: 12 identifier: "https-setup" --- # HTTPS setup to encrypt connections to Gitea -**Table of Contents** - -{{< toc >}} - ## 使用内置服务器 在启用HTTPS之前,确保您拥有有效的SSL/TLS证书。 建议在测试和评估情况下使用自签名证书,请运行 `gitea cert --host [HOST]` 以生成自签名证书 -如果您在服务器上使用阿帕奇(Apache)或Nginx,建议参考 [反向代理指南]({{< relref "doc/administration/reverse-proxies.zh-cn.md" >}})。 +如果您在服务器上使用阿帕奇(Apache)或Nginx,建议参考 [反向代理指南](administration/reverse-proxies.md)。 要使用Gitea内置HTTPS支持,您必须编辑`app.ini`文件。 diff --git a/docs/content/doc/administration/logging-config.en-us.md b/docs/content/administration/logging-config.en-us.md similarity index 97% rename from docs/content/doc/administration/logging-config.en-us.md rename to docs/content/administration/logging-config.en-us.md index 857eb19b5..d9739e188 100644 --- a/docs/content/doc/administration/logging-config.en-us.md +++ b/docs/content/administration/logging-config.en-us.md @@ -2,7 +2,7 @@ date: "2019-04-02T17:06:00+01:00" title: "Logging Configuration" slug: "logging-config" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Logging Configuration" - weight: 40 + sidebar_position: 40 identifier: "logging-config" --- @@ -25,13 +25,9 @@ The logging configuration of Gitea mainly consists of 3 types of components: There is a fully functional log output by default, so it is not necessary to define one. -**Table of Contents** - -{{< toc >}} - ## Collecting Logs for Help -To collect logs for help and issue report, see [Support Options]({{< relref "doc/help/support.en-us.md" >}}). +To collect logs for help and issue report, see [Support Options](help/support.md). ## The `[log]` section @@ -47,7 +43,7 @@ In the top level `[log]` section the following configurations can be placed: And it can contain the following sub-loggers: - `logger.router.MODE`: (Default: **,**): List of log outputs to use for the Router logger. -- `logger.access.MODE`: (Default: **\**) List of log outputs to use for the Access logger. By default, the access logger is disabled. +- `logger.access.MODE`: (Default: **_empty_**) List of log outputs to use for the Access logger. By default, the access logger is disabled. - `logger.xorm.MODE`: (Default: **,**) List of log outputs to use for the XORM logger. Setting a comma (`,`) to sub-logger's mode means making it use the default global `MODE`. diff --git a/docs/content/doc/administration/logging-config.zh-cn.md b/docs/content/administration/logging-config.zh-cn.md similarity index 97% rename from docs/content/doc/administration/logging-config.zh-cn.md rename to docs/content/administration/logging-config.zh-cn.md index 1edf1443c..273a41359 100644 --- a/docs/content/doc/administration/logging-config.zh-cn.md +++ b/docs/content/administration/logging-config.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "日志配置" slug: "logging-config" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "日志配置" - weight: 40 + sidebar_position: 40 identifier: "logging-config" --- @@ -25,13 +25,9 @@ Gitea 的日志配置主要由以下三种类型的组件组成: 默认情况下,已经有一个完全功能的日志输出,因此不需要重新定义。 -**目录** - -{{< toc >}} - ## 收集日志以获取帮助 -要收集日志以获取帮助和报告问题,请参阅 [需要帮助]({{< relref "doc/help/support.zh-cn.md" >}})。 +要收集日志以获取帮助和报告问题,请参阅 [需要帮助](help/support.md)。 ## `[log]` 部分 @@ -47,7 +43,7 @@ Gitea 的日志配置主要由以下三种类型的组件组成: 它还可以包含以下子日志记录器: - `logger.router.MODE`:(默认值:**,**):用于路由器日志记录器的日志输出列表。 -- `logger.access.MODE`:(默认值:**\**):用于访问日志记录器的日志输出列表。默认情况下,访问日志记录器被禁用。 +- `logger.access.MODE`:(默认值:**_empty_**):用于访问日志记录器的日志输出列表。默认情况下,访问日志记录器被禁用。 - `logger.xorm.MODE`:(默认值:**,**):用于 XORM 日志记录器的日志输出列表。 将子日志记录器的模式设置为逗号(`,`)表示使用默认的全局 `MODE`。 diff --git a/docs/content/doc/administration/mail-templates.en-us.md b/docs/content/administration/mail-templates.en-us.md similarity index 99% rename from docs/content/doc/administration/mail-templates.en-us.md rename to docs/content/administration/mail-templates.en-us.md index 0740ccaa5..d66108f26 100644 --- a/docs/content/doc/administration/mail-templates.en-us.md +++ b/docs/content/administration/mail-templates.en-us.md @@ -2,7 +2,7 @@ date: "2019-10-23T17:00:00-03:00" title: "Mail templates" slug: "mail-templates" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Mail templates" - weight: 45 + sidebar_position: 45 identifier: "mail-templates" --- # Mail templates -**Table of Contents** - -{{< toc >}} - To craft the e-mail subject and contents for certain operations, Gitea can be customized by using templates. The templates for these functions are located under the [`custom` directory](https://docs.gitea.io/en-us/customizing-gitea/). Gitea has an internal template that serves as default in case there's no custom alternative. diff --git a/docs/content/doc/administration/mail-templates.zh-cn.md b/docs/content/administration/mail-templates.zh-cn.md similarity index 99% rename from docs/content/doc/administration/mail-templates.zh-cn.md rename to docs/content/administration/mail-templates.zh-cn.md index 3b0309009..49f8b9778 100644 --- a/docs/content/doc/administration/mail-templates.zh-cn.md +++ b/docs/content/administration/mail-templates.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "邮件模板" slug: "mail-templates" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "邮件模板" - weight: 45 + sidebar_position: 45 identifier: "mail-templates" --- # 邮件模板 -**目录** - -{{< toc >}} - 为了定制特定操作的电子邮件主题和内容,可以使用模板来自定义 Gitea。这些功能的模板位于 [`custom` 目录](https://docs.gitea.io/en-us/customizing-gitea/) 下。 如果没有自定义的替代方案,Gitea 将使用内部模板作为默认模板。 diff --git a/docs/content/doc/administration/repo-indexer.en-us.md b/docs/content/administration/repo-indexer.en-us.md similarity index 97% rename from docs/content/doc/administration/repo-indexer.en-us.md rename to docs/content/administration/repo-indexer.en-us.md index a1980bc5f..71eb4ffbc 100644 --- a/docs/content/doc/administration/repo-indexer.en-us.md +++ b/docs/content/administration/repo-indexer.en-us.md @@ -2,7 +2,7 @@ date: "2019-09-06T01:35:00-03:00" title: "Repository indexer" slug: "repo-indexer" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Repository indexer" - weight: 45 + sidebar_position: 45 identifier: "repo-indexer" --- # Repository indexer -**Table of Contents** - -{{< toc >}} - ## Setting up the repository indexer Gitea can search through the files of the repositories by enabling this function in your [`app.ini`](https://docs.gitea.io/en-us/config-cheat-sheet/): diff --git a/docs/content/doc/administration/repo-indexer.zh-cn.md b/docs/content/administration/repo-indexer.zh-cn.md similarity index 97% rename from docs/content/doc/administration/repo-indexer.zh-cn.md rename to docs/content/administration/repo-indexer.zh-cn.md index 621710e36..157bfd97f 100644 --- a/docs/content/doc/administration/repo-indexer.zh-cn.md +++ b/docs/content/administration/repo-indexer.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "仓库索引器" slug: "repo-indexer" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "仓库索引器" - weight: 45 + sidebar_position: 45 identifier: "repo-indexer" --- # 仓库索引器 -**目录** - -{{< toc >}} - ## 设置仓库索引器 通过在您的 [`app.ini`](https://docs.gitea.io/en-us/config-cheat-sheet/) 中启用此功能,Gitea 可以通过仓库的文件进行搜索: diff --git a/docs/content/doc/administration/reverse-proxies.en-us.md b/docs/content/administration/reverse-proxies.en-us.md similarity index 99% rename from docs/content/doc/administration/reverse-proxies.en-us.md rename to docs/content/administration/reverse-proxies.en-us.md index 7272eb5aa..ca0663646 100644 --- a/docs/content/doc/administration/reverse-proxies.en-us.md +++ b/docs/content/administration/reverse-proxies.en-us.md @@ -2,7 +2,7 @@ date: "2018-05-22T11:00:00+00:00" title: "Reverse Proxies" slug: "reverse-proxies" -weight: 16 +sidebar_position: 16 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "Reverse Proxies" - weight: 16 + sidebar_position: 16 identifier: "reverse-proxies" --- # Reverse Proxies -**Table of Contents** - -{{< toc >}} - ## Nginx If you want Nginx to serve your Gitea instance, add the following `server` section to the `http` section of `nginx.conf`: diff --git a/docs/content/doc/administration/reverse-proxies.zh-cn.md b/docs/content/administration/reverse-proxies.zh-cn.md similarity index 98% rename from docs/content/doc/administration/reverse-proxies.zh-cn.md rename to docs/content/administration/reverse-proxies.zh-cn.md index 63c7c2498..4c7de782c 100644 --- a/docs/content/doc/administration/reverse-proxies.zh-cn.md +++ b/docs/content/administration/reverse-proxies.zh-cn.md @@ -2,7 +2,7 @@ date: "2018-05-22T11:00:00+00:00" title: "反向代理" slug: "reverse-proxies" -weight: 16 +sidebar_position: 16 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "反向代理" - weight: 16 + sidebar_position: 16 identifier: "reverse-proxies" --- # 反向代理 -**目录** - -{{< toc >}} - ## 使用 Nginx 作为反向代理服务 如果您想使用 Nginx 作为 Gitea 的反向代理服务,您可以参照以下 `nginx.conf` 配置中 `server` 的 `http` 部分: diff --git a/docs/content/doc/administration/search-engines-indexation.en-us.md b/docs/content/administration/search-engines-indexation.en-us.md similarity index 91% rename from docs/content/doc/administration/search-engines-indexation.en-us.md rename to docs/content/administration/search-engines-indexation.en-us.md index 27427531c..7898e8146 100644 --- a/docs/content/doc/administration/search-engines-indexation.en-us.md +++ b/docs/content/administration/search-engines-indexation.en-us.md @@ -2,7 +2,7 @@ date: "2019-12-31T13:55:00+05:00" title: "Search Engines Indexation" slug: "search-engines-indexation" -weight: 60 +sidebar_position: 60 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "Search Engines Indexation" - weight: 60 + sidebar_position: 60 identifier: "search-engines-indexation" --- @@ -23,7 +23,7 @@ If you don't want your repository to be visible for search engines read further. ## Block search engines indexation using robots.txt To make Gitea serve a custom `robots.txt` (default: empty 404) for top level installations, -create a file called `robots.txt` in the [`custom` folder or `CustomPath`]({{< relref "doc/administration/customizing-gitea.en-us.md" >}}) +create a file called `robots.txt` in the [`custom` folder or `CustomPath`](administration/customizing-gitea.md) Examples on how to configure the `robots.txt` can be found at [https://moz.com/learn/seo/robotstxt](https://moz.com/learn/seo/robotstxt). diff --git a/docs/content/doc/administration/search-engines-indexation.zh-cn.md b/docs/content/administration/search-engines-indexation.zh-cn.md similarity index 87% rename from docs/content/doc/administration/search-engines-indexation.zh-cn.md rename to docs/content/administration/search-engines-indexation.zh-cn.md index 4f9d18af7..77ad5eca2 100644 --- a/docs/content/doc/administration/search-engines-indexation.zh-cn.md +++ b/docs/content/administration/search-engines-indexation.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "搜索引擎索引" slug: "search-engines-indexation" -weight: 60 +sidebar_position: 60 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "administration" name: "搜索引擎索引" - weight: 60 + sidebar_position: 60 identifier: "search-engines-indexation" --- @@ -22,7 +22,7 @@ menu: ## 使用 robots.txt 阻止搜索引擎索引 -为了使 Gitea 为顶级安装提供自定义的`robots.txt`(默认为空的 404),请在[`custom`文件夹或`CustomPath`]({{< relref "doc/administration/customizing-gitea.zh-cn.md" >}})中创建一个名为 `robots.txt` 的文件。 +为了使 Gitea 为顶级安装提供自定义的`robots.txt`(默认为空的 404),请在[`custom`文件夹或`CustomPath`](administration/customizing-gitea.md)中创建一个名为 `robots.txt` 的文件。 有关如何配置 `robots.txt` 的示例,请参考 [https://moz.com/learn/seo/robotstxt](https://moz.com/learn/seo/robotstxt)。 diff --git a/docs/content/doc/administration/signing.en-us.md b/docs/content/administration/signing.en-us.md similarity index 98% rename from docs/content/doc/administration/signing.en-us.md rename to docs/content/administration/signing.en-us.md index de539e34b..837af14bb 100644 --- a/docs/content/doc/administration/signing.en-us.md +++ b/docs/content/administration/signing.en-us.md @@ -2,7 +2,7 @@ date: "2019-08-17T10:20:00+01:00" title: "GPG Commit Signatures" slug: "signing" -weight: 50 +sidebar_position: 50 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "GPG Commit Signatures" - weight: 50 + sidebar_position: 50 identifier: "signing" --- # GPG Commit Signatures -**Table of Contents** - -{{< toc >}} - Gitea will verify GPG commit signatures in the provided tree by checking if the commits are signed by a key within the Gitea database, or if the commit matches the default key for Git. diff --git a/docs/content/doc/administration/signing.zh-cn.md b/docs/content/administration/signing.zh-cn.md similarity index 99% rename from docs/content/doc/administration/signing.zh-cn.md rename to docs/content/administration/signing.zh-cn.md index 41c3e6781..5910b1bf7 100644 --- a/docs/content/doc/administration/signing.zh-cn.md +++ b/docs/content/administration/signing.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "GPG 提交签名" slug: "signing" -weight: 50 +sidebar_position: 50 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "administration" name: "GPG 提交签名" - weight: 50 + sidebar_position: 50 identifier: "signing" --- # GPG 提交签名 -**目录** - -{{< toc >}} - Gitea 将通过检查提交是否由 Gitea 数据库中的密钥签名,或者提交是否与 Git 的默认密钥匹配,来验证提供的树中的 GPG 提交签名。 密钥不会被检查以确定它们是否已过期或撤销。密钥也不会与密钥服务器进行检查。 diff --git a/docs/content/doc/contributing.en-us.md b/docs/content/contributing.en-us.md similarity index 79% rename from docs/content/doc/contributing.en-us.md rename to docs/content/contributing.en-us.md index 6cc96d91b..8cd2e2bd8 100644 --- a/docs/content/doc/contributing.en-us.md +++ b/docs/content/contributing.en-us.md @@ -2,12 +2,12 @@ date: "2021-01-22T00:00:00+02:00" title: "Contributing" slug: "contributing" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "Contributing" - weight: 50 + sidebar_position: 50 identifier: "contributing" --- diff --git a/docs/content/doc/contributing.fr-fr.md b/docs/content/contributing.fr-fr.md similarity index 79% rename from docs/content/doc/contributing.fr-fr.md rename to docs/content/contributing.fr-fr.md index 317566832..9dc4aa6ca 100644 --- a/docs/content/doc/contributing.fr-fr.md +++ b/docs/content/contributing.fr-fr.md @@ -2,12 +2,12 @@ date: "2021-01-22T00:00:00+02:00" title: "Übersetzung" slug: "contributing" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "Übersetzung" - weight: 50 + sidebar_position: 50 identifier: "contributing" --- diff --git a/docs/content/doc/contributing.zh-tw.md b/docs/content/contributing.zh-tw.md similarity index 78% rename from docs/content/doc/contributing.zh-tw.md rename to docs/content/contributing.zh-tw.md index 73a3f94a7..0c715eefe 100644 --- a/docs/content/doc/contributing.zh-tw.md +++ b/docs/content/contributing.zh-tw.md @@ -2,12 +2,12 @@ date: "2021-01-22T00:00:00+02:00" title: "貢獻" slug: "contributing" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "貢獻" - weight: 50 + sidebar_position: 50 identifier: "contributing" --- diff --git a/docs/content/doc/contributing/_index.de-de.md b/docs/content/contributing/_index.de-de.md similarity index 100% rename from docs/content/doc/contributing/_index.de-de.md rename to docs/content/contributing/_index.de-de.md diff --git a/docs/content/doc/contributing/_index.en-us.md b/docs/content/contributing/_index.en-us.md similarity index 100% rename from docs/content/doc/contributing/_index.en-us.md rename to docs/content/contributing/_index.en-us.md diff --git a/docs/content/doc/contributing/_index.zh-cn.md b/docs/content/contributing/_index.zh-cn.md similarity index 100% rename from docs/content/doc/contributing/_index.zh-cn.md rename to docs/content/contributing/_index.zh-cn.md diff --git a/docs/content/doc/contributing/_index.zh-tw.md b/docs/content/contributing/_index.zh-tw.md similarity index 100% rename from docs/content/doc/contributing/_index.zh-tw.md rename to docs/content/contributing/_index.zh-tw.md diff --git a/docs/content/doc/contributing/guidelines-backend.en-us.md b/docs/content/contributing/guidelines-backend.en-us.md similarity index 99% rename from docs/content/doc/contributing/guidelines-backend.en-us.md rename to docs/content/contributing/guidelines-backend.en-us.md index 283fbdf3a..084b3886e 100644 --- a/docs/content/doc/contributing/guidelines-backend.en-us.md +++ b/docs/content/contributing/guidelines-backend.en-us.md @@ -2,7 +2,7 @@ date: "2021-11-01T23:41:00+08:00" title: "Guidelines for Backend Development" slug: "guidelines-backend" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "contributing" name: "Guidelines for Backend" - weight: 20 + sidebar_position: 20 identifier: "guidelines-backend" --- # Guidelines for Backend Development -**Table of Contents** - -{{< toc >}} - ## Background Gitea uses Golang as the backend programming language. It uses many third-party packages and also write some itself. diff --git a/docs/content/doc/contributing/guidelines-backend.zh-cn.md b/docs/content/contributing/guidelines-backend.zh-cn.md similarity index 99% rename from docs/content/doc/contributing/guidelines-backend.zh-cn.md rename to docs/content/contributing/guidelines-backend.zh-cn.md index c94d4305e..33129dc08 100644 --- a/docs/content/doc/contributing/guidelines-backend.zh-cn.md +++ b/docs/content/contributing/guidelines-backend.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-25T23:41:00+08:00" title: "后端开发指南" slug: "guidelines-backend" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "contributing" name: "后端开发指南" - weight: 20 + sidebar_position: 20 identifier: "guidelines-backend" --- # 后端开发指南 -**目录** - -{{< toc >}} - ## 背景 Gitea使用Golang作为后端编程语言。它使用了许多第三方包,并且自己也编写了一些包。 diff --git a/docs/content/doc/contributing/guidelines-frontend.en-us.md b/docs/content/contributing/guidelines-frontend.en-us.md similarity index 98% rename from docs/content/doc/contributing/guidelines-frontend.en-us.md rename to docs/content/contributing/guidelines-frontend.en-us.md index fcbd81b26..3ec18518c 100644 --- a/docs/content/doc/contributing/guidelines-frontend.en-us.md +++ b/docs/content/contributing/guidelines-frontend.en-us.md @@ -2,7 +2,7 @@ date: "2021-10-13T16:00:00+02:00" title: "Guidelines for Frontend Development" slug: "guidelines-frontend" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "contributing" name: "Guidelines for Frontend" - weight: 30 + sidebar_position: 30 identifier: "guidelines-frontend" --- # Guidelines for Frontend Development -**Table of Contents** - -{{< toc >}} - ## Background Gitea uses [Fomantic-UI](https://fomantic-ui.com/introduction/getting-started.html) (based on [jQuery](https://api.jquery.com)) and [Vue3](https://vuejs.org/) for its frontend. diff --git a/docs/content/doc/contributing/guidelines-frontend.zh-cn.md b/docs/content/contributing/guidelines-frontend.zh-cn.md similarity index 99% rename from docs/content/doc/contributing/guidelines-frontend.zh-cn.md rename to docs/content/contributing/guidelines-frontend.zh-cn.md index 3a58db0c7..66a4d4b4d 100644 --- a/docs/content/doc/contributing/guidelines-frontend.zh-cn.md +++ b/docs/content/contributing/guidelines-frontend.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-25T16:00:00+02:00" title: "前端开发指南" slug: "guidelines-frontend" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "contributing" name: "前端开发指南" - weight: 20 + sidebar_position: 20 identifier: "guidelines-frontend" --- # 前端开发指南 -**目录** - -{{< toc >}} - ## 背景 Gitea 在其前端中使用[Fomantic-UI](https://fomantic-ui.com/introduction/getting-started.html)(基于[jQuery](https://api.jquery.com))和 [Vue3](https://vuejs.org/)。 diff --git a/docs/content/doc/contributing/guidelines-refactoring.en-us.md b/docs/content/contributing/guidelines-refactoring.en-us.md similarity index 97% rename from docs/content/doc/contributing/guidelines-refactoring.en-us.md rename to docs/content/contributing/guidelines-refactoring.en-us.md index dce2845de..5d368a120 100644 --- a/docs/content/doc/contributing/guidelines-refactoring.en-us.md +++ b/docs/content/contributing/guidelines-refactoring.en-us.md @@ -2,7 +2,7 @@ date: "2023-02-14T00:00:00+00:00" title: "Guidelines for Refactoring" slug: "guidelines-refactoring" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "contributing" name: "Guidelines for Refactoring" - weight: 40 + sidebar_position: 40 identifier: "guidelines-refactoring" --- # Guidelines for Refactoring -**Table of Contents** - -{{< toc >}} - ## Background Since the first line of code was written at Feb 12, 2014, Gitea has grown to be a large project. diff --git a/docs/content/doc/contributing/guidelines-refactoring.zh-cn.md b/docs/content/contributing/guidelines-refactoring.zh-cn.md similarity index 97% rename from docs/content/doc/contributing/guidelines-refactoring.zh-cn.md rename to docs/content/contributing/guidelines-refactoring.zh-cn.md index 9356fbd11..d65fe486d 100644 --- a/docs/content/doc/contributing/guidelines-refactoring.zh-cn.md +++ b/docs/content/contributing/guidelines-refactoring.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-25T00:00:00+00:00" title: "重构指南" slug: "guidelines-refactoring" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "contributing" name: "重构指南" - weight: 20 + sidebar_position: 20 identifier: "guidelines-refactoring" --- # 重构指南 -**目录** - -{{< toc >}} - ## 背景 自2014年2月12日编写了第一行代码以来,Gitea已经发展成为一个庞大的项目。 diff --git a/docs/content/doc/contributing/localization.de-de.md b/docs/content/contributing/localization.de-de.md similarity index 97% rename from docs/content/doc/contributing/localization.de-de.md rename to docs/content/contributing/localization.de-de.md index c4dcb6caf..074117924 100644 --- a/docs/content/doc/contributing/localization.de-de.md +++ b/docs/content/contributing/localization.de-de.md @@ -2,14 +2,14 @@ date: "2021-01-22T00:00:00+02:00" title: "Übersetzungs Richtlinien" slug: "localization" -weight: 70 +sidebar_position: 70 toc: false draft: false menu: sidebar: parent: "contributing" name: "Übersetzungsrichtlinien" - weight: 70 + sidebar_position: 70 identifier: "localization" --- diff --git a/docs/content/doc/contributing/localization.en-us.md b/docs/content/contributing/localization.en-us.md similarity index 96% rename from docs/content/doc/contributing/localization.en-us.md rename to docs/content/contributing/localization.en-us.md index c9591254c..05ff5ee12 100644 --- a/docs/content/doc/contributing/localization.en-us.md +++ b/docs/content/contributing/localization.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Localization" slug: "localization" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "contributing" name: "Localization" - weight: 70 + sidebar_position: 70 identifier: "localization" --- diff --git a/docs/content/doc/contributing/localization.zh-cn.md b/docs/content/contributing/localization.zh-cn.md similarity index 95% rename from docs/content/doc/contributing/localization.zh-cn.md rename to docs/content/contributing/localization.zh-cn.md index 659a47332..9f2353e0e 100644 --- a/docs/content/doc/contributing/localization.zh-cn.md +++ b/docs/content/contributing/localization.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "本地化" slug: "localization" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "contributing" name: "本地化" - weight: 70 + sidebar_position: 70 identifier: "localization" --- diff --git a/docs/content/doc/contributing/localization.zh-tw.md b/docs/content/contributing/localization.zh-tw.md similarity index 95% rename from docs/content/doc/contributing/localization.zh-tw.md rename to docs/content/contributing/localization.zh-tw.md index 43c678000..b045d26be 100644 --- a/docs/content/doc/contributing/localization.zh-tw.md +++ b/docs/content/contributing/localization.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "在地化" slug: "localization" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "contributing" name: "在地化" - weight: 70 + sidebar_position: 70 identifier: "localization" --- diff --git a/docs/content/doc/contributing/translation.zh-cn.md b/docs/content/contributing/translation.zh-cn.md similarity index 87% rename from docs/content/doc/contributing/translation.zh-cn.md rename to docs/content/contributing/translation.zh-cn.md index 8082c30be..80ce6fd74 100644 --- a/docs/content/doc/contributing/translation.zh-cn.md +++ b/docs/content/contributing/translation.zh-cn.md @@ -1,14 +1,14 @@ --- date: "2023-05-25T00:00:00+02:00" title: "翻译指南" -weight: 70 +sidebar_position: 70 toc: true draft: false menu: sidebar: parent: "contributing" name: "翻译指南" - weight: 70 + sidebar_position: 70 identifier: "translation-guidelines" --- diff --git a/docs/content/doc/development.en-us.md b/docs/content/development.en-us.md similarity index 79% rename from docs/content/doc/development.en-us.md rename to docs/content/development.en-us.md index e9e8b9c81..92201b1f5 100644 --- a/docs/content/doc/development.en-us.md +++ b/docs/content/development.en-us.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "Development" slug: "development" -weight: 40 +sidebar_position: 40 toc: false draft: false menu: sidebar: name: "Development" - weight: 40 + sidebar_position: 40 identifier: "development" --- diff --git a/docs/content/doc/development.zh-cn.md b/docs/content/development.zh-cn.md similarity index 78% rename from docs/content/doc/development.zh-cn.md rename to docs/content/development.zh-cn.md index bbdaec4d1..4992b313d 100644 --- a/docs/content/doc/development.zh-cn.md +++ b/docs/content/development.zh-cn.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "开发" slug: "development" -weight: 40 +sidebar_position: 40 toc: false draft: false menu: sidebar: name: "开发" - weight: 40 + sidebar_position: 40 identifier: "development" --- diff --git a/docs/content/doc/development.zh-tw.md b/docs/content/development.zh-tw.md similarity index 78% rename from docs/content/doc/development.zh-tw.md rename to docs/content/development.zh-tw.md index a0fbbf219..2c9d335fd 100644 --- a/docs/content/doc/development.zh-tw.md +++ b/docs/content/development.zh-tw.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "開發" slug: "development" -weight: 40 +sidebar_position: 40 toc: false draft: false menu: sidebar: name: "開發" - weight: 40 + sidebar_position: 40 identifier: "development" --- diff --git a/docs/content/doc/development/_index.en-us.md b/docs/content/development/_index.en-us.md similarity index 100% rename from docs/content/doc/development/_index.en-us.md rename to docs/content/development/_index.en-us.md diff --git a/docs/content/doc/development/_index.zh-cn.md b/docs/content/development/_index.zh-cn.md similarity index 100% rename from docs/content/doc/development/_index.zh-cn.md rename to docs/content/development/_index.zh-cn.md diff --git a/docs/content/doc/development/_index.zh-tw.md b/docs/content/development/_index.zh-tw.md similarity index 100% rename from docs/content/doc/development/_index.zh-tw.md rename to docs/content/development/_index.zh-tw.md diff --git a/docs/content/doc/development/api-usage.en-us.md b/docs/content/development/api-usage.en-us.md similarity index 98% rename from docs/content/doc/development/api-usage.en-us.md rename to docs/content/development/api-usage.en-us.md index 4f5304ac0..a49c145ba 100644 --- a/docs/content/doc/development/api-usage.en-us.md +++ b/docs/content/development/api-usage.en-us.md @@ -2,7 +2,7 @@ date: "2018-06-24:00:00+02:00" title: "API Usage" slug: "api-usage" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "development" name: "API Usage" - weight: 40 + sidebar_position: 40 identifier: "api-usage" --- # API Usage -**Table of Contents** - -{{< toc >}} - ## Enabling/configuring API access By default, `ENABLE_SWAGGER` is true, and diff --git a/docs/content/doc/development/api-usage.zh-cn.md b/docs/content/development/api-usage.zh-cn.md similarity index 98% rename from docs/content/doc/development/api-usage.zh-cn.md rename to docs/content/development/api-usage.zh-cn.md index ceb69b3f0..ca5909e5a 100644 --- a/docs/content/doc/development/api-usage.zh-cn.md +++ b/docs/content/development/api-usage.zh-cn.md @@ -2,7 +2,7 @@ date: "2018-06-24:00:00+02:00" title: "API 使用指南" slug: "api-usage" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "API 使用指南" - weight: 40 + sidebar_position: 40 identifier: "api-usage" --- diff --git a/docs/content/doc/development/hacking-on-gitea.en-us.md b/docs/content/development/hacking-on-gitea.en-us.md similarity index 95% rename from docs/content/doc/development/hacking-on-gitea.en-us.md rename to docs/content/development/hacking-on-gitea.en-us.md index e1efe2ec1..1eaa3d62b 100644 --- a/docs/content/doc/development/hacking-on-gitea.en-us.md +++ b/docs/content/development/hacking-on-gitea.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Hacking on Gitea" slug: "hacking-on-gitea" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "development" name: "Hacking on Gitea" - weight: 10 + sidebar_position: 10 identifier: "hacking-on-gitea" --- # Hacking on Gitea -**Table of Contents** - -{{< toc >}} - ## Quickstart To get a quick working development environment you could use Gitpod. @@ -34,7 +30,7 @@ environment correctly. Next, [install Node.js with npm](https://nodejs.org/en/download/) which is required to build the JavaScript and CSS files. The minimum supported Node.js -version is {{< min-node-version >}} and the latest LTS version is recommended. +version is @minNodeVersion@ and the latest LTS version is recommended. **Note**: When executing make tasks that require external tools, like `make watch-backend`, Gitea will automatically download and build these as @@ -42,11 +38,11 @@ necessary. To be able to use these you must have the `"$GOPATH"/bin` directory on the executable path. If you don't add the go bin directory to the executable path you will have to manage this yourself. -**Note 2**: Go version {{< min-go-version >}} or higher is required. +**Note 2**: Go version @minGoVersion@ or higher is required. Gitea uses `gofmt` to format source code. However, the results of `gofmt` can differ by the version of `go`. Therefore it is recommended to install the version of Go that our continuous integration is -running. As of last update, the Go version should be {{< go-version >}}. +running. As of last update, the Go version should be @goVersion@. To lint the template files, ensure [Python](https://www.python.org/) and [Poetry](https://python-poetry.org/) are installed. @@ -126,8 +122,8 @@ to the Gitea sources. Otherwise, changes can't be pushed. ## Building Gitea (Basic) Take a look at our -[instructions]({{< relref "doc/installation/from-source.en-us.md" >}}) -for [building from source]({{< relref "doc/installation/from-source.en-us.md" >}}). +[instructions](installation/from-source.md) +for [building from source](installation/from-source.md). The simplest recommended way to build from source is: @@ -181,7 +177,7 @@ server as mentioned above. ### Working on JS and CSS -Frontend development should follow [Guidelines for Frontend Development]({{< relref "doc/contributing/guidelines-frontend.en-us.md" >}}) +Frontend development should follow [Guidelines for Frontend Development](contributing/guidelines-frontend.md) To build with frontend resources, either use the `watch-frontend` target mentioned above or just build once: @@ -268,7 +264,7 @@ OpenAPI 3 documentation. When creating new configuration options, it is not enough to add them to the `modules/setting` files. You should add information to `custom/conf/app.ini` and to the -[configuration cheat sheet]({{< relref "doc/administration/config-cheat-sheet.en-us.md" >}}) +[configuration cheat sheet](administration/config-cheat-sheet.md) found in `docs/content/doc/administer/config-cheat-sheet.en-us.md` ### Changing the logo diff --git a/docs/content/doc/development/hacking-on-gitea.zh-cn.md b/docs/content/development/hacking-on-gitea.zh-cn.md similarity index 94% rename from docs/content/doc/development/hacking-on-gitea.zh-cn.md rename to docs/content/development/hacking-on-gitea.zh-cn.md index 6f0ce6bc0..8e32c4c24 100644 --- a/docs/content/doc/development/hacking-on-gitea.zh-cn.md +++ b/docs/content/development/hacking-on-gitea.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "玩转 Gitea" slug: "hacking-on-gitea" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "development" name: "玩转 Gitea" - weight: 10 + sidebar_position: 10 identifier: "hacking-on-gitea" --- # Hacking on Gitea -**目录** - -{{< toc >}} - ## 快速入门 要获得快速工作的开发环境,您可以使用 Gitpod。 @@ -32,7 +28,7 @@ menu: 您需要 [安装 go]( https://golang.org/doc/install ) 并设置您的 go 环境。 接下来,[使用 npm 安装 Node.js](https://nodejs.org/en/download/) ,这是构建 -JavaScript 和 CSS 文件的必要工具。最低支持的 Node.js 版本是 {{< min-node-version >}} +JavaScript 和 CSS 文件的必要工具。最低支持的 Node.js 版本是 @minNodeVersion@ 并且推荐使用最新的 LTS 版本。 **注意** :当执行需要外部工具的 make 任务时,比如 @@ -40,9 +36,9 @@ JavaScript 和 CSS 文件的必要工具。最低支持的 Node.js 版本是 {{< 将 `"$GOPATH"/bin` 目录加入到可执行路径上。如果你不把go bin目录添加到可执行路径你必须手动 指定可执行程序路径。 -**注意2** :Go版本 {{< min-go-version >}} 或更高版本是必须的。Gitea 使用 `gofmt` 来 +**注意2** :Go版本 @minGoVersion@ 或更高版本是必须的。Gitea 使用 `gofmt` 来 格式化源代码。然而,`gofmt` 的结果可能因 `go` 的版本而有差异。因此推荐安装我们持续集成使用 -的 Go版本。截至上次更新,Go 版本应该是 {{< go-version >}}。 +的 Go版本。截至上次更新,Go 版本应该是 @goVersion@。 ## 安装 Make @@ -115,8 +111,8 @@ git fetch --all --prune ## 构建 Gitea(基本) 看看我们的 -[说明]({{< relref "doc/installation/from-source.zh-cn.md" >}}) -关于如何[从源代码构建]({{< relref "doc/installation/from-source.zh-cn.md" >}}) 。 +[说明](installation/from-source.md) +关于如何[从源代码构建](installation/from-source.md) 。 从源代码构建的最简单推荐方法是: @@ -168,7 +164,7 @@ make lint-backend ### 处理 JS 和 CSS -前端开发应遵循 [Guidelines for Frontend Development]({{< relref "doc/contributing/guidelines-frontend.zh-cn.md" >}})。 +前端开发应遵循 [Guidelines for Frontend Development](contributing/guidelines-frontend.md)。 要使用前端资源构建,请使用上面提到的“watch-frontend”目标或只构建一次: @@ -249,7 +245,7 @@ make swagger-check ### 创建新的配置选项 创建新的配置选项时,将它们添加到 `modules/setting` 的对应文件。您应该将信息添加到 `custom/conf/app.ini` -并到[配置备忘单]({{< relref "doc/administration/config-cheat-sheet.zh-cn.md" >}}) +并到[配置备忘单](administration/config-cheat-sheet.md) 在 `docs/content/doc/advanced/config-cheat-sheet.zh-cn.md` 中找到 ### 更改Logo diff --git a/docs/content/doc/development/integrations.en-us.md b/docs/content/development/integrations.en-us.md similarity index 96% rename from docs/content/doc/development/integrations.en-us.md rename to docs/content/development/integrations.en-us.md index bbb50ae71..66ea36243 100644 --- a/docs/content/doc/development/integrations.en-us.md +++ b/docs/content/development/integrations.en-us.md @@ -2,7 +2,7 @@ date: "2019-04-15T17:29:00+08:00" title: "Integrations" slug: "integrations" -weight: 65 +sidebar_position: 65 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "Integrations" - weight: 65 + sidebar_position: 65 identifier: "integrations" --- diff --git a/docs/content/doc/development/integrations.zh-cn.md b/docs/content/development/integrations.zh-cn.md similarity index 96% rename from docs/content/doc/development/integrations.zh-cn.md rename to docs/content/development/integrations.zh-cn.md index 694a9d561..0b8ca0d5a 100644 --- a/docs/content/doc/development/integrations.zh-cn.md +++ b/docs/content/development/integrations.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-25T17:29:00+08:00" title: "集成" slug: "integrations" -weight: 65 +sidebar_position: 65 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "集成" - weight: 65 + sidebar_position: 65 identifier: "integrations" --- diff --git a/docs/content/doc/development/integrations.zh-tw.md b/docs/content/development/integrations.zh-tw.md similarity index 94% rename from docs/content/doc/development/integrations.zh-tw.md rename to docs/content/development/integrations.zh-tw.md index 278a8f41d..9a6afad4f 100644 --- a/docs/content/doc/development/integrations.zh-tw.md +++ b/docs/content/development/integrations.zh-tw.md @@ -2,7 +2,7 @@ date: "2019-04-15T17:29:00+08:00" title: "整合" slug: "integrations" -weight: 65 +sidebar_position: 65 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "整合" - weight: 65 + sidebar_position: 65 identifier: "integrations" --- diff --git a/docs/content/doc/development/migrations.en-us.md b/docs/content/development/migrations.en-us.md similarity index 97% rename from docs/content/doc/development/migrations.en-us.md rename to docs/content/development/migrations.en-us.md index f41163415..1e72f1b52 100644 --- a/docs/content/doc/development/migrations.en-us.md +++ b/docs/content/development/migrations.en-us.md @@ -2,7 +2,7 @@ date: "2019-04-15T17:29:00+08:00" title: "Migrations Interfaces" slug: "migrations-interfaces" -weight: 55 +sidebar_position: 55 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "Migrations Interfaces" - weight: 55 + sidebar_position: 55 identifier: "migrations-interfaces" --- diff --git a/docs/content/doc/development/migrations.zh-cn.md b/docs/content/development/migrations.zh-cn.md similarity index 97% rename from docs/content/doc/development/migrations.zh-cn.md rename to docs/content/development/migrations.zh-cn.md index 8e3d73417..923be9046 100644 --- a/docs/content/doc/development/migrations.zh-cn.md +++ b/docs/content/development/migrations.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-25T17:29:00+08:00" title: "迁移界面" slug: "migrations-interfaces" -weight: 55 +sidebar_position: 55 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "迁移界面" - weight: 55 + sidebar_position: 55 identifier: "migrations-interfaces" --- diff --git a/docs/content/doc/development/migrations.zh-tw.md b/docs/content/development/migrations.zh-tw.md similarity index 97% rename from docs/content/doc/development/migrations.zh-tw.md rename to docs/content/development/migrations.zh-tw.md index c4171f3fb..1dc222f37 100644 --- a/docs/content/doc/development/migrations.zh-tw.md +++ b/docs/content/development/migrations.zh-tw.md @@ -2,7 +2,7 @@ date: "2019-04-15T17:29:00+08:00" title: "遷移介面" slug: "migrations-interfaces" -weight: 55 +sidebar_position: 55 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "遷移介面" - weight: 55 + sidebar_position: 55 identifier: "migrations-interfaces" --- diff --git a/docs/content/doc/development/oauth2-provider.en-us.md b/docs/content/development/oauth2-provider.en-us.md similarity index 99% rename from docs/content/doc/development/oauth2-provider.en-us.md rename to docs/content/development/oauth2-provider.en-us.md index f7a73dcc8..b3824f4b2 100644 --- a/docs/content/doc/development/oauth2-provider.en-us.md +++ b/docs/content/development/oauth2-provider.en-us.md @@ -2,7 +2,7 @@ date: "2023-06-01T08:40:00+08:00" title: "OAuth2 provider" slug: "oauth2-provider" -weight: 41 +sidebar_position: 41 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "development" name: "OAuth2 Provider" - weight: 41 + sidebar_position: 41 identifier: "oauth2-provider" --- # OAuth2 provider -**Table of Contents** - -{{< toc >}} - Gitea supports acting as an OAuth2 provider to allow third party applications to access its resources with the user's consent. This feature is available since release 1.8.0. ## Endpoints diff --git a/docs/content/doc/development/oauth2-provider.zh-cn.md b/docs/content/development/oauth2-provider.zh-cn.md similarity index 99% rename from docs/content/doc/development/oauth2-provider.zh-cn.md rename to docs/content/development/oauth2-provider.zh-cn.md index 3fbf174ef..6584bac37 100644 --- a/docs/content/doc/development/oauth2-provider.zh-cn.md +++ b/docs/content/development/oauth2-provider.zh-cn.md @@ -2,7 +2,7 @@ date: "2019-04-19:44:00+01:00" title: "OAuth2 提供者" slug: "oauth2-provider" -weight: 41 +sidebar_position: 41 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "development" name: "OAuth2 提供者" - weight: 41 + sidebar_position: 41 identifier: "oauth2-provider" --- # OAuth2 提供者 -**目录** - -{{< toc >}} - Gitea 支持作为 OAuth2 提供者,允许第三方应用程序在用户同意的情况下访问其资源。此功能自 1.8.0 版起可用。 ## 端点 diff --git a/docs/content/doc/development/oauth2-provider.zh-tw.md b/docs/content/development/oauth2-provider.zh-tw.md similarity index 98% rename from docs/content/doc/development/oauth2-provider.zh-tw.md rename to docs/content/development/oauth2-provider.zh-tw.md index 8d62264ab..dac6e684b 100644 --- a/docs/content/doc/development/oauth2-provider.zh-tw.md +++ b/docs/content/development/oauth2-provider.zh-tw.md @@ -2,7 +2,7 @@ date: "2019-04-19:44:00+01:00" title: "OAuth2 提供者" slug: "oauth2-provider" -weight: 41 +sidebar_position: 41 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "development" name: "OAuth2 提供者" - weight: 41 + sidebar_position: 41 identifier: "oauth2-provider" --- @@ -19,8 +19,6 @@ menu: **目錄** -{{< toc >}} - Gitea 支援作為 OAuth2 提供者,能讓第三方程式能在使用者同意下存取 Gitea 的資源。此功能自 1.8.0 版開始提供。 ## Endpoint diff --git a/docs/content/doc/help.en-us.md b/docs/content/help.en-us.md similarity index 76% rename from docs/content/doc/help.en-us.md rename to docs/content/help.en-us.md index 03c9a2781..5a7f4a42b 100644 --- a/docs/content/doc/help.en-us.md +++ b/docs/content/help.en-us.md @@ -2,12 +2,12 @@ date: "2017-01-20T15:00:00+08:00" title: "Help" slug: "help" -weight: 5 +sidebar_position: 5 toc: false draft: false menu: sidebar: name: "Help" - weight: 100 + sidebar_position: 100 identifier: "help" --- diff --git a/docs/content/doc/help.fr-fr.md b/docs/content/help.fr-fr.md similarity index 76% rename from docs/content/doc/help.fr-fr.md rename to docs/content/help.fr-fr.md index 42e01009c..cb41ad648 100644 --- a/docs/content/doc/help.fr-fr.md +++ b/docs/content/help.fr-fr.md @@ -2,12 +2,12 @@ date: "2017-01-20T15:00:00+08:00" title: "Aide" slug: "help" -weight: 5 +sidebar_position: 5 toc: false draft: false menu: sidebar: name: "Aide" - weight: 100 + sidebar_position: 100 identifier: "help" --- diff --git a/docs/content/doc/help.zh-cn.md b/docs/content/help.zh-cn.md similarity index 77% rename from docs/content/doc/help.zh-cn.md rename to docs/content/help.zh-cn.md index e8c0bd260..60b63bc28 100644 --- a/docs/content/doc/help.zh-cn.md +++ b/docs/content/help.zh-cn.md @@ -2,12 +2,12 @@ date: "2017-01-20T15:00:00+08:00" title: "帮助" slug: "help" -weight: 5 +sidebar_position: 5 toc: false draft: false menu: sidebar: name: "帮助" - weight: 100 + sidebar_position: 100 identifier: "help" --- diff --git a/docs/content/doc/help.zh-tw.md b/docs/content/help.zh-tw.md similarity index 77% rename from docs/content/doc/help.zh-tw.md rename to docs/content/help.zh-tw.md index 270a4ed8a..840ea100e 100644 --- a/docs/content/doc/help.zh-tw.md +++ b/docs/content/help.zh-tw.md @@ -2,12 +2,12 @@ date: "2017-01-20T15:00:00+08:00" title: "幫助" slug: "help" -weight: 5 +sidebar_position: 5 toc: false draft: false menu: sidebar: name: "幫助" - weight: 100 + sidebar_position: 100 identifier: "help" --- diff --git a/docs/content/doc/help/_index.en-us.md b/docs/content/help/_index.en-us.md similarity index 100% rename from docs/content/doc/help/_index.en-us.md rename to docs/content/help/_index.en-us.md diff --git a/docs/content/doc/help/_index.zh-cn.md b/docs/content/help/_index.zh-cn.md similarity index 100% rename from docs/content/doc/help/_index.zh-cn.md rename to docs/content/help/_index.zh-cn.md diff --git a/docs/content/doc/help/_index.zh-tw.md b/docs/content/help/_index.zh-tw.md similarity index 100% rename from docs/content/doc/help/_index.zh-tw.md rename to docs/content/help/_index.zh-tw.md diff --git a/docs/content/doc/help/faq.en-us.md b/docs/content/help/faq.en-us.md similarity index 89% rename from docs/content/doc/help/faq.en-us.md rename to docs/content/help/faq.en-us.md index 5a2cafba4..3d03dd23b 100644 --- a/docs/content/doc/help/faq.en-us.md +++ b/docs/content/help/faq.en-us.md @@ -2,7 +2,7 @@ date: "2019-04-05T16:00:00+02:00" title: "FAQ" slug: "faq" -weight: 5 +sidebar_position: 5 toc: false draft: false aliases: @@ -11,19 +11,15 @@ menu: sidebar: parent: "help" name: "FAQ" - weight: 5 + sidebar_position: 5 identifier: "faq" --- -# Frequently Asked Questions +# Frequently Asked Questions This page contains some common questions and answers. -For more help resources, check all [Support Options]({{< relref "doc/help/support.en-us.md" >}}). - -**Table of Contents** - -{{< toc >}} +For more help resources, check all [Support Options](help/support.md). ## Difference between 1.x and 1.x.x downloads, how can I get latest stable release with bug fixes? @@ -43,7 +39,7 @@ If a bug fix is targeted on 1.20.1 but 1.20.1 is not released yet, you can get t To migrate from Gogs to Gitea: -- [Gogs version 0.9.146 or less]({{< relref "doc/installation/upgrade-from-gogs.en-us.md" >}}) +- [Gogs version 0.9.146 or less](installation/upgrade-from-gogs.md) - [Gogs version 0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286) To migrate from GitHub to Gitea, you can use Gitea's built-in migration form. @@ -91,7 +87,7 @@ https://github.com/loganinak/MigrateGitlabToGogs There are a few places that could make this show incorrectly. -1. If using a reverse proxy, make sure you have followed the correction directions in the [reverse proxy guide]({{< relref "doc/administration/reverse-proxies.en-us.md" >}}) +1. If using a reverse proxy, make sure you have followed the correction directions in the [reverse proxy guide](administration/reverse-proxies.md) 2. Make sure you have correctly set `ROOT_URL` in the `server` section of your `app.ini` If certain clone options aren't showing up (HTTP/S or SSH), the following options can be checked in your `app.ini` @@ -104,7 +100,7 @@ If certain clone options aren't showing up (HTTP/S or SSH), the following option This error occurs when the reverse proxy limits the file upload size. -See the [reverse proxy guide]({{< relref "doc/administration/reverse-proxies.en-us.md" >}}) for a solution with nginx. +See the [reverse proxy guide](administration/reverse-proxies.md) for a solution with nginx. ## Custom Templates not loading or working incorrectly @@ -114,7 +110,7 @@ The correct path for the template(s) will be relative to the `CustomPath` 1. To find `CustomPath`, look for Custom File Root Path in Site Administration -> Configuration 2. If you are still unable to find a path, the default can be [calculated above](#where-does-gitea-store-what-file) -3. Once you have figured out the correct custom path, you can refer to the [customizing Gitea]({{< relref "doc/administration/customizing-gitea.en-us.md" >}}) page to add your template to the correct location. +3. Once you have figured out the correct custom path, you can refer to the [customizing Gitea](administration/customizing-gitea.md) page to add your template to the correct location. ## Does Gitea have a "GitHub/GitLab pages" feature? @@ -132,7 +128,7 @@ A "login prohibited" user is a user that is not allowed to log in to Gitea anymo ## Setting up logging -- [Official Docs]({{< relref "doc/administration/logging-config.en-us.md" >}}) +- [Official Docs](administration/logging-config.md) ## What is Swagger? @@ -140,7 +136,7 @@ A "login prohibited" user is a user that is not allowed to log in to Gitea anymo All Gitea instances have the built-in API and there is no way to disable it completely. You can, however, disable showing its documentation by setting `ENABLE_SWAGGER` to `false` in the `api` section of your `app.ini`. -For more information, refer to Gitea's [API docs]({{< relref "doc/development/api-usage.en-us.md" >}}). +For more information, refer to Gitea's [API docs](development/api-usage.md). You can see the latest API (for example) on . @@ -155,7 +151,7 @@ There are multiple things you can combine to prevent spammers. 1. By whitelisting or blocklisting certain email domains 2. By only whitelisting certain domains with OpenID (see below) 3. Setting `ENABLE_CAPTCHA` to `true` in your `app.ini` and properly configuring `RECAPTCHA_SECRET` and `RECAPTCHA_SITEKEY` -4. Settings `DISABLE_REGISTRATION` to `true` and creating new users via the [CLI]({{< relref "doc/administration/command-line.en-us.md" >}}), [API]({{< relref "doc/development/api-usage.en-us.md" >}}), or Gitea's Admin UI +4. Settings `DISABLE_REGISTRATION` to `true` and creating new users via the [CLI](administration/command-line.md), [API](development/api-usage.md), or Gitea's Admin UI ### Only allow/block certain email domains @@ -181,7 +177,7 @@ At some point, a customer or third party needs access to a specific repo and onl ### Enable Fail2ban -Use [Fail2Ban]({{< relref "doc/administration/fail2ban-setup.en-us.md" >}}) to monitor and stop automated login attempts or other malicious behavior based on log patterns +Use [Fail2Ban](administration/fail2ban-setup.md) to monitor and stop automated login attempts or other malicious behavior based on log patterns ## How to add/use custom themes @@ -334,24 +330,24 @@ You may want to set this value to `60m` or `120m`. ## How can I create users before starting Gitea -Gitea provides a sub-command `gitea migrate` to initialize the database, after which you can use the [admin CLI commands]({{< relref "doc/administration/command-line.en-us.md#admin" >}}) to add users like normal. +Gitea provides a sub-command `gitea migrate` to initialize the database, after which you can use the [admin CLI commands](administration/command-line.md#admin) to add users like normal. ## How can I enable password reset -There is no setting for password resets. It is enabled when a [mail service]({{< relref "doc/administration/email-setup.en-us.md" >}}) is configured, and disabled otherwise. +There is no setting for password resets. It is enabled when a [mail service](administration/email-setup.md) is configured, and disabled otherwise. ## How can a user's password be changed - As an **admin**, you can change any user's password (and optionally force them to change it on next login)... - By navigating to your `Site Administration -> User Accounts` page and editing a user. - - By using the [admin CLI commands]({{< relref "doc/administration/command-line.en-us.md#admin" >}}). + - By using the [admin CLI commands](administration/command-line.md#admin). - Keep in mind most commands will also need a [global flag]({{< relref "doc/administration/command-line.en-us.md#global-options" >}}) to point the CLI at the correct configuration. + Keep in mind most commands will also need a [global flag](administration/command-line.md#global-options) to point the CLI at the correct configuration. - As a **user** you can change it... - In your account `Settings -> Account` page (this method **requires** you to know your current password). - By using the `Forgot Password` link. - If the `Forgot Password/Account Recovery` page is disabled, please contact your administrator to configure a [mail service]({{< relref "doc/administration/email-setup.en-us.md" >}}). + If the `Forgot Password/Account Recovery` page is disabled, please contact your administrator to configure a [mail service](administration/email-setup.md). ## Why is my markdown broken @@ -447,9 +443,9 @@ It is highly recommended to back-up your database before running these commands. - You can also check `/admin/config` for the repository root path. - Ensure that the user/org exists that you want to adopt repositories for. - As an admin, go to `/admin/repos/unadopted` and search. - - Users can also be given similar permissions via config [`ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`]({{< relref "doc/administration/config-cheat-sheet.en-us.md#repository" >}}). + - Users can also be given similar permissions via config [`ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`](administration/config-cheat-sheet.md#repository). - If the above steps are done correctly, you should be able to select repositories to adopt. - - If no repositories are found, enable [debug logging]({{< relref "doc/administration/config-cheat-sheet.en-us.md#repository" >}}) to check for any specific errors. + - If no repositories are found, enable [debug logging](administration/config-cheat-sheet.md#repository) to check for any specific errors. ## Gitea can't start on NFS diff --git a/docs/content/doc/help/faq.zh-cn.md b/docs/content/help/faq.zh-cn.md similarity index 88% rename from docs/content/doc/help/faq.zh-cn.md rename to docs/content/help/faq.zh-cn.md index 6a63b4530..a11e074a2 100644 --- a/docs/content/doc/help/faq.zh-cn.md +++ b/docs/content/help/faq.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-25T16:00:00+02:00" title: "常见问题" slug: "faq" -weight: 5 +sidebar_position: 5 toc: false draft: false aliases: @@ -11,19 +11,15 @@ menu: sidebar: parent: "help" name: "常见问题" - weight: 5 + sidebar_position: 5 identifier: "faq" --- -# 常见问题 +# 常见问题 本页面包含一些常见问题和答案。 -有关更多帮助资源,请查看所有[支持选项]({{< relref "doc/help/support.zh-cn.md" >}})。 - -**目录** - -{{< toc >}} +有关更多帮助资源,请查看所有[支持选项](help/support.md)。 ## 1.x和1.x.x下载之间的区别 @@ -45,7 +41,7 @@ menu: 要从Gogs迁移到Gitea: -- [Gogs版本0.9.146或更低]({{< relref "doc/installation/upgrade-from-gogs.zh-cn.md" >}}) +- [Gogs版本0.9.146或更低](installation/upgrade-from-gogs.md) - [Gogs版本0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286) 要从GitHub迁移到Gitea,您可以使用Gitea内置的迁移表单。 @@ -92,7 +88,7 @@ https://github.com/loganinak/MigrateGitlabToGogs 有几个地方可能会导致显示不正确。 -1. 如果使用反向代理,请确保按照[反向代理指南]({{< relref "doc/administration/reverse-proxies.zh-cn.md" >}})中的正确说明进行设置。 +1. 如果使用反向代理,请确保按照[反向代理指南](administration/reverse-proxies.md)中的正确说明进行设置。 2. 确保在`app.ini`的`server`部分中正确设置了`ROOT_URL`。 如果某些克隆选项未显示(HTTP/S或SSH),可以在`app.ini中` @@ -105,7 +101,7 @@ https://github.com/loganinak/MigrateGitlabToGogs 当反向代理限制文件上传大小时,会出现此错误。 -有关使用nginx解决此问题,请参阅[反向代理指南]({{< relref "doc/administration/reverse-proxies.zh-cn.md" >}})。 +有关使用nginx解决此问题,请参阅[反向代理指南](administration/reverse-proxies.md)。 ## 自定义模板无法加载或运行错误 @@ -117,8 +113,8 @@ Gitea的自定义模板必须将其添加到正确的位置,否则Gitea将无 如果找不到,请尝试`echo $GITEA_CUSTOM`。 -2. 如果仍然找不到,默认值可以被[计算]({{< relref "doc/help/faq.zh-cn.md#where-does-gitea-store-what-file" >}}) -3. 如果仍然找不到路径,则可以参考[自定义Gitea]({{< relref "doc/administration/customizing-gitea.zh-cn.md" >}})页面,将模板添加到正确的位置。 +2. 如果仍然找不到,默认值可以被[计算](help/faq.md#where-does-gitea-store-what-file) +3. 如果仍然找不到路径,则可以参考[自定义Gitea](administration/customizing-gitea.md)页面,将模板添加到正确的位置。 ## Gitea是否有"GitHub/GitLab Pages"功能? @@ -136,7 +132,7 @@ Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供 ## 设置日志记录 -- [官方文档]({{< relref "doc/administration/logging-config.zh-cn.md" >}}) +- [官方文档](administration/logging-config.md) ## 什么是Swagger? @@ -144,7 +140,7 @@ Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供 所有Gitea实例都有内置的API,无法完全禁用它。 但是,您可以在app.ini的api部分将ENABLE_SWAGGER设置为false,以禁用其文档显示。 -有关更多信息,请参阅Gitea的[API文档]({{< relref "doc/development/api-usage.zh-cn.md" >}})。 +有关更多信息,请参阅Gitea的[API文档](development/api-usage.md)。 您可以在上查看最新的API(例如)。 @@ -159,7 +155,7 @@ Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供 1. 通过设置电子邮件域名的白名单或黑名单。 2. 通过设置一些域名或者OpenID白名单(见下文)。 3. 在您的`app.ini`中将`ENABLE_CAPTCHA`设置为`true`,并正确配置`RECAPTCHA_SECRET`和 `RECAPTCHA_SITEKEY`。 -4. 将`DISABLE_REGISTRATION`设置为`true`,并通过 [CLI]({{< relref "doc/administration/command-line.zh-cn.md" >}})、[API]({{< relref "doc/development/api-usage.zh-cn.md" >}}) 或 Gitea 的管理界面创建新用户。 +4. 将`DISABLE_REGISTRATION`设置为`true`,并通过 [CLI](administration/command-line.md)、[API](development/api-usage.md) 或 Gitea 的管理界面创建新用户。 ### 仅允许/阻止特定的电子邮件域名 @@ -185,7 +181,7 @@ Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供 ### 启用 Fail2ban -使用 [Fail2Ban]({{< relref "doc/administration/fail2ban-setup.zh-cn.md" >}}) 监视并阻止基于日志模式的自动登录尝试或其他恶意行为。 +使用 [Fail2Ban](administration/fail2ban-setup.md) 监视并阻止基于日志模式的自动登录尝试或其他恶意行为。 ## 如何添加/使用自定义主题 @@ -216,7 +212,7 @@ Gitea还提供了自己的SSH服务器,用于在SSHD不可用时使用。 请确保Gitea具有足够的权限来写入其主目录和数据目录。 -参见[AppDataPath 和 RepoRootPath]({{< relref "doc/help/faq.zh-cn.md#where-does-gitea-store-what-file" >}}) +参见[AppDataPath 和 RepoRootPath](help/faq.md#where-does-gitea-store-what-file) **适用于Arch用户的注意事项:**在撰写本文时,Arch软件包的systemd文件包含了以下行: @@ -338,24 +334,24 @@ error: failed to push some refs to '' ## 如何在启动 Gitea 之前创建用户 -Gitea 提供了一个子命令`gitea migrate`来初始化数据库,然后您可以使用[管理 CLI 命令]({{< relref "doc/administration/command-line.zh-cn.md#admin" >}})像正常情况下添加用户。 +Gitea 提供了一个子命令`gitea migrate`来初始化数据库,然后您可以使用[管理 CLI 命令](administration/command-line.md#admin)像正常情况下添加用户。 ## 如何启用密码重置 -没有密码重置的设置。当配置了[邮件服务]({{< relref "doc/administration/email-setup.zh-cn.md" >}})时,密码重置将自动启用;否则将被禁用。 +没有密码重置的设置。当配置了[邮件服务](administration/email-setup.md)时,密码重置将自动启用;否则将被禁用。 ## 如何更改用户的密码 - 作为管理员,您可以更改任何用户的密码(并可选择强制其在下次登录时更改密码)... - 转到您的`站点管理 -> 用户账户`页面并编辑用户。 -- 使用[管理 CLI 命令]({{< relref "doc/administration/command-line.zh-cn.md#admin" >}})。 +- 使用[管理 CLI 命令](administration/command-line.md#admin)。 - 请注意,大多数命令还需要一个[全局标志]({{< relref "doc/administration/command-line.zh-cn.- md#global-options" >}})来指向正确的配置。 + 请注意,大多数命令还需要一个[全局标志](administration/command-line.md#global-options)来指向正确的配置。 - 作为**用户**,您可以更改密码... - 在您的账户的`设置 -> 账户`页面(此方法**需要**您知道当前密码)。 - 使用`忘记密码`链接。 - 如果`忘记密码/账户恢复`页面被禁用,请联系管理员配置[邮件服务]({{< relref "doc/administration/email-setup.zh-cn.md" >}})。 + 如果`忘记密码/账户恢复`页面被禁用,请联系管理员配置[邮件服务](administration/email-setup.md)。 ## 为什么我的 Markdown 显示错误 @@ -410,7 +406,7 @@ SystemD 上的标准输出默认会写入日志记录中。您可以尝试使用 类似地,Docker 上的标准输出可以使用`docker logs `来查看。 -要收集日志以进行帮助和问题报告,请参阅[支持选项]({{< relref "doc/help/support.zh-cn.md" >}})。 +要收集日志以进行帮助和问题报告,请参阅[支持选项](help/support.md)。 ## 初始日志记录 @@ -467,6 +463,6 @@ gitea doctor recreate-table - 您还可以在`/admin/config`中检查存储库根路径。 - 确保存在要采用存储库的用户/组织。 - 作为管理员,转到`/admin/repos/unadopted`并搜索。 -- 用户也可以通过配置[`ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`]({{< relref "doc/administration/config-cheat-sheet.zh-cn.md#repository" >}}) 获得类似的权限。 +- 用户也可以通过配置[`ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`](administration/config-cheat-sheet.md#repository) 获得类似的权限。 - 如果上述步骤都正确执行,您应该能够选择要采用的存储库。 - - 如果没有找到存储库,请启用[调试日志记录]({{< relref "doc/administration/config-cheat-sheet.zh-cn.md#repository" >}})以检查是否有特定错误。 + - 如果没有找到存储库,请启用[调试日志记录](administration/config-cheat-sheet.md#repository)以检查是否有特定错误。 diff --git a/docs/content/doc/help/support.en-us.md b/docs/content/help/support.en-us.md similarity index 97% rename from docs/content/doc/help/support.en-us.md rename to docs/content/help/support.en-us.md index 2b285ce6e..144072299 100644 --- a/docs/content/doc/help/support.en-us.md +++ b/docs/content/help/support.en-us.md @@ -2,7 +2,7 @@ date: "2018-05-21T15:00:00+00:00" title: "Support Options" slug: "support" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "help" name: "Support Options" - weight: 20 + sidebar_position: 20 identifier: "support" --- diff --git a/docs/content/doc/help/support.zh-cn.md b/docs/content/help/support.zh-cn.md similarity index 93% rename from docs/content/doc/help/support.zh-cn.md rename to docs/content/help/support.zh-cn.md index 775dfe83b..de56d8abe 100644 --- a/docs/content/doc/help/support.zh-cn.md +++ b/docs/content/help/support.zh-cn.md @@ -2,7 +2,7 @@ date: "2017-01-20T15:00:00+08:00" title: "需要帮助" slug: "support" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "help" name: "需要帮助" - weight: 20 + sidebar_position: 20 identifier: "support" --- diff --git a/docs/content/doc/help/support.zh-tw.md b/docs/content/help/support.zh-tw.md similarity index 95% rename from docs/content/doc/help/support.zh-tw.md rename to docs/content/help/support.zh-tw.md index a9c35eaaf..70f4db01b 100644 --- a/docs/content/doc/help/support.zh-tw.md +++ b/docs/content/help/support.zh-tw.md @@ -2,7 +2,7 @@ date: "2018-05-21T15:00:00+00:00" title: "取得協助" slug: "support" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "help" name: "取得協助" - weight: 20 + sidebar_position: 20 identifier: "support" --- diff --git a/docs/content/page/index.de-de.md b/docs/content/index.de-de.md similarity index 96% rename from docs/content/page/index.de-de.md rename to docs/content/index.de-de.md index 3b344db14..7f0f611c2 100644 --- a/docs/content/page/index.de-de.md +++ b/docs/content/index.de-de.md @@ -1,9 +1,8 @@ --- date: "2023-01-07T22:03:00+01:00" title: "Dokumentation" -slug: "documentation" -url: "/de-de/" -weight: 10 +slug: / +sidebar_position: 10 toc: false draft: false --- diff --git a/docs/content/page/index.en-us.md b/docs/content/index.en-us.md similarity index 99% rename from docs/content/page/index.en-us.md rename to docs/content/index.en-us.md index 4d455391e..7275b9745 100644 --- a/docs/content/page/index.en-us.md +++ b/docs/content/index.en-us.md @@ -1,9 +1,8 @@ --- date: "2016-11-08T16:00:00+02:00" title: "Documentation" -slug: "documentation" -url: "/en-us/" -weight: 10 +slug: / +sidebar_position: 10 toc: false draft: false --- diff --git a/docs/content/page/index.fr-fr.md b/docs/content/index.fr-fr.md similarity index 99% rename from docs/content/page/index.fr-fr.md rename to docs/content/index.fr-fr.md index f26fbeb8c..60a9dfb6a 100755 --- a/docs/content/page/index.fr-fr.md +++ b/docs/content/index.fr-fr.md @@ -1,9 +1,8 @@ --- date: "2017-08-23T09:00:00+02:00" title: "Documentation" -slug: "documentation" -url: "/fr-fr/" -weight: 10 +slug: / +sidebar_position: 10 toc: false draft: false --- diff --git a/docs/content/page/index.zh-cn.md b/docs/content/index.zh-cn.md similarity index 98% rename from docs/content/page/index.zh-cn.md rename to docs/content/index.zh-cn.md index 4b747e230..a9d7b8f7f 100644 --- a/docs/content/page/index.zh-cn.md +++ b/docs/content/index.zh-cn.md @@ -1,9 +1,8 @@ --- date: "2016-11-08T16:00:00+02:00" title: "文档" -slug: "documentation" -url: "/zh-cn/" -weight: 10 +slug: / +sidebar_position: 10 toc: false draft: false --- diff --git a/docs/content/page/index.zh-tw.md b/docs/content/index.zh-tw.md similarity index 99% rename from docs/content/page/index.zh-tw.md rename to docs/content/index.zh-tw.md index e52eba572..e64a54cd0 100644 --- a/docs/content/page/index.zh-tw.md +++ b/docs/content/index.zh-tw.md @@ -1,9 +1,8 @@ --- date: "2016-11-08T16:00:00+02:00" title: "文件" -slug: "documentation" -url: "/zh-tw/" -weight: 10 +slug: / +sidebar_position: 10 toc: false draft: false --- diff --git a/docs/content/doc/installation.en-us.md b/docs/content/installation.en-us.md similarity index 79% rename from docs/content/doc/installation.en-us.md rename to docs/content/installation.en-us.md index 4257521d9..32933f0f7 100644 --- a/docs/content/doc/installation.en-us.md +++ b/docs/content/installation.en-us.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "Installation" slug: "installation" -weight: 10 +sidebar_position: 10 toc: false draft: false menu: sidebar: name: "Installation" - weight: 10 + sidebar_position: 10 identifier: "installation" --- diff --git a/docs/content/doc/installation.fr-fr.md b/docs/content/installation.fr-fr.md similarity index 79% rename from docs/content/doc/installation.fr-fr.md rename to docs/content/installation.fr-fr.md index 55b48bda3..1466e03e1 100644 --- a/docs/content/doc/installation.fr-fr.md +++ b/docs/content/installation.fr-fr.md @@ -2,12 +2,12 @@ date: "2017-08-23T09:00:00+02:00" title: "Installation" slug: "installation" -weight: 10 +sidebar_position: 10 toc: false draft: false menu: sidebar: name: "Installation" - weight: 10 + sidebar_position: 10 identifier: "installation" --- diff --git a/docs/content/doc/installation.zh-cn.md b/docs/content/installation.zh-cn.md similarity index 78% rename from docs/content/doc/installation.zh-cn.md rename to docs/content/installation.zh-cn.md index 8f57e0f00..979abc28c 100644 --- a/docs/content/doc/installation.zh-cn.md +++ b/docs/content/installation.zh-cn.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "安装" slug: "installation" -weight: 10 +sidebar_position: 10 toc: false draft: false menu: sidebar: name: "安装" - weight: 10 + sidebar_position: 10 identifier: "installation" --- diff --git a/docs/content/doc/installation.zh-tw.md b/docs/content/installation.zh-tw.md similarity index 78% rename from docs/content/doc/installation.zh-tw.md rename to docs/content/installation.zh-tw.md index f955e994a..48b0983f2 100644 --- a/docs/content/doc/installation.zh-tw.md +++ b/docs/content/installation.zh-tw.md @@ -2,12 +2,12 @@ date: "2016-12-01T16:00:00+02:00" title: "安裝" slug: "installation" -weight: 10 +sidebar_position: 10 toc: false draft: false menu: sidebar: name: "安裝" - weight: 10 + sidebar_position: 10 identifier: "installation" --- diff --git a/docs/content/doc/installation/_index.en-us.md b/docs/content/installation/_index.en-us.md similarity index 100% rename from docs/content/doc/installation/_index.en-us.md rename to docs/content/installation/_index.en-us.md diff --git a/docs/content/doc/installation/_index.fr-fr.md b/docs/content/installation/_index.fr-fr.md similarity index 100% rename from docs/content/doc/installation/_index.fr-fr.md rename to docs/content/installation/_index.fr-fr.md diff --git a/docs/content/doc/installation/_index.zh-cn.md b/docs/content/installation/_index.zh-cn.md similarity index 100% rename from docs/content/doc/installation/_index.zh-cn.md rename to docs/content/installation/_index.zh-cn.md diff --git a/docs/content/doc/installation/_index.zh-tw.md b/docs/content/installation/_index.zh-tw.md similarity index 100% rename from docs/content/doc/installation/_index.zh-tw.md rename to docs/content/installation/_index.zh-tw.md diff --git a/docs/content/doc/installation/comparison.en-us.md b/docs/content/installation/comparison.en-us.md similarity index 99% rename from docs/content/doc/installation/comparison.en-us.md rename to docs/content/installation/comparison.en-us.md index 578b00c21..80fa9b705 100644 --- a/docs/content/doc/installation/comparison.en-us.md +++ b/docs/content/installation/comparison.en-us.md @@ -2,7 +2,7 @@ date: "2018-05-07T13:00:00+02:00" title: "Compared to other Git hosting" slug: "comparison" -weight: 5 +sidebar_position: 5 toc: false draft: false aliases: @@ -10,17 +10,13 @@ aliases: menu: sidebar: name: "Comparison" - weight: 5 + sidebar_position: 5 parent: installation identifier: "comparison" --- # Gitea compared to other Git hosting options -**Table of Contents** - -{{< toc >}} - To help decide if Gitea is suited for your needs, here is how it compares to other Git self hosted options. Be warned that we don't regularly check for feature changes in other products, so this list may be outdated. If you find anything that needs to be updated in the table below, please [open an issue](https://github.com/go-gitea/gitea/issues/new/choose). diff --git a/docs/content/doc/installation/comparison.zh-cn.md b/docs/content/installation/comparison.zh-cn.md similarity index 99% rename from docs/content/doc/installation/comparison.zh-cn.md rename to docs/content/installation/comparison.zh-cn.md index 91955ee68..acf3f4ebe 100644 --- a/docs/content/doc/installation/comparison.zh-cn.md +++ b/docs/content/installation/comparison.zh-cn.md @@ -2,7 +2,7 @@ date: "2019-02-14T11:51:04+08:00" title: "对比 Gitea 与其它 Git 托管工具" slug: "comparison" -weight: 5 +sidebar_position: 5 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "横向对比" - weight: 5 + sidebar_position: 5 identifier: "comparison" --- diff --git a/docs/content/doc/installation/comparison.zh-tw.md b/docs/content/installation/comparison.zh-tw.md similarity index 99% rename from docs/content/doc/installation/comparison.zh-tw.md rename to docs/content/installation/comparison.zh-tw.md index 042acba8d..01a1035da 100644 --- a/docs/content/doc/installation/comparison.zh-tw.md +++ b/docs/content/installation/comparison.zh-tw.md @@ -2,7 +2,7 @@ date: "2018-05-07T13:00:00+02:00" title: "比較 Gitea 和其它自託管 Git 服務" slug: "comparison" -weight: 5 +sidebar_position: 5 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "比較" - weight: 5 + sidebar_position: 5 identifier: "comparison" --- @@ -19,8 +19,6 @@ menu: **目錄** -{{< toc >}} - 為了幫助您判斷 Gitea 是否適合您的需求,這裡列出了它和其它自託管 Git 服務的比較。 請注意我們不會經常檢查其它產品的功能異動,所以這份清單可能過期,如果您在下方表格中找到需要更新的資料,請在 [GitHub 的 Issue](https://github.com/go-gitea/gitea/issues) 回報。 diff --git a/docs/content/doc/installation/database-preparation.en-us.md b/docs/content/installation/database-preparation.en-us.md similarity index 99% rename from docs/content/doc/installation/database-preparation.en-us.md rename to docs/content/installation/database-preparation.en-us.md index 4b0d1b5ba..21360fa4d 100644 --- a/docs/content/doc/installation/database-preparation.en-us.md +++ b/docs/content/installation/database-preparation.en-us.md @@ -2,7 +2,7 @@ date: "2020-01-16" title: "Database Preparation" slug: "database-prep" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Database preparation" - weight: 10 + sidebar_position: 10 identifier: "database-prep" --- @@ -23,10 +23,6 @@ Database instance can be on same machine as Gitea (local database setup), or on Note: All steps below requires that the database engine of your choice is installed on your system. For remote database setup, install the server application on database instance and client program on your Gitea server. The client program is used to test connection to the database from Gitea server, while Gitea itself use database driver provided by Go to accomplish the same thing. In addition, make sure you use same engine version for both server and client for some engine features to work. For security reason, protect `root` (MySQL) or `postgres` (PostgreSQL) database superuser with secure password. The steps assumes that you run Linux for both database and Gitea servers. -**Table of Contents** - -{{< toc >}} - ## MySQL 1. For remote database setup, you will need to make MySQL listen to your IP address. Edit `bind-address` option on `/etc/mysql/my.cnf` on database instance to: diff --git a/docs/content/doc/installation/database-preparation.zh-cn.md b/docs/content/installation/database-preparation.zh-cn.md similarity index 99% rename from docs/content/doc/installation/database-preparation.zh-cn.md rename to docs/content/installation/database-preparation.zh-cn.md index 6c23f8ce5..b5e8b73f1 100644 --- a/docs/content/doc/installation/database-preparation.zh-cn.md +++ b/docs/content/installation/database-preparation.zh-cn.md @@ -2,7 +2,7 @@ date: "2020-01-16" title: "数据库准备" slug: "database-prep" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "数据库准备" - weight: 10 + sidebar_position: 10 identifier: "database-prep" --- @@ -23,10 +23,6 @@ menu: 注意:以下所有步骤要求您的选择的数据库引擎已安装在您的系统上。对于远程数据库设置,请在数据库实例上安装服务器应用程序,在 Gitea 服务器上安装客户端程序。客户端程序用于测试 Gitea 服务器与数据库之间的连接,而 Gitea 本身使用 Go 提供的数据库驱动程序完成相同的任务。此外,请确保服务器和客户端使用相同的引擎版本,以使某些引擎功能正常工作。出于安全原因,请使用安全密码保护 `root`(MySQL)或 `postgres`(PostgreSQL)数据库超级用户。以下步骤假设您在数据库和 Gitea 服务器上都使用 Linux。 -**目录** - -{{< toc >}} - ## MySQL 1. 对于远程数据库设置,您需要让 MySQL 监听您的 IP 地址。编辑数据库实例上的 `/etc/mysql/my.cnf` 文件中的 `bind-address` 选项为: diff --git a/docs/content/doc/installation/from-binary.en-us.md b/docs/content/installation/from-binary.en-us.md similarity index 90% rename from docs/content/doc/installation/from-binary.en-us.md rename to docs/content/installation/from-binary.en-us.md index 4c501aa30..88f82be32 100644 --- a/docs/content/doc/installation/from-binary.en-us.md +++ b/docs/content/installation/from-binary.en-us.md @@ -2,7 +2,7 @@ date: "2017-06-19T12:00:00+02:00" title: "Installation from binary" slug: "install-from-binary" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "From binary" - weight: 15 + sidebar_position: 15 identifier: "install-from-binary" --- @@ -20,10 +20,6 @@ menu: All downloads come with SQLite, MySQL and PostgreSQL support, and are built with embedded assets. This can be different from Gogs. -**Table of Contents** - -{{< toc >}} - ## Download You can find the file matching your platform from the [downloads page](https://dl.gitea.com/gitea/) after navigating to the version you want to download. @@ -45,11 +41,11 @@ You can find the file matching your platform from the [downloads page](https://d Copy the commands below and replace the URL within the one you wish to download. ```sh -wget -O gitea https://dl.gitea.com/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 +wget -O gitea https://dl.gitea.com/gitea/@version@/gitea-@version@-linux-amd64 chmod +x gitea ``` -Note that the above command will download Gitea {{< version >}} for 64-bit Linux. +Note that the above command will download Gitea @version@ for 64-bit Linux. ## Verify GPG signature @@ -58,7 +54,7 @@ To validate the binary, download the signature file which ends in `.asc` for the ```sh gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 -gpg --verify gitea-{{< version >}}-linux-amd64.asc gitea-{{< version >}}-linux-amd64 +gpg --verify gitea-@version@-linux-amd64.asc gitea-@version@-linux-amd64 ``` Look for the text `Good signature from "Teabot "` to assert a good binary, @@ -66,7 +62,7 @@ despite warnings like `This key is not certified with a trusted signature!`. ## Recommended server configuration -**NOTE:** Many of the following directories can be configured using [Environment Variables]({{< relref "doc/administration/environment-variables.en-us.md" >}}) as well! +**NOTE:** Many of the following directories can be configured using [Environment Variables](administration/environment-variables.md) as well! Of note, configuring `GITEA_WORK_DIR` will tell Gitea where to base its working directory, as well as ease installation. ### Prepare environment @@ -127,7 +123,7 @@ If you don't want the web installer to be able to write to the config file, it i * Ensure that the `SECRET_KEY` and `INTERNAL_TOKEN` values are set. (You may want to use the `gitea generate secret` to generate these secret keys.) * Ensure that any other secret keys you need are set. -See the [command line documentation]({{< relref "doc/administration/command-line.en-us.md" >}}) for information on using `gitea generate secret`. +See the [command line documentation](administration/command-line.md) for information on using `gitea generate secret`. ### Configure Gitea's working directory @@ -159,7 +155,7 @@ After you complete the above steps, you can run Gitea two ways: ### 1. Creating a service file to start Gitea automatically (recommended) -See how to create [Linux service]({{< relref "doc/installation/run-as-service-in-ubuntu.en-us.md" >}}) +See how to create [Linux service](installation/run-as-service-in-ubuntu.md) ### 2. Running from command-line/terminal @@ -172,7 +168,7 @@ GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini You can update to a new version of Gitea by stopping Gitea, replacing the binary at `/usr/local/bin/gitea` and restarting the instance. The binary file name should not be changed during the update to avoid problems in existing repositories. -It is recommended that you make a [backup]({{< relref "doc/administration/backup-and-restore.en-us.md" >}}) before updating your installation. +It is recommended that you make a [backup](administration/backup-and-restore.md) before updating your installation. If you have carried out the installation steps as described above, the binary should have the generic name `gitea`. Do not change this, i.e. to include the version number. @@ -200,7 +196,7 @@ Older Linux distributions (such as Debian 7 and CentOS 6) may not be able to loa Gitea binary, usually producing an error such as `./gitea: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC\_2.14' not found (required by ./gitea)`. This is due to the integrated SQLite support in the binaries provided by dl.gitea.com. In this situation, it is usually -possible to [install from source]({{< relref "doc/installation/from-source.en-us.md" >}}), without including +possible to [install from source](installation/from-source.md), without including SQLite support. ### Running Gitea on another port diff --git a/docs/content/doc/installation/from-binary.fr-fr.md b/docs/content/installation/from-binary.fr-fr.md similarity index 91% rename from docs/content/doc/installation/from-binary.fr-fr.md rename to docs/content/installation/from-binary.fr-fr.md index f3d311043..ac534263e 100644 --- a/docs/content/doc/installation/from-binary.fr-fr.md +++ b/docs/content/installation/from-binary.fr-fr.md @@ -2,7 +2,7 @@ date: "2017-08-23T09:00:00+02:00" title: "Installation avec le binaire pré-compilé" slug: "install-from-binary" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Binaire pré-compilé" - weight: 15 + sidebar_position: 15 identifier: "install-from-binary" --- @@ -20,7 +20,7 @@ menu: Tous les binaires sont livrés avec le support de SQLite, MySQL et PostgreSQL, et sont construits avec les ressources incorporées. Gardez à l'esprit que cela peut être différent pour les versions antérieures. L'installation basée sur nos binaires est assez simple, il suffit de choisir le fichier correspondant à votre plateforme à partir de la [page de téléchargement](https://dl.gitea.com/gitea). Copiez l'URL et remplacer l'URL dans les commandes suivantes par la nouvelle: ``` -wget -O gitea https://dl.gitea.com/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 +wget -O gitea https://dl.gitea.com/gitea/@version@/gitea-@version@-linux-amd64 chmod +x gitea ``` @@ -36,7 +36,7 @@ Après avoir suivi les étapes ci-dessus, vous aurez un binaire `gitea` dans vot ### Anciennes version de glibc -Les anciennes distributions Linux (comme Debian 7 ou CentOS 6) peuvent ne pas être capable d'exécuter le binaire Gitea, résultant généralement une erreur du type ```./gitea: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./gitea)```. Cette erreur est due au driver SQLite que nous intégrons dans le binaire Gitea. Dans le futur, nous fournirons des binaires sans la dépendance pour la bibliothèque glibc. En attendant, vous pouvez mettre à jour votre distribution ou installer Gitea depuis le [code source]({{< relref "doc/installation/from-source.fr-fr.md" >}}). +Les anciennes distributions Linux (comme Debian 7 ou CentOS 6) peuvent ne pas être capable d'exécuter le binaire Gitea, résultant généralement une erreur du type ```./gitea: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./gitea)```. Cette erreur est due au driver SQLite que nous intégrons dans le binaire Gitea. Dans le futur, nous fournirons des binaires sans la dépendance pour la bibliothèque glibc. En attendant, vous pouvez mettre à jour votre distribution ou installer Gitea depuis le [code source](installation/from-source.md). ### Exécuter Gitea avec un autre port diff --git a/docs/content/doc/installation/from-binary.zh-cn.md b/docs/content/installation/from-binary.zh-cn.md similarity index 89% rename from docs/content/doc/installation/from-binary.zh-cn.md rename to docs/content/installation/from-binary.zh-cn.md index 85fc47362..a5f54756e 100644 --- a/docs/content/doc/installation/from-binary.zh-cn.md +++ b/docs/content/installation/from-binary.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "使用二进制文件安装" slug: "install-from-binary" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "使用二进制文件安装" - weight: 15 + sidebar_position: 15 identifier: "install-from-binary" --- @@ -19,10 +19,6 @@ menu: 所有打包的二进制程序均包含 SQLite,MySQL 和 PostgreSQL 的数据库连接支持,同时网站的静态资源均已嵌入到可执行程序中,这一点和曾经的 Gogs 有所不同。 -**目录** - -{{< toc >}} - ## 下载 你可以从 [下载页面](https://dl.gitea.com/gitea/) 选择对应平台的二进制文件。 @@ -42,7 +38,7 @@ menu: 使用以下命令下载适用于 64-bit Linux 平台的二进制文件。 ```sh -wget -O gitea https://dl.gitea.com/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 +wget -O gitea https://dl.gitea.com/gitea/@version@/gitea-@version@-linux-amd64 chmod +x gitea ``` @@ -53,7 +49,7 @@ Gitea 对打包的二进制文件使用 [GPG密钥](https://keys.openpgp.org/sea ```sh gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 -gpg --verify gitea-{{< version >}}-linux-amd64.asc gitea-{{< version >}}-linux-amd64 +gpg --verify gitea-@version@-linux-amd64.asc gitea-@version@-linux-amd64 ``` 校验正确时的信息为 `Good signature from "Teabot "`。 @@ -61,7 +57,7 @@ gpg --verify gitea-{{< version >}}-linux-amd64.asc gitea-{{< version >}}-linux-a ## 服务器设置 -**提示:** `GITEA_WORK_DIR` 表示 Gitea 工作的路径。以下路径可以通过 [环境变量]({{< relref "doc/administration/environment-variables.zh-cn.md" >}}) 初始化。 +**提示:** `GITEA_WORK_DIR` 表示 Gitea 工作的路径。以下路径可以通过 [环境变量](administration/environment-variables.md) 初始化。 ### 准备环境 @@ -143,7 +139,7 @@ cp gitea /usr/local/bin/gitea ### 1. 创建服务自动启动 Gitea(推荐) -学习创建 [Linux 服务]({{< relref "doc/installation/run-as-service-in-ubuntu.zh-cn.md" >}}) +学习创建 [Linux 服务](installation/run-as-service-in-ubuntu.md) ### 2. 通过命令行终端运行 @@ -155,7 +151,7 @@ GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini 您可以通过停止程序,替换 `/usr/local/bin/gitea` 并重启来更新到新版本。直接替换可执行程序时不要更改或使用新的文件名称,以避免数据出错。 -建议您在更新之前进行[备份]({{< relref "doc/administration/backup-and-restore.zh-cn.md" >}})。 +建议您在更新之前进行[备份](administration/backup-and-restore.md)。 ### 1. 使用 systemd 重新启动 Gitea(推荐) @@ -175,4 +171,4 @@ GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini > 更多经验总结,请参考英文版 [Troubleshooting](/en-us/install-from-binary/#troubleshooting) -如果从本页中没有找到你需要的内容,请访问 [帮助页面]({{< relref "doc/help/support.zh-cn.md" >}}) +如果从本页中没有找到你需要的内容,请访问 [帮助页面](help/support.md) diff --git a/docs/content/doc/installation/from-binary.zh-tw.md b/docs/content/installation/from-binary.zh-tw.md similarity index 89% rename from docs/content/doc/installation/from-binary.zh-tw.md rename to docs/content/installation/from-binary.zh-tw.md index 78db79775..1fff90aa3 100644 --- a/docs/content/doc/installation/from-binary.zh-tw.md +++ b/docs/content/installation/from-binary.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "執行檔安裝" slug: "install-from-binary" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "執行檔" - weight: 15 + sidebar_position: 15 identifier: "install-from-binary" --- @@ -20,7 +20,7 @@ menu: 所有的執行檔皆支援 SQLite, MySQL and PostgreSQL,且所有檔案都已經包在執行檔內,這一點跟之前的版本有所不同。關於執行檔的安裝方式非常簡單,只要從[下載頁面](https://dl.gitea.com/gitea)選擇相對應平台,複製下載連結,使用底下指令就可以完成了: ``` -wget -O gitea https://dl.gitea.com/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 +wget -O gitea https://dl.gitea.com/gitea/@version@/gitea-@version@-linux-amd64 chmod +x gitea ``` diff --git a/docs/content/doc/installation/from-package.en-us.md b/docs/content/installation/from-package.en-us.md similarity index 91% rename from docs/content/doc/installation/from-package.en-us.md rename to docs/content/installation/from-package.en-us.md index b427ae9a4..36f3e2db0 100644 --- a/docs/content/doc/installation/from-package.en-us.md +++ b/docs/content/installation/from-package.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Installation from package" slug: "install-from-package" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,20 +11,16 @@ menu: sidebar: parent: "installation" name: "From package" - weight: 20 + sidebar_position: 20 identifier: "install-from-package" --- -**Table of Contents** - -{{< toc >}} - # Official packages ## macOS Currently, the only supported method of installation on MacOS is [Homebrew](http://brew.sh/). -Following the [deployment from binary]({{< relref "doc/installation/from-binary.en-us.md" >}}) guide may work, +Following the [deployment from binary](installation/from-binary.md) guide may work, but is not supported. To install Gitea via `brew`: ``` @@ -87,7 +83,7 @@ There is a [Gitea](https://chocolatey.org/packages/gitea) package for Windows by choco install gitea ``` -Or follow the [deployment from binary]({{< relref "doc/installation/from-binary.en-us.md" >}}) guide. +Or follow the [deployment from binary](installation/from-binary.md) guide. ## FreeBSD diff --git a/docs/content/doc/installation/from-package.fr-fr.md b/docs/content/installation/from-package.fr-fr.md similarity index 81% rename from docs/content/doc/installation/from-package.fr-fr.md rename to docs/content/installation/from-package.fr-fr.md index 0a00cd7f0..256c913dc 100644 --- a/docs/content/doc/installation/from-package.fr-fr.md +++ b/docs/content/installation/from-package.fr-fr.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Installation depuis le gestionnaire de paquets" slug: "install-from-package" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Gestionnaire de paquets" - weight: 20 + sidebar_position: 20 identifier: "install-from-package" --- @@ -19,15 +19,15 @@ menu: ## Linux -Nous n'avons pas encore publié de paquet pour Linux, nous allons mettre à jour cette page directement lorsque nous commencerons à publier des paquets pour toutes distributions Linux. En attendant, vous devriez suivre les [instructions d'installation]({{< relref "doc/installation/from-binary.fr-fr.md" >}}) avec le binaire pré-compilé. +Nous n'avons pas encore publié de paquet pour Linux, nous allons mettre à jour cette page directement lorsque nous commencerons à publier des paquets pour toutes distributions Linux. En attendant, vous devriez suivre les [instructions d'installation](installation/from-binary.md) avec le binaire pré-compilé. ## Windows -Nous n'avons pas encore publié de paquet pour Windows, nous allons mettre à jour cette page directement lorsque nous commencerons à publier des paquets sous la forme de fichiers `MSI` ou via [Chocolatey](https://chocolatey.org/). En attendant, vous devriez suivre les [instructions d'installation]({{< relref "doc/installation/from-binary.fr-fr.md" >}}) avec le binaire pré-compilé. +Nous n'avons pas encore publié de paquet pour Windows, nous allons mettre à jour cette page directement lorsque nous commencerons à publier des paquets sous la forme de fichiers `MSI` ou via [Chocolatey](https://chocolatey.org/). En attendant, vous devriez suivre les [instructions d'installation](installation/from-binary.md) avec le binaire pré-compilé. ## macOS -Actuellement, nous ne supportons que l'installation via `brew` pour macOS. Si vous n'utilisez pas [Homebrew](http://brew.sh/), vous pouvez suivre les [instructions d'installation]({{< relref "doc/installation/from-binary.fr-fr.md" >}}) avec le binaire pré-compilé. Pour installer Gitea depuis `brew`, utilisez les commandes suivantes : +Actuellement, nous ne supportons que l'installation via `brew` pour macOS. Si vous n'utilisez pas [Homebrew](http://brew.sh/), vous pouvez suivre les [instructions d'installation](installation/from-binary.md) avec le binaire pré-compilé. Pour installer Gitea depuis `brew`, utilisez les commandes suivantes : ``` brew tap go-gitea/gitea diff --git a/docs/content/doc/installation/from-package.zh-cn.md b/docs/content/installation/from-package.zh-cn.md similarity index 90% rename from docs/content/doc/installation/from-package.zh-cn.md rename to docs/content/installation/from-package.zh-cn.md index 4845dd115..702f2bd80 100644 --- a/docs/content/doc/installation/from-package.zh-cn.md +++ b/docs/content/installation/from-package.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "使用包管理器安装" slug: "install-from-package" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,19 +11,15 @@ menu: sidebar: parent: "installation" name: "使用包管理器安装" - weight: 20 + sidebar_position: 20 identifier: "install-from-package" --- -**目录** - -{{< toc >}} - # 官方包管理器 ## macOS -macOS 平台下当前我们仅支持通过 `brew` 来安装。如果你没有安装 [Homebrew](http://brew.sh/),你也可以查看 [从二进制安装]({{< relref "doc/installation/from-binary.zh-cn.md" >}})。在你安装了 `brew` 之后, 你可以执行以下命令: +macOS 平台下当前我们仅支持通过 `brew` 来安装。如果你没有安装 [Homebrew](http://brew.sh/),你也可以查看 [从二进制安装](installation/from-binary.md)。在你安装了 `brew` 之后, 你可以执行以下命令: ``` brew tap gitea/tap https://gitea.com/gitea/homebrew-gitea @@ -77,7 +73,7 @@ OpenSUSE 构建服务为 [openSUSE 和 SLE](https://software.opensuse.org/downlo choco install gitea ``` -你也可以 [从二进制安装]({{< relref "doc/installation/from-binary.zh-cn.md" >}}) 。 +你也可以 [从二进制安装](installation/from-binary.md) 。 ## FreeBSD diff --git a/docs/content/doc/installation/from-package.zh-tw.md b/docs/content/installation/from-package.zh-tw.md similarity index 79% rename from docs/content/doc/installation/from-package.zh-tw.md rename to docs/content/installation/from-package.zh-tw.md index c01653e1d..5a417ee20 100644 --- a/docs/content/doc/installation/from-package.zh-tw.md +++ b/docs/content/installation/from-package.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "套件安裝" slug: "install-from-package" -weight: 20 +sidebar_position: 20 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "套件安裝" - weight: 20 + sidebar_position: 20 identifier: "install-from-package" --- @@ -19,7 +19,7 @@ menu: ## Linux -目前尚未發佈任何 Linux 套件,如果我們發佈了,會直接更新此網頁。在這之前請先參考[執行檔安裝]({{< relref "doc/installation/from-binary.zh-tw.md" >}})方式。 +目前尚未發佈任何 Linux 套件,如果我們發佈了,會直接更新此網頁。在這之前請先參考[執行檔安裝](installation/from-binary.md)方式。 ## Windows @@ -29,11 +29,11 @@ menu: choco install gitea ``` -也可以參考[執行檔安裝]({{< relref "doc/installation/from-binary.zh-tw.md" >}})方式。 +也可以參考[執行檔安裝](installation/from-binary.md)方式。 ## macOS -目前我們只支援透過 `brew` 來安裝套件。假如您尚未使用 [Homebrew](http://brew.sh/),您就必須參考[執行檔安裝]({{< relref "doc/installation/from-binary.zh-tw.md" >}})方式。透過 `brew` 安裝 Gitea,您只需要執行底下指令: +目前我們只支援透過 `brew` 來安裝套件。假如您尚未使用 [Homebrew](http://brew.sh/),您就必須參考[執行檔安裝](installation/from-binary.md)方式。透過 `brew` 安裝 Gitea,您只需要執行底下指令: ``` brew tap go-gitea/gitea diff --git a/docs/content/doc/installation/from-source.en-us.md b/docs/content/installation/from-source.en-us.md similarity index 90% rename from docs/content/doc/installation/from-source.en-us.md rename to docs/content/installation/from-source.en-us.md index 98179dd55..ef720f082 100644 --- a/docs/content/doc/installation/from-source.en-us.md +++ b/docs/content/installation/from-source.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Installation from source" slug: "install-from-source" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "From source" - weight: 30 + sidebar_position: 30 identifier: "install-from-source" --- @@ -25,7 +25,7 @@ environment variable and to add the go bin directory or directories Next, [install Node.js with npm](https://nodejs.org/en/download/) which is required to build the JavaScript and CSS files. The minimum supported Node.js -version is {{< min-node-version >}} and the latest LTS version is recommended. +version is @minNodeVersion@ and the latest LTS version is recommended. **Note**: When executing make tasks that require external tools, like `make misspell-check`, Gitea will automatically download and build these as @@ -33,13 +33,9 @@ necessary. To be able to use these, you must have the `"$GOPATH/bin"` directory on the executable path. If you don't add the go bin directory to the executable path, you will have to manage this yourself. -**Note 2**: Go version {{< min-go-version >}} or higher is required. However, it is recommended to +**Note 2**: Go version @minGoVersion@ or higher is required. However, it is recommended to obtain the same version as our continuous integration, see the advice given in -[Hacking on Gitea]({{< relref "doc/development/hacking-on-gitea.en-us.md" >}}) - -**Table of Contents** - -{{< toc >}} +[Hacking on Gitea](development/hacking-on-gitea.md) ## Download @@ -62,7 +58,7 @@ To work with tagged releases, the following commands can be used: ```bash git branch -a -git checkout v{{< version >}} +git checkout v@version@ ``` To validate a Pull Request, first enable the new branch (`xyz` is the PR id; @@ -72,23 +68,23 @@ for example `2663` for [#2663](https://github.com/go-gitea/gitea/pull/2663)): git fetch origin pull/xyz/head:pr-xyz ``` -To build Gitea from source at a specific tagged release (like v{{< version >}}), list the +To build Gitea from source at a specific tagged release (like v@version@), list the available tags and check out the specific tag. List available tags with the following. ```bash git tag -l -git checkout v{{< version >}} # or git checkout pr-xyz +git checkout v@version@ # or git checkout pr-xyz ``` ## Build To build from source, the following programs must be present on the system: -- `go` {{< min-go-version >}} or higher, see [here](https://golang.org/dl/) -- `node` {{< min-node-version >}} or higher with `npm`, see [here](https://nodejs.org/en/download/) -- `make`, see [here]({{< relref "doc/development/hacking-on-gitea.en-us.md" >}}#installing-make) +- `go` @minGoVersion@ or higher, see [here](https://golang.org/dl/) +- `node` @minNodeVersion@ or higher with `npm`, see [here](https://nodejs.org/en/download/) +- `make`, see [here](development/hacking-on-gitea.md#installing-make) Various [make tasks](https://github.com/go-gitea/gitea/blob/main/Makefile) are provided to keep the build process as simple as possible. @@ -123,8 +119,8 @@ TAGS="bindata sqlite sqlite_unlock_notify" make build The `build` target is split into two sub-targets: -- `make backend` which requires [Go {{< min-go-version >}}](https://golang.org/dl/) or greater. -- `make frontend` which requires [Node.js {{< min-node-version >}}](https://nodejs.org/en/download/) or greater. +- `make backend` which requires [Go @minGoVersion@](https://golang.org/dl/) or greater. +- `make frontend` which requires [Node.js @minNodeVersion@](https://nodejs.org/en/download/) or greater. If pre-built frontend files are present it is possible to only build the backend: diff --git a/docs/content/doc/installation/from-source.fr-fr.md b/docs/content/installation/from-source.fr-fr.md similarity index 93% rename from docs/content/doc/installation/from-source.fr-fr.md rename to docs/content/installation/from-source.fr-fr.md index 6e2ff164f..fe0f173bd 100644 --- a/docs/content/doc/installation/from-source.fr-fr.md +++ b/docs/content/installation/from-source.fr-fr.md @@ -2,7 +2,7 @@ date: "2017-08-23T09:00:00+02:00" title: "Installation depuis le code source" slug: "install-from-source" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Code source" - weight: 30 + sidebar_position: 30 identifier: "install-from-source" --- @@ -36,7 +36,7 @@ Si vous souhaitez compiler la dernière version stable, utilisez les étiquettes ``` git branch -a -git checkout v{{< version >}} +git checkout v@version@ ``` Si vous souhaitez valider une demande d'ajout (_Pull request_), vous devez activer cette branche en premier : @@ -45,11 +45,11 @@ Si vous souhaitez valider une demande d'ajout (_Pull request_), vous devez activ git fetch origin pull/xyz/head:pr-xyz # xyz is PR value ``` -Enfin, vous pouvez directement utiliser les versions étiquettées (ex : `v{{< version >}}`). Pour utiliser les étiquettes, vous devez lister les étiquettes disponibles et choisir une étiquette spécifique avec les commandes suivantes : +Enfin, vous pouvez directement utiliser les versions étiquettées (ex : `v@version@`). Pour utiliser les étiquettes, vous devez lister les étiquettes disponibles et choisir une étiquette spécifique avec les commandes suivantes : ``` git tag -l -git checkout v{{< version >}} +git checkout v@version@ git checkout pr-xyz ``` diff --git a/docs/content/doc/installation/from-source.zh-cn.md b/docs/content/installation/from-source.zh-cn.md similarity index 89% rename from docs/content/doc/installation/from-source.zh-cn.md rename to docs/content/installation/from-source.zh-cn.md index 5d4ab0c3a..c1f00904d 100644 --- a/docs/content/doc/installation/from-source.zh-cn.md +++ b/docs/content/installation/from-source.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "使用源代码安装" slug: "install-from-source" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "使用源代码安装" - weight: 30 + sidebar_position: 30 identifier: "install-from-source" --- @@ -21,10 +21,6 @@ menu: 其次你需要[安装Node.js](https://nodejs.org/zh-cn/download/),Node.js 和 npm 将用于构建 Gitea 前端。 -**目录** - -{{< toc >}} - ## 下载 你需要获取Gitea的源码,最方便的方式是使用 `git` 命令。执行以下命令: @@ -40,22 +36,22 @@ cd gitea ```bash git branch -a -git checkout v{{< version >}} +git checkout v@version@ ``` -最后,你也可以直接使用标签版本如 `v{{< version >}}`。你可以执行以下命令列出可用的版本并选择某个版本签出: +最后,你也可以直接使用标签版本如 `v@version@`。你可以执行以下命令列出可用的版本并选择某个版本签出: ```bash git tag -l -git checkout v{{< version >}} +git checkout v@version@ ``` ## 编译 要从源代码进行编译,以下依赖程序必须事先安装好: -- `go` {{< min-go-version >}} 或以上版本, 详见[这里](https://golang.google.cn/doc/install) -- `node` {{< min-node-version >}} 或以上版本,并且安装 `npm`, 详见[这里](https://nodejs.org/zh-cn/download/) +- `go` @minGoVersion@ 或以上版本, 详见[这里](https://golang.google.cn/doc/install) +- `node` @minNodeVersion@ 或以上版本,并且安装 `npm`, 详见[这里](https://nodejs.org/zh-cn/download/) - `make`, 详见[这里](/zh-cn/hacking-on-gitea/) 各种可用的 [make 任务](https://github.com/go-gitea/gitea/blob/main/Makefile) diff --git a/docs/content/doc/installation/from-source.zh-tw.md b/docs/content/installation/from-source.zh-tw.md similarity index 87% rename from docs/content/doc/installation/from-source.zh-tw.md rename to docs/content/installation/from-source.zh-tw.md index ea34b7e18..eedfc36f0 100644 --- a/docs/content/doc/installation/from-source.zh-tw.md +++ b/docs/content/installation/from-source.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "原始碼安裝" slug: "install-from-source" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "原始碼安裝" - weight: 30 + sidebar_position: 30 identifier: "install-from-source" --- @@ -34,14 +34,14 @@ cd $GOPATH/src/code.gitea.io/gitea ``` git branch -a -git checkout v{{< version >}} +git checkout v@version@ ``` -最後您也可以直接編譯最新的標籤版本像是 `v{{< version >}}`,假如您想要從原始碼編譯,這方法是最合適的,在編譯標籤版本前,您需要列出當下所有標籤,並且直接切換到標籤版本,請使用底下指令:: +最後您也可以直接編譯最新的標籤版本像是 `v@version@`,假如您想要從原始碼編譯,這方法是最合適的,在編譯標籤版本前,您需要列出當下所有標籤,並且直接切換到標籤版本,請使用底下指令:: ``` git tag -l -git checkout v{{< version >}} +git checkout v@version@ ``` ## 編譯 diff --git a/docs/content/doc/installation/on-cloud-provider.en-us.md b/docs/content/installation/on-cloud-provider.en-us.md similarity index 97% rename from docs/content/doc/installation/on-cloud-provider.en-us.md rename to docs/content/installation/on-cloud-provider.en-us.md index bf3bf4c31..d5baece8c 100644 --- a/docs/content/doc/installation/on-cloud-provider.en-us.md +++ b/docs/content/installation/on-cloud-provider.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Install on Cloud Provider" slug: "install-on-cloud-provider" -weight: 90 +sidebar_position: 90 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "installation" name: "On cloud provider" - weight: 90 + sidebar_position: 90 identifier: "install-on-cloud-provider" --- # Installation on Cloud Provider -**Table of Contents** - -{{< toc >}} - ## Cloudron Gitea is available as a 1-click install on [Cloudron](https://cloudron.io). diff --git a/docs/content/doc/installation/on-cloud-provider.zh-cn.md b/docs/content/installation/on-cloud-provider.zh-cn.md similarity index 96% rename from docs/content/doc/installation/on-cloud-provider.zh-cn.md rename to docs/content/installation/on-cloud-provider.zh-cn.md index 80fbf2d51..7a2f3709c 100644 --- a/docs/content/doc/installation/on-cloud-provider.zh-cn.md +++ b/docs/content/installation/on-cloud-provider.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "在云服务器中安装 Gitea" slug: "install-on-cloud-provider" -weight: 90 +sidebar_position: 90 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "installation" name: "在云服务器中安装 Gitea" - weight: 90 + sidebar_position: 90 identifier: "install-on-cloud-provider" --- # 在云服务器上安装 Gitea -**Table of Contents** - -{{< toc >}} - ## Cloudron Gitea 可以在 [Cloudron](https://cloudron.io) 上进行一键安装。 diff --git a/docs/content/doc/installation/on-kubernetes.en-us.md b/docs/content/installation/on-kubernetes.en-us.md similarity index 97% rename from docs/content/doc/installation/on-kubernetes.en-us.md rename to docs/content/installation/on-kubernetes.en-us.md index 0847a3b85..00f2aab28 100644 --- a/docs/content/doc/installation/on-kubernetes.en-us.md +++ b/docs/content/installation/on-kubernetes.en-us.md @@ -2,7 +2,7 @@ date: "2020-03-19T19:27:00+02:00" title: "Install on Kubernetes" slug: "install-on-kubernetes" -weight: 80 +sidebar_position: 80 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Kubernetes" - weight: 80 + sidebar_position: 80 identifier: "install-on-kubernetes" --- @@ -49,7 +49,6 @@ a successful health check response will respond with http code `200`, here's exa ``` HTTP/1.1 200 OK - { "status": "pass", "description": "Gitea: Git with a cup of tea", diff --git a/docs/content/doc/installation/on-kubernetes.zh-cn.md b/docs/content/installation/on-kubernetes.zh-cn.md similarity index 97% rename from docs/content/doc/installation/on-kubernetes.zh-cn.md rename to docs/content/installation/on-kubernetes.zh-cn.md index 83647a2ea..1af55d874 100644 --- a/docs/content/doc/installation/on-kubernetes.zh-cn.md +++ b/docs/content/installation/on-kubernetes.zh-cn.md @@ -2,7 +2,7 @@ date: "2020-03-19T19:27:00+02:00" title: "在 Kubernetes 中安装 Gitea" slug: "install-on-kubernetes" -weight: 80 +sidebar_position: 80 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "在 Kubernetes 中安装 Gitea" - weight: 80 + sidebar_position: 80 identifier: "install-on-kubernetes" --- @@ -60,7 +60,6 @@ Gitea 附带了一个运行状况检查接口 `/api/healthz`,你可以像这 ``` HTTP/1.1 200 OK - { "status": "pass", "description": "Gitea: Git with a cup of tea", diff --git a/docs/content/doc/installation/on-kubernetes.zh-tw.md b/docs/content/installation/on-kubernetes.zh-tw.md similarity index 97% rename from docs/content/doc/installation/on-kubernetes.zh-tw.md rename to docs/content/installation/on-kubernetes.zh-tw.md index 28dfbda81..294e11ee1 100644 --- a/docs/content/doc/installation/on-kubernetes.zh-tw.md +++ b/docs/content/installation/on-kubernetes.zh-tw.md @@ -2,7 +2,7 @@ date: "2020-03-19T19:27:00+02:00" title: "在 Kubernetes 安裝" slug: "install-on-kubernetes" -weight: 80 +sidebar_position: 80 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Kubernetes" - weight: 80 + sidebar_position: 80 identifier: "install-on-kubernetes" --- @@ -49,7 +49,6 @@ Gitea 附帶了一個運行狀況檢查端點 `/api/healthz`,你可以像這 ``` HTTP/1.1 200 OK - { "status": "pass", "description": "Gitea: Git with a cup of tea", diff --git a/docs/content/doc/installation/run-as-service-in-ubuntu.en-us.md b/docs/content/installation/run-as-service-in-ubuntu.en-us.md similarity index 97% rename from docs/content/doc/installation/run-as-service-in-ubuntu.en-us.md rename to docs/content/installation/run-as-service-in-ubuntu.en-us.md index 3587dfc01..ab862b373 100644 --- a/docs/content/doc/installation/run-as-service-in-ubuntu.en-us.md +++ b/docs/content/installation/run-as-service-in-ubuntu.en-us.md @@ -2,7 +2,7 @@ date: "2017-07-21T12:00:00+02:00" title: "Run as service in Linux" slug: "linux-service" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Linux service" - weight: 40 + sidebar_position: 40 identifier: "linux-service" --- diff --git a/docs/content/doc/installation/run-as-service-in-ubuntu.zh-cn.md b/docs/content/installation/run-as-service-in-ubuntu.zh-cn.md similarity index 97% rename from docs/content/doc/installation/run-as-service-in-ubuntu.zh-cn.md rename to docs/content/installation/run-as-service-in-ubuntu.zh-cn.md index 1512a4ab2..6ec127c31 100644 --- a/docs/content/doc/installation/run-as-service-in-ubuntu.zh-cn.md +++ b/docs/content/installation/run-as-service-in-ubuntu.zh-cn.md @@ -2,7 +2,7 @@ date: "2017-07-21T12:00:00+02:00" title: "在 Linux 中以 service 方式运行" slug: "linux-service" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "在Linux中以service方式运行" - weight: 40 + sidebar_position: 40 identifier: "linux-service" --- diff --git a/docs/content/doc/installation/run-as-service-in-ubuntu.zh-tw.md b/docs/content/installation/run-as-service-in-ubuntu.zh-tw.md similarity index 97% rename from docs/content/doc/installation/run-as-service-in-ubuntu.zh-tw.md rename to docs/content/installation/run-as-service-in-ubuntu.zh-tw.md index 7465f2253..51b23deaa 100644 --- a/docs/content/doc/installation/run-as-service-in-ubuntu.zh-tw.md +++ b/docs/content/installation/run-as-service-in-ubuntu.zh-tw.md @@ -2,7 +2,7 @@ date: "2017-07-21T12:00:00+02:00" title: "在 Linux 中以服務執行" slug: "linux-service" -weight: 40 +sidebar_position: 40 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Linux 服務" - weight: 40 + sidebar_position: 40 identifier: "linux-service" --- diff --git a/docs/content/doc/installation/upgrade-from-gitea.en-us.md b/docs/content/installation/upgrade-from-gitea.en-us.md similarity index 98% rename from docs/content/doc/installation/upgrade-from-gitea.en-us.md rename to docs/content/installation/upgrade-from-gitea.en-us.md index a6415f786..9b82de467 100644 --- a/docs/content/doc/installation/upgrade-from-gitea.en-us.md +++ b/docs/content/installation/upgrade-from-gitea.en-us.md @@ -2,7 +2,7 @@ date: "2021-09-02T16:00:00+08:00" title: "Upgrade from an old Gitea" slug: "upgrade-from-gitea" -weight: 100 +sidebar_position: 100 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "installation" name: "Upgrade From Old Gitea" - weight: 100 + sidebar_position: 100 identifier: "upgrade-from-gitea" --- # Upgrade from an old Gitea -**Table of Contents** - -{{< toc >}} - To update Gitea, download a newer version, stop the old one, perform a backup, and run the new one. Every time a Gitea instance starts up, it checks whether a database migration should be run. If a database migration is required, Gitea will take some time to complete the upgrade and then serve. diff --git a/docs/content/doc/installation/upgrade-from-gitea.zh-cn.md b/docs/content/installation/upgrade-from-gitea.zh-cn.md similarity index 98% rename from docs/content/doc/installation/upgrade-from-gitea.zh-cn.md rename to docs/content/installation/upgrade-from-gitea.zh-cn.md index 8429ca492..8c919e15f 100644 --- a/docs/content/doc/installation/upgrade-from-gitea.zh-cn.md +++ b/docs/content/installation/upgrade-from-gitea.zh-cn.md @@ -2,23 +2,19 @@ date: "2021-09-02T16:00:00+08:00" title: "从旧版 Gitea 升级" slug: "upgrade-from-gitea" -weight: 100 +sidebar_position: 100 toc: false draft: false menu: sidebar: parent: "installation" name: "从旧版 Gitea 升级" - weight: 100 + sidebar_position: 100 identifier: "upgrade-from-gitea" --- # 从旧版 Gitea 升级 -**目录** - -{{< toc >}} - 想要升级 Gitea,只需要下载新版,停止运行旧版,进行数据备份,然后运行新版就好。 每次 Gitea 实例启动时,它都会检查是否要进行数据库迁移。 如果需要进行数据库迁移,Gitea 会花一些时间完成升级然后继续服务。 diff --git a/docs/content/doc/installation/upgrade-from-gogs.en-us.md b/docs/content/installation/upgrade-from-gogs.en-us.md similarity index 97% rename from docs/content/doc/installation/upgrade-from-gogs.en-us.md rename to docs/content/installation/upgrade-from-gogs.en-us.md index fa545ee02..47cddc1c3 100644 --- a/docs/content/doc/installation/upgrade-from-gogs.en-us.md +++ b/docs/content/installation/upgrade-from-gogs.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Upgrade from Gogs" slug: "upgrade-from-gogs" -weight: 101 +sidebar_position: 101 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "installation" name: "Upgrade From Gogs" - weight: 101 + sidebar_position: 101 identifier: "upgrade-from-gogs" --- # Upgrade from Gogs -**Table of Contents** - -{{< toc >}} - Gogs, version 0.9.146 and older, can be easily migrated to Gitea. There are some basic steps to follow. On a Linux system run as the Gogs user: @@ -83,7 +79,7 @@ Upgrade to [`gitea 1.6.4`](https://dl.gitea.com/gitea/1.6.4/) first. Download th the destination platform from the [downloads page](https://dl.gitea.com/gitea/1.6.4/) and replace the binary. Run Gitea at least once and check that everything works as expected. -Then repeat the procedure, but this time using the [latest release](https://dl.gitea.com/gitea/{{< version >}}/). +Then repeat the procedure, but this time using the [latest release](https://dl.gitea.com/gitea/@version@/). ## Upgrading from a more recent version of Gogs diff --git a/docs/content/doc/installation/upgrade-from-gogs.fr-fr.md b/docs/content/installation/upgrade-from-gogs.fr-fr.md similarity index 98% rename from docs/content/doc/installation/upgrade-from-gogs.fr-fr.md rename to docs/content/installation/upgrade-from-gogs.fr-fr.md index 9d287d111..a5cd87598 100644 --- a/docs/content/doc/installation/upgrade-from-gogs.fr-fr.md +++ b/docs/content/installation/upgrade-from-gogs.fr-fr.md @@ -2,7 +2,7 @@ date: "2017-08-23T09:00:00+02:00" title: "Mise à jour depuis Gogs" slug: "upgrade-from-gogs" -weight: 101 +sidebar_position: 101 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Depuis Gogs" - weight: 101 + sidebar_position: 101 identifier: "upgrade-from-gogs" --- diff --git a/docs/content/doc/installation/upgrade-from-gogs.zh-cn.md b/docs/content/installation/upgrade-from-gogs.zh-cn.md similarity index 95% rename from docs/content/doc/installation/upgrade-from-gogs.zh-cn.md rename to docs/content/installation/upgrade-from-gogs.zh-cn.md index f537896ca..4de41ca32 100644 --- a/docs/content/doc/installation/upgrade-from-gogs.zh-cn.md +++ b/docs/content/installation/upgrade-from-gogs.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "从 Gogs 升级" slug: "upgrade-from-gogs" -weight: 101 +sidebar_position: 101 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "从 Gogs 升级" - weight: 101 + sidebar_position: 101 identifier: "upgrade-from-gogs" --- diff --git a/docs/content/doc/installation/upgrade-from-gogs.zh-tw.md b/docs/content/installation/upgrade-from-gogs.zh-tw.md similarity index 97% rename from docs/content/doc/installation/upgrade-from-gogs.zh-tw.md rename to docs/content/installation/upgrade-from-gogs.zh-tw.md index 46442845e..ef5737bc6 100644 --- a/docs/content/doc/installation/upgrade-from-gogs.zh-tw.md +++ b/docs/content/installation/upgrade-from-gogs.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "從 Gogs 升級" slug: "upgrade-from-gogs" -weight: 101 +sidebar_position: 101 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "從 Gogs 升級" - weight: 101 + sidebar_position: 101 identifier: "upgrade-from-gogs" --- @@ -19,8 +19,6 @@ menu: **目錄** -{{< toc >}} - 若您正在執行 Gogs 0.9.146 以下版本,您可以很簡單地遷移到 Gitea。 請參考下列步驟。在 Linux 系統上請以 Gogs 的使用者身份執行: @@ -80,7 +78,7 @@ menu: 請先升級到 [`gitea 1.6.4`](https://dl.gitea.com/gitea/1.6.4/),先從[下載頁](https://dl.gitea.com/gitea/1.6.4/)下載 您平臺的二進位檔取代既有的。至少執行一次 Gitea 並確認一切符合預期。 -接著重複上述步驟,但這次請使用[最新發行版本](https://dl.gitea.com/gitea/{{< version >}}/)。 +接著重複上述步驟,但這次請使用[最新發行版本](https://dl.gitea.com/gitea/@version@/)。 ## 從更新版本的 Gogs 升級 diff --git a/docs/content/doc/installation/windows-service.en-us.md b/docs/content/installation/windows-service.en-us.md similarity index 97% rename from docs/content/doc/installation/windows-service.en-us.md rename to docs/content/installation/windows-service.en-us.md index d3f5a9aba..201681bc0 100644 --- a/docs/content/doc/installation/windows-service.en-us.md +++ b/docs/content/installation/windows-service.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-21T15:00:00-02:00" title: "Register as a Windows Service" slug: "windows-service" -weight: 50 +sidebar_position: 50 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Windows Service" - weight: 50 + sidebar_position: 50 identifier: "windows-service" --- diff --git a/docs/content/doc/installation/windows-service.fr-fr.md b/docs/content/installation/windows-service.fr-fr.md similarity index 95% rename from docs/content/doc/installation/windows-service.fr-fr.md rename to docs/content/installation/windows-service.fr-fr.md index c4e00b04e..d0d760629 100644 --- a/docs/content/doc/installation/windows-service.fr-fr.md +++ b/docs/content/installation/windows-service.fr-fr.md @@ -2,7 +2,7 @@ date: "2017-08-23T09:00:00+02:00" title: "Démarrer en tant que service Windows" slug: "windows-service" -weight: 50 +sidebar_position: 50 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Service Windows" - weight: 50 + sidebar_position: 50 identifier: "windows-service" --- diff --git a/docs/content/doc/installation/windows-service.zh-cn.md b/docs/content/installation/windows-service.zh-cn.md similarity index 95% rename from docs/content/doc/installation/windows-service.zh-cn.md rename to docs/content/installation/windows-service.zh-cn.md index 0f2a0f586..f2bff86f0 100644 --- a/docs/content/doc/installation/windows-service.zh-cn.md +++ b/docs/content/installation/windows-service.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-21T15:00:00-02:00" title: "注册为Windows服务" slug: "windows-service" -weight: 50 +sidebar_position: 50 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Windows服务" - weight: 50 + sidebar_position: 50 identifier: "windows-service" --- diff --git a/docs/content/doc/installation/windows-service.zh-tw.md b/docs/content/installation/windows-service.zh-tw.md similarity index 96% rename from docs/content/doc/installation/windows-service.zh-tw.md rename to docs/content/installation/windows-service.zh-tw.md index 5764d647f..bd10b71db 100644 --- a/docs/content/doc/installation/windows-service.zh-tw.md +++ b/docs/content/installation/windows-service.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-21T15:00:00-02:00" title: "註冊為 Windows 服務" slug: "windows-service" -weight: 50 +sidebar_position: 50 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Windows 服務" - weight: 50 + sidebar_position: 50 identifier: "windows-service" --- diff --git a/docs/content/doc/installation/with-docker-rootless.en-us.md b/docs/content/installation/with-docker-rootless.en-us.md similarity index 94% rename from docs/content/doc/installation/with-docker-rootless.en-us.md rename to docs/content/installation/with-docker-rootless.en-us.md index 6c2326b7c..3c81c8633 100644 --- a/docs/content/doc/installation/with-docker-rootless.en-us.md +++ b/docs/content/installation/with-docker-rootless.en-us.md @@ -2,7 +2,7 @@ date: "2020-02-09T20:00:00+02:00" title: "Installation with Docker (rootless)" slug: "install-with-docker-rootless" -weight: 60 +sidebar_position: 60 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "With Docker Rootless" - weight: 60 + sidebar_position: 60 identifier: "install-with-docker-rootless" --- @@ -47,7 +47,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always volumes: - ./data:/var/lib/gitea @@ -67,7 +67,7 @@ sudo chown 1000:1000 config/ data/ > If you don't give the volume correct permissions, the container may not start. -For a stable release you could use `:latest-rootless`, `:1-rootless` or specify a certain release like `:{{< version >}}-rootless`, but if you'd like to use the latest development version then `:nightly-rootless` would be an appropriate tag. If you'd like to run the latest commit from a release branch you can use the `:1.x-nightly-rootless` tag, where x is the minor version of Gitea. (e.g. `:1.16-nightly-rootless`) +For a stable release you could use `:latest-rootless`, `:1-rootless` or specify a certain release like `:@version@-rootless`, but if you'd like to use the latest development version then `:nightly-rootless` would be an appropriate tag. If you'd like to run the latest commit from a release branch you can use the `:1.x-nightly-rootless` tag, where x is the minor version of Gitea. (e.g. `:1.16-nightly-rootless`) ## Custom port @@ -80,7 +80,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always volumes: - ./data:/var/lib/gitea @@ -104,7 +104,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless + environment: + - GITEA__database__DB_TYPE=mysql + - GITEA__database__HOST=db:3306 @@ -145,7 +145,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless environment: + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 @@ -193,7 +193,7 @@ version: "2" + services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always volumes: - - ./data:/var/lib/gitea @@ -220,7 +220,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always + user: 1001 volumes: @@ -282,7 +282,7 @@ docker-compose up -d - Rename folder (inside volume) gitea to custom - Edit app.ini if needed - Set START_SSH_SERVER = true -- Use image gitea/gitea:{{< version >}}-rootless +- Use image gitea/gitea:@version@-rootless ## Managing Deployments With Environment Variables diff --git a/docs/content/doc/installation/with-docker-rootless.zh-cn.md b/docs/content/installation/with-docker-rootless.zh-cn.md similarity index 94% rename from docs/content/doc/installation/with-docker-rootless.zh-cn.md rename to docs/content/installation/with-docker-rootless.zh-cn.md index eca2e4381..1910e0a88 100644 --- a/docs/content/doc/installation/with-docker-rootless.zh-cn.md +++ b/docs/content/installation/with-docker-rootless.zh-cn.md @@ -2,7 +2,7 @@ date: "2020-02-09T20:00:00+02:00" title: "使用 Docker 安装 (rootless)" slug: "install-with-docker-rootless" -weight: 60 +sidebar_position: 60 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "使用 Docker 安装 (rootless)" - weight: 60 + sidebar_position: 60 identifier: "install-with-docker-rootless" --- @@ -42,7 +42,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always volumes: - ./data:/var/lib/gitea @@ -62,7 +62,7 @@ sudo chown 1000:1000 config/ data/ > 如果未为卷设置正确的权限,容器可能无法启动。 -对于稳定版本,您可以使用 `:latest-rootless`、`:1-rootless`,或指定特定的版本,如: `{{< version >}}-rootless`。如果您想使用最新的开发版本,则可以使用 `:dev-rootless` 标签。如果您想运行发布分支的最新提交,可以使用 `:1.x-dev-rootless` 标签,其中 x是 Gitea 的次要版本号(例如:`1.16-dev-rootless`)。 +对于稳定版本,您可以使用 `:latest-rootless`、`:1-rootless`,或指定特定的版本,如: `@version@-rootless`。如果您想使用最新的开发版本,则可以使用 `:dev-rootless` 标签。如果您想运行发布分支的最新提交,可以使用 `:1.x-dev-rootless` 标签,其中 x是 Gitea 的次要版本号(例如:`1.16-dev-rootless`)。 ## 自定义端口 @@ -73,7 +73,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always volumes: - ./data:/var/lib/gitea @@ -96,7 +96,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless + environment: + - GITEA__database__DB_TYPE=mysql + - GITEA__database__HOST=db:3306 @@ -136,7 +136,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless environment: + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 @@ -181,7 +181,7 @@ version: "2" + services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always volumes: - - ./data:/var/lib/gitea @@ -208,7 +208,7 @@ version: "2" services: server: - image: gitea/gitea:{{< version >}}-rootless + image: gitea/gitea:@version@-rootless restart: always + user: 1001 volumes: @@ -259,7 +259,7 @@ docker-compose up -d - 将卷中的文件夹(gitea)重命名为 custom - 如果需要,编辑 `app.ini` - 设置 `START_SSH_SERVER = true` -- 使用镜像 `gitea/gitea:{{< version >}}-rootless` +- 使用镜像 `gitea/gitea:@version@-rootless` ## 使用环境变量管理部署 diff --git a/docs/content/doc/installation/with-docker.en-us.md b/docs/content/installation/with-docker.en-us.md similarity index 98% rename from docs/content/doc/installation/with-docker.en-us.md rename to docs/content/installation/with-docker.en-us.md index 5f49876b8..7b4704603 100644 --- a/docs/content/doc/installation/with-docker.en-us.md +++ b/docs/content/installation/with-docker.en-us.md @@ -2,7 +2,7 @@ date: "2020-03-19T19:27:00+02:00" title: "Installation with Docker" slug: "install-with-docker" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "With Docker" - weight: 70 + sidebar_position: 70 identifier: "install-with-docker" --- @@ -25,10 +25,6 @@ This reference setup guides users through the setup based on `docker-compose`, b of `docker-compose` is out of scope of this documentation. To install `docker-compose` itself, follow the official [install instructions](https://docs.docker.com/compose/install/). -**Table of Contents** - -{{< toc >}} - ## Basics The most simple setup just creates a volume and a network and starts the `gitea/gitea:latest` @@ -36,7 +32,7 @@ image as a service. Since there is no database available, one can be initialized Create a directory like `gitea` and paste the following content into a file named `docker-compose.yml`. Note that the volume should be owned by the user/group with the UID/GID specified in the config file. If you don't give the volume correct permissions, the container may not start. -For a stable release you can use `:latest`, `:1` or specify a certain release like `:{{< version >}}`, but if you'd like to use the latest development version of Gitea then you could use the `:nightly` tag. If you'd like to run the latest commit from a release branch you can use the `:1.x-nightly` tag, where x is the minor version of Gitea. (e.g. `:1.16-nightly`) +For a stable release you can use `:latest`, `:1` or specify a certain release like `:@version@`, but if you'd like to use the latest development version of Gitea then you could use the `:nightly` tag. If you'd like to run the latest commit from a release branch you can use the `:1.x-nightly` tag, where x is the minor version of Gitea. (e.g. `:1.16-nightly`) ```yaml version: "3" @@ -47,7 +43,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -79,7 +75,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -114,7 +110,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -165,7 +161,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -221,7 +217,7 @@ networks: + services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea restart: always networks: diff --git a/docs/content/doc/installation/with-docker.fr-fr.md b/docs/content/installation/with-docker.fr-fr.md similarity index 98% rename from docs/content/doc/installation/with-docker.fr-fr.md rename to docs/content/installation/with-docker.fr-fr.md index 362aa5fc6..432add9af 100644 --- a/docs/content/doc/installation/with-docker.fr-fr.md +++ b/docs/content/installation/with-docker.fr-fr.md @@ -2,7 +2,7 @@ date: "2017-08-23T09:00:00+02:00" title: "Installation avec Docker" slug: "install-with-docker" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "Docker" - weight: 70 + sidebar_position: 70 identifier: "install-with-docker" --- @@ -19,8 +19,6 @@ menu: Nous fournissons des images Docker mises à jour automatiquement via le Docker Hub de notre organisation. C'est à vous, lors devotre déploiement, de vous assurez d'utiliser toujours la dernière version stable ou d'utiliser un autre service qui met à jour l'image Docker pour vous. -{{< toc >}} - ## Données stockées sur l'hôte Tout d'abord, vous devez simplement récupérer l'image Docker avec la commande suivante : diff --git a/docs/content/doc/installation/with-docker.zh-cn.md b/docs/content/installation/with-docker.zh-cn.md similarity index 97% rename from docs/content/doc/installation/with-docker.zh-cn.md rename to docs/content/installation/with-docker.zh-cn.md index 50acc3ffa..e04d3158a 100644 --- a/docs/content/doc/installation/with-docker.zh-cn.md +++ b/docs/content/installation/with-docker.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "使用 Docker 安装" slug: "install-with-docker" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "installation" name: "使用 Docker 安装" - weight: 70 + sidebar_position: 70 identifier: "install-with-docker" --- @@ -21,11 +21,9 @@ Gitea 在其 Docker Hub 组织内提供自动更新的 Docker 镜像。可以始 该参考设置指导用户完成基于 `docker-compose` 的设置,但是 `docker-compose` 的安装不在本文档的范围之内。要安装 `docker-compose` 本身,请遵循官方[安装说明](https://docs.docker.com/compose/install/)。 -{{< toc >}} - ## 基本 -最简单的设置只是创建一个卷和一个网络,然后将 `gitea/gitea:latest` 镜像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类似 `gitea` 的目录,并将以下内容粘贴到名为 `docker-compose.yml` 的文件中。请注意,该卷应由配置文件中指定的 UID/GID 的用户/组拥有。如果您不授予卷正确的权限,则容器可能无法启动。另请注意,标签 `:latest` 将安装当前的开发版本。对于稳定的发行版,您可以使用 `:1` 或指定某个发行版,例如 `{{< version >}}`。 +最简单的设置只是创建一个卷和一个网络,然后将 `gitea/gitea:latest` 镜像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类似 `gitea` 的目录,并将以下内容粘贴到名为 `docker-compose.yml` 的文件中。请注意,该卷应由配置文件中指定的 UID/GID 的用户/组拥有。如果您不授予卷正确的权限,则容器可能无法启动。另请注意,标签 `:latest` 将安装当前的开发版本。对于稳定的发行版,您可以使用 `:1` 或指定某个发行版,例如 `@version@`。 ```yaml version: "3" @@ -36,7 +34,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -66,7 +64,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -100,7 +98,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -150,7 +148,7 @@ networks: services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea environment: - USER_UID=1000 @@ -203,7 +201,7 @@ networks: + services: server: - image: gitea/gitea:{{< version >}} + image: gitea/gitea:@version@ container_name: gitea restart: always networks: @@ -252,7 +250,7 @@ MySQL 或 PostgreSQL 容器将需要分别创建。 - `DB_HOST`:**localhost:3306**:数据库主机地址和端口。 - `DB_NAME`:**gitea**:数据库名称。 - `DB_USER`:**root**:数据库用户名。 -- `DB_PASSWD`:**"\"** :数据库用户密码。如果您在密码中使用特殊字符,请使用“您的密码”进行引用。 +- `DB_PASSWD`:**"_empty_"** :数据库用户密码。如果您在密码中使用特殊字符,请使用“您的密码”进行引用。 - `INSTALL_LOCK`:**false**:禁止访问安装页面。 - `SECRET_KEY`:**""** :全局密钥。这应该更改。如果它具有一个值并且 `INSTALL_LOCK` 为空,则 `INSTALL_LOCK` 将自动设置为 `true`。 - `DISABLE_REGISTRATION`:**false**:禁用注册,之后只有管理员才能为用户创建帐户。 diff --git a/docs/content/doc/installation/with-docker.zh-tw.md b/docs/content/installation/with-docker.zh-tw.md similarity index 96% rename from docs/content/doc/installation/with-docker.zh-tw.md rename to docs/content/installation/with-docker.zh-tw.md index fdf5a0101..95f5cfffe 100644 --- a/docs/content/doc/installation/with-docker.zh-tw.md +++ b/docs/content/installation/with-docker.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Docker 安裝" slug: "install-with-docker" -weight: 70 +sidebar_position: 70 toc: false draft: false aliases: @@ -11,14 +11,12 @@ menu: sidebar: parent: "installation" name: "Docker 安裝" - weight: 70 + sidebar_position: 70 identifier: "install-with-docker" --- # 用 Docker 安裝 -{{< toc >}} - 我們在 Docker Hub 提供了自動更新的映像檔,它會保持最新穩定版。根據您的部屬環境來使用最新版本或用其他服務來更新 Docker 映像檔。首先您需要下載映像檔: ``` diff --git a/docs/content/doc/packages.en-us.md b/docs/content/packages.en-us.md similarity index 79% rename from docs/content/doc/packages.en-us.md rename to docs/content/packages.en-us.md index e4a87bdeb..75c29033e 100644 --- a/docs/content/doc/packages.en-us.md +++ b/docs/content/packages.en-us.md @@ -2,12 +2,12 @@ date: "2016-12-27T16:00:00+02:00" title: "Packages" slug: "packages" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "Usage - Packages" - weight: 30 + sidebar_position: 30 identifier: "packages" --- diff --git a/docs/content/doc/search.de-de.md b/docs/content/search.de-de.md similarity index 95% rename from docs/content/doc/search.de-de.md rename to docs/content/search.de-de.md index 29c153171..09a1ac22f 100644 --- a/docs/content/doc/search.de-de.md +++ b/docs/content/search.de-de.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "Search" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/search.en-us.md b/docs/content/search.en-us.md similarity index 95% rename from docs/content/doc/search.en-us.md rename to docs/content/search.en-us.md index 60a4898c4..226d9fe3b 100644 --- a/docs/content/doc/search.en-us.md +++ b/docs/content/search.en-us.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "Search" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/search.fr-fr.md b/docs/content/search.fr-fr.md similarity index 95% rename from docs/content/doc/search.fr-fr.md rename to docs/content/search.fr-fr.md index d3f85c966..25510b7cf 100644 --- a/docs/content/doc/search.fr-fr.md +++ b/docs/content/search.fr-fr.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "Chercher" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/search.nl-nl.md b/docs/content/search.nl-nl.md similarity index 95% rename from docs/content/doc/search.nl-nl.md rename to docs/content/search.nl-nl.md index 9ca7a34d4..7ebcf28db 100644 --- a/docs/content/doc/search.nl-nl.md +++ b/docs/content/search.nl-nl.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "Search" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/search.pt-br.md b/docs/content/search.pt-br.md similarity index 95% rename from docs/content/doc/search.pt-br.md rename to docs/content/search.pt-br.md index 0a70026c2..06b215c68 100644 --- a/docs/content/doc/search.pt-br.md +++ b/docs/content/search.pt-br.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "Search" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/search.zh-cn.md b/docs/content/search.zh-cn.md similarity index 95% rename from docs/content/doc/search.zh-cn.md rename to docs/content/search.zh-cn.md index 50415c259..6ab5ad081 100644 --- a/docs/content/doc/search.zh-cn.md +++ b/docs/content/search.zh-cn.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "搜索" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/search.zh-tw.md b/docs/content/search.zh-tw.md similarity index 95% rename from docs/content/doc/search.zh-tw.md rename to docs/content/search.zh-tw.md index 746cb14c1..aa8a1ced7 100644 --- a/docs/content/doc/search.zh-tw.md +++ b/docs/content/search.zh-tw.md @@ -2,7 +2,7 @@ date: "2019-11-12T16:00:00+02:00" title: "搜尋" slug: "search" -weight: 1 +sidebar_position: 1 toc: false draft: false aliases: @@ -12,7 +12,6 @@ sitemap: layout: "search" --- - This file exists solely to respond to /search URL with the related `search` layout template. No content shown here is rendered, all content is based in the template layouts/doc/search.html diff --git a/docs/content/doc/usage.en-us.md b/docs/content/usage.en-us.md similarity index 77% rename from docs/content/doc/usage.en-us.md rename to docs/content/usage.en-us.md index 47a4fdc1d..436d031b4 100644 --- a/docs/content/doc/usage.en-us.md +++ b/docs/content/usage.en-us.md @@ -2,12 +2,12 @@ date: "2016-12-27T16:00:00+02:00" title: "Usage" slug: "usage" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "Usage" - weight: 30 + sidebar_position: 30 identifier: "usage" --- diff --git a/docs/content/doc/usage.zh-cn.md b/docs/content/usage.zh-cn.md similarity index 78% rename from docs/content/doc/usage.zh-cn.md rename to docs/content/usage.zh-cn.md index 026bef86e..91e40ced9 100644 --- a/docs/content/doc/usage.zh-cn.md +++ b/docs/content/usage.zh-cn.md @@ -2,12 +2,12 @@ date: "2016-12-27T16:00:00+02:00" title: "使用指南" slug: "usage" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "使用指南" - weight: 30 + sidebar_position: 30 identifier: "usage" --- diff --git a/docs/content/doc/usage.zh-tw.md b/docs/content/usage.zh-tw.md similarity index 77% rename from docs/content/doc/usage.zh-tw.md rename to docs/content/usage.zh-tw.md index a95e97399..795f95c72 100644 --- a/docs/content/doc/usage.zh-tw.md +++ b/docs/content/usage.zh-tw.md @@ -2,12 +2,12 @@ date: "2016-12-27T16:00:00+02:00" title: "使用" slug: "usage" -weight: 35 +sidebar_position: 35 toc: false draft: false menu: sidebar: name: "使用" - weight: 30 + sidebar_position: 30 identifier: "usage" --- diff --git a/docs/content/doc/usage/_index.en-us.md b/docs/content/usage/_index.en-us.md similarity index 100% rename from docs/content/doc/usage/_index.en-us.md rename to docs/content/usage/_index.en-us.md diff --git a/docs/content/doc/usage/_index.zh-cn.md b/docs/content/usage/_index.zh-cn.md similarity index 100% rename from docs/content/doc/usage/_index.zh-cn.md rename to docs/content/usage/_index.zh-cn.md diff --git a/docs/content/doc/usage/_index.zh-tw.md b/docs/content/usage/_index.zh-tw.md similarity index 100% rename from docs/content/doc/usage/_index.zh-tw.md rename to docs/content/usage/_index.zh-tw.md diff --git a/docs/content/doc/usage/actions/act-runner.en-us.md b/docs/content/usage/actions/act-runner.en-us.md similarity index 99% rename from docs/content/doc/usage/actions/act-runner.en-us.md rename to docs/content/usage/actions/act-runner.en-us.md index 1f4475508..05ed83c2c 100644 --- a/docs/content/doc/usage/actions/act-runner.en-us.md +++ b/docs/content/usage/actions/act-runner.en-us.md @@ -2,14 +2,14 @@ date: "2023-04-27T15:00:00+08:00" title: "Act Runner" slug: "act-runner" -weight: 20 +sidebar_position: 20 draft: false toc: false menu: sidebar: parent: "actions" name: "Act Runner" - weight: 20 + sidebar_position: 20 identifier: "actions-runner" --- @@ -17,10 +17,6 @@ menu: This page will introduce the [act runner](https://gitea.com/gitea/act_runner) in detail, which is the runner of Gitea Actions. -**Table of Contents** - -{{< toc >}} - ## Requirements It is recommended to run jobs in a docker container, so you need to install docker first. diff --git a/docs/content/doc/usage/actions/act-runner.zh-cn.md b/docs/content/usage/actions/act-runner.zh-cn.md similarity index 98% rename from docs/content/doc/usage/actions/act-runner.zh-cn.md rename to docs/content/usage/actions/act-runner.zh-cn.md index cc5728290..c3978f636 100644 --- a/docs/content/doc/usage/actions/act-runner.zh-cn.md +++ b/docs/content/usage/actions/act-runner.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-24T15:00:00+08:00" title: "Act Runner" slug: "act-runner" -weight: 20 +sidebar_position: 20 draft: false toc: false menu: sidebar: parent: "actions" name: "Act Runner" - weight: 20 + sidebar_position: 20 identifier: "actions-runner" --- @@ -17,10 +17,6 @@ menu: 本页面将详细介绍[Act Runner](https://gitea.com/gitea/act_runner),这是Gitea Actions的Runner。 -**目录** - -{{< toc >}} - ## 要求 建议在Docker容器中运行Job,因此您需要首先安装Docker。 @@ -215,9 +211,9 @@ cache: enabled: true dir: "" # 使用步骤 1. 获取的 LAN IP -host: "192.168.8.17" +host: "192.168.8.17" # 使用步骤 2. 获取的端口号 -port: 8088 +port: 8088 ``` - 4.启动容器时, 将 Cache 端口映射至主机。 @@ -225,7 +221,7 @@ port: 8088 ```bash docker run \ --name gitea-docker-runner \ - -p 8088:8088 \ + -p 8088:8088 \ -d gitea/act_runner:nightly ``` diff --git a/docs/content/doc/usage/actions/comparison.en-us.md b/docs/content/usage/actions/comparison.en-us.md similarity index 97% rename from docs/content/doc/usage/actions/comparison.en-us.md rename to docs/content/usage/actions/comparison.en-us.md index a8545fba4..64a5eff4d 100644 --- a/docs/content/doc/usage/actions/comparison.en-us.md +++ b/docs/content/usage/actions/comparison.en-us.md @@ -2,14 +2,14 @@ date: "2023-04-27T15:00:00+08:00" title: "Compared to GitHub Actions" slug: "comparison" -weight: 30 +sidebar_position: 30 draft: false toc: false menu: sidebar: parent: "actions" name: "Comparison" - weight: 30 + sidebar_position: 30 identifier: "actions-comparison" --- @@ -17,10 +17,6 @@ menu: Even though Gitea Actions is designed to be compatible with GitHub Actions, there are some differences between them. -**Table of Contents** - -{{< toc >}} - ## Additional features ### Absolute action URLs @@ -132,7 +128,7 @@ The missing host will be filled with `https://gitea.com` if you don't configure That means `uses: actions/checkout@v3` will download the action from [gitea.com/actions/checkout](https://gitea.com/actions/checkout), instead of [github.com/actions/checkout](https://github.com/actions/checkout). As mentioned, it's configurable. -If you want your runners to download actions from GitHub or your own Gitea instance by default, you can configure it by setting `[actions].DEFAULT_ACTIONS_URL`. See [Configuration Cheat Sheet]({{< relref "doc/administration/config-cheat-sheet.en-us.md#actions-actions" >}}). +If you want your runners to download actions from GitHub or your own Gitea instance by default, you can configure it by setting `[actions].DEFAULT_ACTIONS_URL`. See [Configuration Cheat Sheet](administration/config-cheat-sheet.md#actions-actions). ### Context availability diff --git a/docs/content/doc/usage/actions/comparison.zh-cn.md b/docs/content/usage/actions/comparison.zh-cn.md similarity index 96% rename from docs/content/doc/usage/actions/comparison.zh-cn.md rename to docs/content/usage/actions/comparison.zh-cn.md index 2fc3a2316..cfea7970f 100644 --- a/docs/content/doc/usage/actions/comparison.zh-cn.md +++ b/docs/content/usage/actions/comparison.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-24T15:00:00+08:00" title: "与GitHub Actions的对比" slug: "comparison" -weight: 30 +sidebar_position: 30 draft: false toc: false menu: sidebar: parent: "actions" name: "对比" - weight: 30 + sidebar_position: 30 identifier: "actions-comparison" --- @@ -17,10 +17,6 @@ menu: 尽管Gitea Actions旨在与GitHub Actions兼容,但它们之间存在一些差异。 -**目录** - -{{< toc >}} - ## 额外功能 ### Action URL绝对路径 @@ -132,7 +128,7 @@ Gitea Actions默认不从GitHub下载Actions。 这意味着`uses: actions/checkout@v3`将从[gitea.com/actions/checkout](https://gitea.com/actions/checkout)下载该Action,而不是[github.com/actions/checkout](https://github.com/actions/checkout)。 正如前面提到的,这是可配置的。 -如果您希望您的运行程序默认从GitHub或您自己的Gitea实例下载动作,您可以通过设置`[actions].DEFAULT_ACTIONS_URL`进行配置。请参阅[配置备忘单]({{< relref "doc/administration/config-cheat-sheet.zh-cn.md#actions-actions" >}})。 +如果您希望您的运行程序默认从GitHub或您自己的Gitea实例下载动作,您可以通过设置`[actions].DEFAULT_ACTIONS_URL`进行配置。请参阅[配置备忘单](administration/config-cheat-sheet.md#actions-actions)。 ### 上下文可用性 diff --git a/docs/content/doc/usage/actions/design.en-us.md b/docs/content/usage/actions/design.en-us.md similarity index 99% rename from docs/content/doc/usage/actions/design.en-us.md rename to docs/content/usage/actions/design.en-us.md index c996185fe..d4c90d540 100644 --- a/docs/content/doc/usage/actions/design.en-us.md +++ b/docs/content/usage/actions/design.en-us.md @@ -2,14 +2,14 @@ date: "2023-04-27T15:00:00+08:00" title: "Design of Gitea Actions" slug: "design" -weight: 40 +sidebar_position: 40 draft: false toc: false menu: sidebar: parent: "actions" name: "Design" - weight: 40 + sidebar_position: 40 identifier: "actions-design" --- @@ -17,10 +17,6 @@ menu: Gitea Actions has multiple components. This document describes them individually. -**Table of Contents** - -{{< toc >}} - ## Act The [nektos/act](https://github.com/nektos/act) project is an excellent tool that allows you to run your GitHub Actions locally. diff --git a/docs/content/doc/usage/actions/design.zh-cn.md b/docs/content/usage/actions/design.zh-cn.md similarity index 99% rename from docs/content/doc/usage/actions/design.zh-cn.md rename to docs/content/usage/actions/design.zh-cn.md index e1bd1766e..995e9f0b7 100644 --- a/docs/content/doc/usage/actions/design.zh-cn.md +++ b/docs/content/usage/actions/design.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-24T15:00:00+08:00" title: "Gitea Actions设计" slug: "design" -weight: 40 +sidebar_position: 40 draft: false toc: false menu: sidebar: parent: "actions" name: "设计" - weight: 40 + sidebar_position: 40 identifier: "actions-design" --- @@ -17,10 +17,6 @@ menu: Gitea Actions由多个组件组成。本文档将对它们进行逐个描述。 -**目录** - -{{< toc >}} - ## Act [nektos/act](https://github.com/nektos/act) 项目是一个优秀的工具,允许你在本地运行GitHub Actions。 diff --git a/docs/content/doc/usage/actions/faq.en-us.md b/docs/content/usage/actions/faq.en-us.md similarity index 99% rename from docs/content/doc/usage/actions/faq.en-us.md rename to docs/content/usage/actions/faq.en-us.md index 69a4cf3e8..d665b05b4 100644 --- a/docs/content/doc/usage/actions/faq.en-us.md +++ b/docs/content/usage/actions/faq.en-us.md @@ -2,14 +2,14 @@ date: "2023-04-27T15:00:00+08:00" title: "Frequently Asked Questions of Gitea Actions" slug: "faq" -weight: 100 +sidebar_position: 100 draft: false toc: false menu: sidebar: parent: "actions" name: "FAQ" - weight: 100 + sidebar_position: 100 identifier: "actions-faq" --- @@ -17,10 +17,6 @@ menu: This page contains some common questions and answers about Gitea Actions. -**Table of Contents** - -{{< toc >}} - ## Why is Actions not enabled by default? We know it's annoying to enable Actions for the whole instance and each repository one by one, but not everyone likes or needs this feature. diff --git a/docs/content/doc/usage/actions/faq.zh-cn.md b/docs/content/usage/actions/faq.zh-cn.md similarity index 99% rename from docs/content/doc/usage/actions/faq.zh-cn.md rename to docs/content/usage/actions/faq.zh-cn.md index ae6edd06f..cdfea6d11 100644 --- a/docs/content/doc/usage/actions/faq.zh-cn.md +++ b/docs/content/usage/actions/faq.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-24T15:00:00+08:00" title: "Gitea Actions常见问题解答" slug: "faq" -weight: 100 +sidebar_position: 100 draft: false toc: false menu: sidebar: parent: "actions" name: "常见问题" - weight: 100 + sidebar_position: 100 identifier: "actions-faq" --- @@ -17,10 +17,6 @@ menu: 本页面包含一些关于Gitea Actions的常见问题和答案。 -**目录** - -{{< toc >}} - ## 为什么默认情况下不启用Actions? 我们知道为整个实例和每个仓库启用Actions可能很麻烦,但并不是每个人都喜欢或需要此功能。 diff --git a/docs/content/doc/usage/actions/overview.en-us.md b/docs/content/usage/actions/overview.en-us.md similarity index 97% rename from docs/content/doc/usage/actions/overview.en-us.md rename to docs/content/usage/actions/overview.en-us.md index e07eca994..59e539f9c 100644 --- a/docs/content/doc/usage/actions/overview.en-us.md +++ b/docs/content/usage/actions/overview.en-us.md @@ -2,14 +2,14 @@ date: "2023-04-27T15:00:00+08:00" title: "Gitea Actions" slug: "overview" -weight: 1 +sidebar_position: 1 draft: false toc: false menu: sidebar: parent: "actions" name: "Overview" - weight: 1 + sidebar_position: 1 identifier: "actions-overview" --- @@ -17,10 +17,6 @@ menu: Starting with Gitea **1.19**, Gitea Actions are available as a built-in CI/CD solution. -**Table of Contents** - -{{< toc >}} - ## Name It is similar and compatible to [GitHub Actions](https://github.com/features/actions), and its name is inspired by it too. diff --git a/docs/content/doc/usage/actions/overview.zh-cn.md b/docs/content/usage/actions/overview.zh-cn.md similarity index 97% rename from docs/content/doc/usage/actions/overview.zh-cn.md rename to docs/content/usage/actions/overview.zh-cn.md index 208144815..0e57bf568 100644 --- a/docs/content/doc/usage/actions/overview.zh-cn.md +++ b/docs/content/usage/actions/overview.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-24T15:00:00+08:00" title: "Gitea Actions" slug: "overview" -weight: 1 +sidebar_position: 1 draft: false toc: false menu: sidebar: parent: "actions" name: "Overview" - weight: 1 + sidebar_position: 1 identifier: "actions-overview" --- @@ -17,10 +17,6 @@ menu: 从Gitea **1.19**版本开始,Gitea Actions成为了内置的CI/CD解决方案。 -**目录** - -{{< toc >}} - ## 名称 Gitea Actions与[GitHub Actions](https://github.com/features/actions)相似且兼容,它的名称也受到了它的启发。 diff --git a/docs/content/doc/usage/actions/quickstart.en-us.md b/docs/content/usage/actions/quickstart.en-us.md similarity index 91% rename from docs/content/doc/usage/actions/quickstart.en-us.md rename to docs/content/usage/actions/quickstart.en-us.md index 829f1a62c..73d90e2e6 100644 --- a/docs/content/doc/usage/actions/quickstart.en-us.md +++ b/docs/content/usage/actions/quickstart.en-us.md @@ -2,14 +2,14 @@ date: "2023-04-27T15:00:00+08:00" title: "Quick Start" slug: "quickstart" -weight: 10 +sidebar_position: 10 draft: false toc: false menu: sidebar: parent: "actions" name: "Quick Start" - weight: 10 + sidebar_position: 10 identifier: "actions-quickstart" --- @@ -17,14 +17,10 @@ menu: This page will guide you through the process of using Gitea Actions. -**Table of Contents** - -{{< toc >}} - ## Set up Gitea First of all, you need a Gitea instance. -You can follow the [documentation]({{< relref "doc/installation/from-package.en-us.md" >}}) to set up a new instance or upgrade your existing one. +You can follow the [documentation](installation/from-package.md) to set up a new instance or upgrade your existing one. It doesn't matter how you install or run Gitea, as long as its version is 1.19.0 or higher. Actions are disabled by default, so you need to add the following to the configuration file to enable it: @@ -34,7 +30,7 @@ Actions are disabled by default, so you need to add the following to the configu ENABLED=true ``` -If you want to learn more or encounter any problems while configuring it, please refer to the [Configuration Cheat Sheet]({{< relref "doc/administration/config-cheat-sheet.en-us.md#actions-actions" >}}). +If you want to learn more or encounter any problems while configuring it, please refer to the [Configuration Cheat Sheet](administration/config-cheat-sheet.md#actions-actions). ### Set up runner @@ -89,7 +85,7 @@ And you can see the new runner in the management page: ![view runner](/images/usage/actions/view-runner.png) -You can find more information by visiting [Act runner]({{< relref "doc/usage/actions/act-runner.en-us.md" >}}). +You can find more information by visiting [Act runner](usage/actions/act-runner.md). ### Use Actions @@ -133,7 +129,7 @@ That is because Gitea Actions is designed to be compatible with GitHub Actions Be careful, the demo file contains some emojis. Please make sure your database supports them, especially when using MySQL. If the charset is not `utf8mb4`, errors will occur, such as `Error 1366 (HY000): Incorrect string value: '\\xF0\\x9F\\x8E\\x89 T...' for column 'name' at row 1`. -See [Database Preparation]({{< relref "doc/installation/database-preparation.en-us.md#mysql" >}}) for more information. +See [Database Preparation](installation/database-preparation.md#mysql) for more information. Alternatively, you can remove all emojis from the demo file and try again. diff --git a/docs/content/doc/usage/actions/quickstart.zh-cn.md b/docs/content/usage/actions/quickstart.zh-cn.md similarity index 91% rename from docs/content/doc/usage/actions/quickstart.zh-cn.md rename to docs/content/usage/actions/quickstart.zh-cn.md index 1893300b6..510d4a904 100644 --- a/docs/content/doc/usage/actions/quickstart.zh-cn.md +++ b/docs/content/usage/actions/quickstart.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-24T15:00:00+08:00" title: "快速入门" slug: "quickstart" -weight: 10 +sidebar_position: 10 draft: false toc: false menu: sidebar: parent: "actions" name: "快速入门" - weight: 10 + sidebar_position: 10 identifier: "actions-quickstart" --- @@ -17,14 +17,10 @@ menu: 本页面将指导您使用Gitea Actions的过程。 -**目录** - -{{< toc >}} - ## 设置Gitea 首先,您需要一个Gitea实例。 -您可以按照[文档]({{< relref "doc/installation/from-package.zh-cn.md" >}}) 来设置一个新实例或升级现有实例。 +您可以按照[文档](installation/from-package.md) 来设置一个新实例或升级现有实例。 无论您如何安装或运行Gitea,只要版本号是1.19.0或更高即可。 默认情况下,Actions是禁用的,因此您需要将以下内容添加到配置文件中以启用它: @@ -34,7 +30,7 @@ menu: ENABLED=true ``` -如果您想了解更多信息或在配置过程中遇到任何问题,请参考[配置速查表]({{< relref "doc/administration/config-cheat-sheet.zh-cn.md#actions-actions" >}})。 +如果您想了解更多信息或在配置过程中遇到任何问题,请参考[配置速查表](administration/config-cheat-sheet.md#actions-actions)。 ### 设置Runner @@ -88,7 +84,7 @@ Runner和Job容器(由Runner启动以执行Job)将连接到此地址。 ![view runner](/images/usage/actions/view-runner.png) -您可以通过访问[act runner]({{< relref "doc/usage/actions/act-runner.zh-cn.md" >}}) 获取更多信息。 +您可以通过访问[act runner](usage/actions/act-runner.md) 获取更多信息。 ### 使用Actions @@ -132,7 +128,7 @@ jobs: 请注意,演示文件中包含一些表情符号。 请确保您的数据库支持它们,特别是在使用MySQL时。 如果字符集不是`utf8mb4,将出现错误,例如`Error 1366 (HY000): Incorrect string value: '\\xF0\\x9F\\x8E\\x89 T...' for column 'name' at row 1`。 -有关更多信息,请参阅[数据库准备工作]({{< relref "doc/installation/database-preparation.zh-cn.md#mysql" >}})。 +有关更多信息,请参阅[数据库准备工作](installation/database-preparation.md#mysql)。 或者,您可以从演示文件中删除所有表情符号,然后再尝试一次。 diff --git a/docs/content/doc/usage/agit-support.en-us.md b/docs/content/usage/agit-support.en-us.md similarity index 97% rename from docs/content/doc/usage/agit-support.en-us.md rename to docs/content/usage/agit-support.en-us.md index 30e2879e8..25523efe6 100644 --- a/docs/content/doc/usage/agit-support.en-us.md +++ b/docs/content/usage/agit-support.en-us.md @@ -2,7 +2,7 @@ date: " 2022-09-01T20:50:42+0000" title: "Agit Setup" slug: "agit-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Agit Setup" - weight: 12 + sidebar_position: 12 identifier: "agit-setup" --- diff --git a/docs/content/doc/usage/agit-support.zh-cn.md b/docs/content/usage/agit-support.zh-cn.md similarity index 96% rename from docs/content/doc/usage/agit-support.zh-cn.md rename to docs/content/usage/agit-support.zh-cn.md index de6eba24b..6a2ce1c37 100644 --- a/docs/content/doc/usage/agit-support.zh-cn.md +++ b/docs/content/usage/agit-support.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "Agit 设置" slug: "agit-setup" -weight: 12 +sidebar_position: 12 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Agit 设置" - weight: 12 + sidebar_position: 12 identifier: "agit-setup" --- diff --git a/docs/content/doc/usage/authentication.en-us.md b/docs/content/usage/authentication.en-us.md similarity index 99% rename from docs/content/doc/usage/authentication.en-us.md rename to docs/content/usage/authentication.en-us.md index d9648200e..d36641421 100644 --- a/docs/content/doc/usage/authentication.en-us.md +++ b/docs/content/usage/authentication.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Authentication" slug: "authentication" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,14 +11,12 @@ menu: sidebar: parent: "usage" name: "Authentication" - weight: 10 + sidebar_position: 10 identifier: "authentication" --- # Authentication -{{< toc >}} - ## LDAP (Lightweight Directory Access Protocol) Both the LDAP via BindDN and the simple auth LDAP share the following fields: diff --git a/docs/content/doc/usage/authentication.zh-cn.md b/docs/content/usage/authentication.zh-cn.md similarity index 99% rename from docs/content/doc/usage/authentication.zh-cn.md rename to docs/content/usage/authentication.zh-cn.md index bef78ba64..ea9f03b9a 100644 --- a/docs/content/doc/usage/authentication.zh-cn.md +++ b/docs/content/usage/authentication.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "认证" slug: "authentication" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "认证" - weight: 10 + sidebar_position: 10 identifier: "authentication" --- diff --git a/docs/content/doc/usage/authentication.zh-tw.md b/docs/content/usage/authentication.zh-tw.md similarity index 84% rename from docs/content/doc/usage/authentication.zh-tw.md rename to docs/content/usage/authentication.zh-tw.md index 75959802b..88dc31491 100644 --- a/docs/content/doc/usage/authentication.zh-tw.md +++ b/docs/content/usage/authentication.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "認證" slug: "authentication" -weight: 10 +sidebar_position: 10 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "認證" - weight: 10 + sidebar_position: 10 identifier: "authentication" --- diff --git a/docs/content/doc/usage/clone-filter.en-us.md b/docs/content/usage/clone-filter.en-us.md similarity index 96% rename from docs/content/doc/usage/clone-filter.en-us.md rename to docs/content/usage/clone-filter.en-us.md index 8331c138b..c3d4a43e2 100644 --- a/docs/content/doc/usage/clone-filter.en-us.md +++ b/docs/content/usage/clone-filter.en-us.md @@ -2,7 +2,7 @@ date: "2021-02-02" title: "Clone filters (partial clone)" slug: "clone-filters" -weight: 25 +sidebar_position: 25 draft: false toc: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Clone filters" - weight: 25 + sidebar_position: 25 identifier: "clone-filters" --- diff --git a/docs/content/doc/usage/clone-filter.zh-cn.md b/docs/content/usage/clone-filter.zh-cn.md similarity index 97% rename from docs/content/doc/usage/clone-filter.zh-cn.md rename to docs/content/usage/clone-filter.zh-cn.md index fc174fcb3..53ce060fd 100644 --- a/docs/content/doc/usage/clone-filter.zh-cn.md +++ b/docs/content/usage/clone-filter.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "克隆过滤器 (部分克隆)" slug: "clone-filters" -weight: 25 +sidebar_position: 25 draft: false toc: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "克隆过滤器" - weight: 25 + sidebar_position: 25 identifier: "clone-filters" --- diff --git a/docs/content/doc/usage/code-owners.en-us.md b/docs/content/usage/code-owners.en-us.md similarity index 96% rename from docs/content/doc/usage/code-owners.en-us.md rename to docs/content/usage/code-owners.en-us.md index 94f81eeae..7642175d8 100644 --- a/docs/content/doc/usage/code-owners.en-us.md +++ b/docs/content/usage/code-owners.en-us.md @@ -2,7 +2,7 @@ date: "2023-05-24T16:00:00+00:00" title: "Code Owners" slug: "code-owners" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Code Owners" - weight: 30 + sidebar_position: 30 identifier: "code-owners" --- diff --git a/docs/content/doc/usage/incoming-email.en-us.md b/docs/content/usage/incoming-email.en-us.md similarity index 96% rename from docs/content/doc/usage/incoming-email.en-us.md rename to docs/content/usage/incoming-email.en-us.md index 205b3dd8e..3f20f3b1f 100644 --- a/docs/content/doc/usage/incoming-email.en-us.md +++ b/docs/content/usage/incoming-email.en-us.md @@ -2,7 +2,7 @@ date: "2022-12-01T00:00:00+00:00" title: "Incoming Email" slug: "incoming-email" -weight: 13 +sidebar_position: 13 draft: false toc: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Incoming Email" - weight: 13 + sidebar_position: 13 identifier: "incoming-email" --- @@ -19,10 +19,6 @@ menu: Gitea supports the execution of several actions through incoming mails. This page describes how to set this up. -**Table of Contents** - -{{< toc >}} - ## Requirements Handling incoming email messages requires an IMAP-enabled email account. diff --git a/docs/content/doc/usage/incoming-email.zh-cn.md b/docs/content/usage/incoming-email.zh-cn.md similarity index 97% rename from docs/content/doc/usage/incoming-email.zh-cn.md rename to docs/content/usage/incoming-email.zh-cn.md index 335e6aa9e..7aeb3c086 100644 --- a/docs/content/doc/usage/incoming-email.zh-cn.md +++ b/docs/content/usage/incoming-email.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "邮件接收" slug: "incoming-email" -weight: 13 +sidebar_position: 13 draft: false toc: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "邮件接收" - weight: 13 + sidebar_position: 13 identifier: "incoming-email" --- @@ -19,10 +19,6 @@ menu: Gitea 支持通过接收邮件执行多种操作。本页面描述了如何进行设置。 -**目录** - -{{< toc >}} - ## 要求 处理接收的电子邮件需要启用 IMAP 功能的电子邮件帐户。 diff --git a/docs/content/doc/usage/issue-pull-request-templates.en-us.md b/docs/content/usage/issue-pull-request-templates.en-us.md similarity index 99% rename from docs/content/doc/usage/issue-pull-request-templates.en-us.md rename to docs/content/usage/issue-pull-request-templates.en-us.md index b48763cf8..34475e346 100644 --- a/docs/content/doc/usage/issue-pull-request-templates.en-us.md +++ b/docs/content/usage/issue-pull-request-templates.en-us.md @@ -2,7 +2,7 @@ date: "2018-05-10T16:00:00+02:00" title: "Issue and Pull Request templates" slug: "issue-pull-request-templates" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "Issue and Pull Request templates" - weight: 15 + sidebar_position: 15 identifier: "issue-pull-request-templates" --- # Issue and Pull Request Templates -**Table of Contents** - -{{< toc >}} - Some projects have a standard list of questions that users need to answer when creating an issue or pull request. Gitea supports adding templates to the main branch of the repository so that they can autopopulate the form when users are diff --git a/docs/content/doc/usage/issue-pull-request-templates.zh-cn.md b/docs/content/usage/issue-pull-request-templates.zh-cn.md similarity index 99% rename from docs/content/doc/usage/issue-pull-request-templates.zh-cn.md rename to docs/content/usage/issue-pull-request-templates.zh-cn.md index fa5b37126..fe865e335 100644 --- a/docs/content/doc/usage/issue-pull-request-templates.zh-cn.md +++ b/docs/content/usage/issue-pull-request-templates.zh-cn.md @@ -2,7 +2,7 @@ date: "2022-09-07T16:00:00+08:00" title: "工单与合并请求模板" slug: "issue-pull-request-templates" -weight: 15 +sidebar_position: 15 toc: true draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "工单与合并请求模板" - weight: 15 + sidebar_position: 15 identifier: "issue-pull-request-templates" --- @@ -19,10 +19,6 @@ menu: 开发者可以利用问题模板创建工单与合并请求,其目的在于规范参与者的语言表达。 -**目录** - -{{< toc >}} - ## 模板介绍 Gitea 支持两种格式的模板:Markdown 和 YAML。 diff --git a/docs/content/doc/usage/labels.en-us.md b/docs/content/usage/labels.en-us.md similarity index 97% rename from docs/content/doc/usage/labels.en-us.md rename to docs/content/usage/labels.en-us.md index 8467f7e03..4058ca14e 100644 --- a/docs/content/doc/usage/labels.en-us.md +++ b/docs/content/usage/labels.en-us.md @@ -2,7 +2,7 @@ date: "2023-03-04T19:00:00+00:00" title: "Labels" slug: "labels" -weight: 13 +sidebar_position: 13 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Labels" - weight: 13 + sidebar_position: 13 identifier: "labels" --- diff --git a/docs/content/doc/usage/labels.zh-cn.md b/docs/content/usage/labels.zh-cn.md similarity index 97% rename from docs/content/doc/usage/labels.zh-cn.md rename to docs/content/usage/labels.zh-cn.md index 07dd2bf85..27c7d84fb 100644 --- a/docs/content/doc/usage/labels.zh-cn.md +++ b/docs/content/usage/labels.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "标签" slug: "labels" -weight: 13 +sidebar_position: 13 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "标签" - weight: 13 + sidebar_position: 13 identifier: "labels" --- diff --git a/docs/content/doc/usage/linked-references.en-us.md b/docs/content/usage/linked-references.en-us.md similarity index 99% rename from docs/content/doc/usage/linked-references.en-us.md rename to docs/content/usage/linked-references.en-us.md index 4e9519301..a05a07a95 100644 --- a/docs/content/doc/usage/linked-references.en-us.md +++ b/docs/content/usage/linked-references.en-us.md @@ -2,7 +2,7 @@ date: "2019-11-21T17:00:00-03:00" title: "Automatically Linked References" slug: "automatically-linked-references" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "Automatically Linked References" - weight: 15 + sidebar_position: 15 identifier: "automatically-linked-references" --- # Automatically Linked References in Issues, Pull Requests and Commit Messages -**Table of Contents** - -{{< toc >}} - When an issue, pull request or comment is posted, the text description is parsed in search for references. These references will be shown as links in the Issue View and, in some cases, produce certain _actions_. diff --git a/docs/content/doc/usage/linked-references.zh-cn.md b/docs/content/usage/linked-references.zh-cn.md similarity index 99% rename from docs/content/doc/usage/linked-references.zh-cn.md rename to docs/content/usage/linked-references.zh-cn.md index e56584738..3cc8dca0b 100644 --- a/docs/content/doc/usage/linked-references.zh-cn.md +++ b/docs/content/usage/linked-references.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "自动链接引用" slug: "automatically-linked-references" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "自动链接引用s" - weight: 15 + sidebar_position: 15 identifier: "automatically-linked-references" --- # 在工单、合并请求和提交消息中的自动链接引用 -**目录** - -{{< toc >}} - 当发布工单、合并请求或评论时,文本描述会被解析以查找引用。这些引用将显示为工单视图中的链接,并且在某些情况下会触发特定的“操作”。 类似地,当列出提交消息时,它们也会被解析,并且当它们被推送到主分支时可以触发“操作”。 diff --git a/docs/content/doc/usage/merge-message-templates.en-us.md b/docs/content/usage/merge-message-templates.en-us.md similarity index 96% rename from docs/content/doc/usage/merge-message-templates.en-us.md rename to docs/content/usage/merge-message-templates.en-us.md index 03095a3bb..fbdbd136f 100644 --- a/docs/content/doc/usage/merge-message-templates.en-us.md +++ b/docs/content/usage/merge-message-templates.en-us.md @@ -2,7 +2,7 @@ date: "2022-08-31T17:35:40+08:00" title: "Merge Message templates" slug: "merge-message-templates" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "Merge Message templates" - weight: 15 + sidebar_position: 15 identifier: "merge-message-templates" --- # Merge Message templates -**Table of Contents** - -{{< toc >}} - ## File names Possible file names for PR default merge message templates: diff --git a/docs/content/doc/usage/merge-message-templates.zh-cn.md b/docs/content/usage/merge-message-templates.zh-cn.md similarity index 97% rename from docs/content/doc/usage/merge-message-templates.zh-cn.md rename to docs/content/usage/merge-message-templates.zh-cn.md index 0ec4eee48..0923e637a 100644 --- a/docs/content/doc/usage/merge-message-templates.zh-cn.md +++ b/docs/content/usage/merge-message-templates.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "合并消息模板" slug: "merge-message-templates" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "合并消息模板" - weight: 15 + sidebar_position: 15 identifier: "merge-message-templates" --- # 合并消息模板 -**目录** - -{{< toc >}} - ## 文件名 PR 默认合并消息模板可能的文件名: diff --git a/docs/content/doc/usage/packages/_index.en-us.md b/docs/content/usage/packages/_index.en-us.md similarity index 100% rename from docs/content/doc/usage/packages/_index.en-us.md rename to docs/content/usage/packages/_index.en-us.md diff --git a/docs/content/doc/usage/packages/alpine.en-us.md b/docs/content/usage/packages/alpine.en-us.md similarity index 92% rename from docs/content/doc/usage/packages/alpine.en-us.md rename to docs/content/usage/packages/alpine.en-us.md index f7d2c6658..1fcbe8485 100644 --- a/docs/content/doc/usage/packages/alpine.en-us.md +++ b/docs/content/usage/packages/alpine.en-us.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "Alpine" - weight: 4 + sidebar_position: 4 identifier: "alpine" --- @@ -16,10 +16,6 @@ menu: Publish [Alpine](https://pkgs.alpinelinux.org/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Alpine registry, you need to use a HTTP client like `curl` to upload and a package manager like `apk` to consume packages. @@ -40,7 +36,7 @@ https://gitea.example.com/api/packages/{owner}/alpine// | `branch` | The branch to use. | | `repository` | The repository to use. | -If the registry is private, provide credentials in the url. You can use a password or a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}): +If the registry is private, provide credentials in the url. You can use a password or a [personal access token](development/api-usage.md#authentication): ``` https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/alpine// @@ -80,7 +76,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/alpine/v3.17/main ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. You cannot publish a file with the same name twice to a package. You must delete the existing package file first. The server responds with the following HTTP Status codes. diff --git a/docs/content/doc/usage/packages/alpine.zh-cn.md b/docs/content/usage/packages/alpine.zh-cn.md similarity index 94% rename from docs/content/doc/usage/packages/alpine.zh-cn.md rename to docs/content/usage/packages/alpine.zh-cn.md index fd9470525..cca002caf 100644 --- a/docs/content/doc/usage/packages/alpine.zh-cn.md +++ b/docs/content/usage/packages/alpine.zh-cn.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "Alpine" - weight: 4 + sidebar_position: 4 identifier: "alpine" --- @@ -16,10 +16,6 @@ menu: 在您的用户或组织中发布 [Alpine](https://pkgs.alpinelinux.org/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Alpine 注册表,您需要使用像 curl 这样的 HTTP 客户端来上传包,并使用像 apk 这样的包管理器来消费包。 @@ -40,7 +36,7 @@ https://gitea.example.com/api/packages/{owner}/alpine// | `branch` | 要使用的分支名 | | `repository` | 要使用的仓库名 | -如果注册表是私有的,请在 URL 中提供凭据。您可以使用密码或[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}): +如果注册表是私有的,请在 URL 中提供凭据。您可以使用密码或[个人访问令牌](development/api-usage.md#通过-api-认证): ``` https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/alpine// @@ -80,7 +76,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/alpine/v3.17/main ``` -如果您使用的是双重身份验证或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#authentication" >}})代替密码。 +如果您使用的是双重身份验证或 OAuth,请使用[个人访问令牌](development/api-usage.md#authentication)代替密码。 您不能将具有相同名称的文件两次发布到一个包中。您必须首先删除现有的包文件。 服务器将以以下的 HTTP 状态码响应: diff --git a/docs/content/doc/usage/packages/cargo.en-us.md b/docs/content/usage/packages/cargo.en-us.md similarity index 94% rename from docs/content/doc/usage/packages/cargo.en-us.md rename to docs/content/usage/packages/cargo.en-us.md index d341eb9f8..d5c2fab6f 100644 --- a/docs/content/doc/usage/packages/cargo.en-us.md +++ b/docs/content/usage/packages/cargo.en-us.md @@ -2,14 +2,14 @@ date: "2022-11-20T00:00:00+00:00" title: "Cargo Package Registry" slug: "cargo" -weight: 5 +sidebar_position: 5 draft: false toc: false menu: sidebar: parent: "packages" name: "Cargo" - weight: 5 + sidebar_position: 5 identifier: "cargo" --- @@ -17,10 +17,6 @@ menu: Publish [Cargo](https://doc.rust-lang.org/stable/cargo/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Cargo package registry, you need [Rust and Cargo](https://www.rust-lang.org/tools/install). @@ -74,7 +70,7 @@ token = "Bearer {token}" | Parameter | Description | | --------- | ----------- | -| `token` | Your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) | +| `token` | Your [personal access token](development/api-usage.md#authentication) | ## Publish a package diff --git a/docs/content/doc/usage/packages/cargo.zh-cn.md b/docs/content/usage/packages/cargo.zh-cn.md similarity index 94% rename from docs/content/doc/usage/packages/cargo.zh-cn.md rename to docs/content/usage/packages/cargo.zh-cn.md index 2d451716d..126dfd370 100644 --- a/docs/content/doc/usage/packages/cargo.zh-cn.md +++ b/docs/content/usage/packages/cargo.zh-cn.md @@ -2,14 +2,14 @@ date: "2022-11-20T00:00:00+00:00" title: "Cargo 软件包注册表" slug: "cargo" -weight: 5 +sidebar_position: 5 draft: false toc: false menu: sidebar: parent: "packages" name: "Cargo" - weight: 5 + sidebar_position: 5 identifier: "cargo" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Cargo](https://doc.rust-lang.org/stable/cargo/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 若要使用 Cargo 软件包注册表, 您需要安装 [Rust 和 Cargo](https://www.rust-lang.org/tools/install). @@ -74,7 +70,7 @@ token = "Bearer {token}" | 参数 | 描述 | | ------- | ------------------------------------------------------------------------------------- | -| `token` | 您的[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}) | +| `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) | ## 发布软件包 diff --git a/docs/content/doc/usage/packages/chef.en-us.md b/docs/content/usage/packages/chef.en-us.md similarity index 97% rename from docs/content/doc/usage/packages/chef.en-us.md rename to docs/content/usage/packages/chef.en-us.md index ee7795755..9f23b9eac 100644 --- a/docs/content/doc/usage/packages/chef.en-us.md +++ b/docs/content/usage/packages/chef.en-us.md @@ -2,14 +2,14 @@ date: "2023-01-20T00:00:00+00:00" title: "Chef Package Registry" slug: "chef" -weight: 5 +sidebar_position: 5 draft: false toc: false menu: sidebar: parent: "packages" name: "Chef" - weight: 5 + sidebar_position: 5 identifier: "chef" --- @@ -17,10 +17,6 @@ menu: Publish [Chef](https://chef.io/) cookbooks for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Chef package registry, you have to use [`knife`](https://docs.chef.io/workstation/knife/). diff --git a/docs/content/doc/usage/packages/chef.zh-cn.md b/docs/content/usage/packages/chef.zh-cn.md similarity index 98% rename from docs/content/doc/usage/packages/chef.zh-cn.md rename to docs/content/usage/packages/chef.zh-cn.md index 939c94b42..d76b33c13 100644 --- a/docs/content/doc/usage/packages/chef.zh-cn.md +++ b/docs/content/usage/packages/chef.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-01-20T00:00:00+00:00" title: "Chef 软件包注册表" slug: "chef" -weight: 5 +sidebar_position: 5 draft: false toc: false menu: sidebar: parent: "packages" name: "Chef" - weight: 5 + sidebar_position: 5 identifier: "chef" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Chef](https://chef.io/) cookbooks。 -**目录** - -{{< toc >}} - ## 要求 要使用 Chef 软件包注册表,您需要使用 [`knife`](https://docs.chef.io/workstation/knife/). diff --git a/docs/content/doc/usage/packages/composer.en-us.md b/docs/content/usage/packages/composer.en-us.md similarity index 93% rename from docs/content/doc/usage/packages/composer.en-us.md rename to docs/content/usage/packages/composer.en-us.md index 092518c9f..7fbd77ef5 100644 --- a/docs/content/doc/usage/packages/composer.en-us.md +++ b/docs/content/usage/packages/composer.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Composer Package Registry" slug: "composer" -weight: 10 +sidebar_position: 10 draft: false toc: false menu: sidebar: parent: "packages" name: "Composer" - weight: 10 + sidebar_position: 10 identifier: "composer" --- @@ -17,10 +17,6 @@ menu: Publish [Composer](https://getcomposer.org/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Composer package registry, you can use [Composer](https://getcomposer.org/download/) to consume and a HTTP upload client like `curl` to publish packages. @@ -61,7 +57,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/composer?version=1.0.3 ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. The server responds with the following HTTP Status codes. diff --git a/docs/content/doc/usage/packages/composer.zh-cn.md b/docs/content/usage/packages/composer.zh-cn.md similarity index 94% rename from docs/content/doc/usage/packages/composer.zh-cn.md rename to docs/content/usage/packages/composer.zh-cn.md index de19f7130..c37e46b57 100644 --- a/docs/content/doc/usage/packages/composer.zh-cn.md +++ b/docs/content/usage/packages/composer.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Composer 软件包注册表" slug: "composer" -weight: 10 +sidebar_position: 10 draft: false toc: false menu: sidebar: parent: "packages" name: "Composer" - weight: 10 + sidebar_position: 10 identifier: "composer" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Composer](https://getcomposer.org/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Composer 软件包注册表,您可以使用 [Composer](https://getcomposer.org/download/) 消费,并使用类似 `curl` 的 HTTP 上传客户端发布软件包。 @@ -61,7 +57,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/composer?version=1.0.3 ``` -如果您使用 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码。 +如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。 服务器将以以下 HTTP 状态码响应。 diff --git a/docs/content/doc/usage/packages/conan.en-us.md b/docs/content/usage/packages/conan.en-us.md similarity index 91% rename from docs/content/doc/usage/packages/conan.en-us.md rename to docs/content/usage/packages/conan.en-us.md index 5ca3ca7a2..24c7077a8 100644 --- a/docs/content/doc/usage/packages/conan.en-us.md +++ b/docs/content/usage/packages/conan.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Conan Package Registry" slug: "conan" -weight: 20 +sidebar_position: 20 draft: false toc: false menu: sidebar: parent: "packages" name: "Conan" - weight: 20 + sidebar_position: 20 identifier: "conan" --- @@ -17,10 +17,6 @@ menu: Publish [Conan](https://conan.io/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Conan package registry, you need to use the [conan](https://conan.io/downloads.html) command line tool to consume and publish packages. @@ -38,7 +34,7 @@ conan user --remote {remote} --password {password} {username} | -----------| ----------- | | `remote` | The remote name. | | `username` | Your Gitea username. | -| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. | +| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. | | `owner` | The owner of the package. | For example: diff --git a/docs/content/doc/usage/packages/conan.zh-cn.md b/docs/content/usage/packages/conan.zh-cn.md similarity index 93% rename from docs/content/doc/usage/packages/conan.zh-cn.md rename to docs/content/usage/packages/conan.zh-cn.md index 3d3aa8a29..485600252 100644 --- a/docs/content/doc/usage/packages/conan.zh-cn.md +++ b/docs/content/usage/packages/conan.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Conan 软件包注册表" slug: "conan" -weight: 20 +sidebar_position: 20 draft: false toc: false menu: sidebar: parent: "packages" name: "Conan" - weight: 20 + sidebar_position: 20 identifier: "conan" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Conan](https://conan.io/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 [conan](https://conan.io/downloads.html) 软件包注册表,您需要使用 conan 命令行工具来消费和发布软件包。 @@ -38,7 +34,7 @@ conan user --remote {remote} --password {password} {username} | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | `remote` | 远程名称。 | | `username` | 您的 Gitea 用户名。 | -| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码。 | +| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。 | | `owner` | 软件包的所有者。 | 例如: diff --git a/docs/content/doc/usage/packages/conda.en-us.md b/docs/content/usage/packages/conda.en-us.md similarity index 97% rename from docs/content/doc/usage/packages/conda.en-us.md rename to docs/content/usage/packages/conda.en-us.md index 6178b6237..5b6f97679 100644 --- a/docs/content/doc/usage/packages/conda.en-us.md +++ b/docs/content/usage/packages/conda.en-us.md @@ -2,14 +2,14 @@ date: "2022-12-28T00:00:00+00:00" title: "Conda Package Registry" slug: "conda" -weight: 25 +sidebar_position: 25 draft: false toc: false menu: sidebar: parent: "packages" name: "Conda" - weight: 25 + sidebar_position: 25 identifier: "conda" --- @@ -17,10 +17,6 @@ menu: Publish [Conda](https://docs.conda.io/en/latest/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Conda package registry, you need to use [conda](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html). diff --git a/docs/content/doc/usage/packages/conda.zh-cn.md b/docs/content/usage/packages/conda.zh-cn.md similarity index 98% rename from docs/content/doc/usage/packages/conda.zh-cn.md rename to docs/content/usage/packages/conda.zh-cn.md index 721c2761c..6b385d257 100644 --- a/docs/content/doc/usage/packages/conda.zh-cn.md +++ b/docs/content/usage/packages/conda.zh-cn.md @@ -2,14 +2,14 @@ date: "2022-12-28T00:00:00+00:00" title: "Conda 软件包注册表" slug: "conda" -weight: 25 +sidebar_position: 25 draft: false toc: false menu: sidebar: parent: "packages" name: "Conda" - weight: 25 + sidebar_position: 25 identifier: "conda" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Conda](https://docs.conda.io/en/latest/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Conda 软件包注册表,您需要使用 [conda](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html) 命令行工具。 diff --git a/docs/content/doc/usage/packages/container.en-us.md b/docs/content/usage/packages/container.en-us.md similarity index 90% rename from docs/content/doc/usage/packages/container.en-us.md rename to docs/content/usage/packages/container.en-us.md index 457e6fb1a..6be21c2b2 100644 --- a/docs/content/doc/usage/packages/container.en-us.md +++ b/docs/content/usage/packages/container.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Container Registry" slug: "container" -weight: 30 +sidebar_position: 30 draft: false toc: false menu: sidebar: parent: "packages" name: "Container Registry" - weight: 30 + sidebar_position: 30 identifier: "container" --- @@ -18,10 +18,6 @@ menu: Publish [Open Container Initiative](https://opencontainers.org/) compliant images for your user or organization. The container registry follows the OCI specs and supports all compatible images like [Docker](https://www.docker.com/) and [Helm Charts](https://helm.sh/). -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Container registry, you can use the tools for your specific image type. @@ -35,7 +31,7 @@ To push an image or if the image is in a private registry, you have to authentic docker login gitea.example.com ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. ## Image naming convention diff --git a/docs/content/doc/usage/packages/container.zh-cn.md b/docs/content/usage/packages/container.zh-cn.md similarity index 92% rename from docs/content/doc/usage/packages/container.zh-cn.md rename to docs/content/usage/packages/container.zh-cn.md index d441a8107..28e4835a3 100644 --- a/docs/content/doc/usage/packages/container.zh-cn.md +++ b/docs/content/usage/packages/container.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "容器注册表" slug: "container" -weight: 30 +sidebar_position: 30 draft: false toc: false menu: sidebar: parent: "packages" name: "容器" - weight: 30 + sidebar_position: 30 identifier: "container" --- @@ -18,10 +18,6 @@ menu: 为您的用户或组织发布符合 [Open Container Initiative(OCI)](https://opencontainers.org/) 规范的镜像。 该容器注册表遵循 OCI 规范,并支持所有兼容的镜像类型,如 [Docker](https://www.docker.com/) 和 [Helm Charts](https://helm.sh/)。 -**目录** - -{{< toc >}} - ## 目录 要使用容器注册表,您可以使用适用于特定镜像类型的工具。 @@ -35,7 +31,7 @@ menu: docker login gitea.example.com ``` -如果您使用的是 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码进行身份验证。 +如果您使用的是 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码进行身份验证。 ## 镜像命名约定 diff --git a/docs/content/doc/usage/packages/cran.en-us.md b/docs/content/usage/packages/cran.en-us.md similarity index 97% rename from docs/content/doc/usage/packages/cran.en-us.md rename to docs/content/usage/packages/cran.en-us.md index fafe49429..68de425d2 100644 --- a/docs/content/doc/usage/packages/cran.en-us.md +++ b/docs/content/usage/packages/cran.en-us.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "CRAN" - weight: 35 + sidebar_position: 35 identifier: "cran" --- @@ -16,10 +16,6 @@ menu: Publish [R](https://www.r-project.org/) packages to a [CRAN](https://cran.r-project.org/)-like registry for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the CRAN package registry, you need to install [R](https://cran.r-project.org/). diff --git a/docs/content/doc/usage/packages/cran.zh-cn.md b/docs/content/usage/packages/cran.zh-cn.md similarity index 98% rename from docs/content/doc/usage/packages/cran.zh-cn.md rename to docs/content/usage/packages/cran.zh-cn.md index fec9a56fe..c8e32a64c 100644 --- a/docs/content/doc/usage/packages/cran.zh-cn.md +++ b/docs/content/usage/packages/cran.zh-cn.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "CRAN" - weight: 35 + sidebar_position: 35 identifier: "cran" --- @@ -16,10 +16,6 @@ menu: 将 [R](https://www.r-project.org/) 软件包发布到您的用户或组织的类似 [CRAN](https://cran.r-project.org/) 的注册表。 -**目录** - -{{< toc >}} - ## 要求 要使用CRAN软件包注册表,您需要安装 [R](https://cran.r-project.org/)。 diff --git a/docs/content/doc/usage/packages/debian.en-us.md b/docs/content/usage/packages/debian.en-us.md similarity index 92% rename from docs/content/doc/usage/packages/debian.en-us.md rename to docs/content/usage/packages/debian.en-us.md index 239fd8c17..6bd7475dd 100644 --- a/docs/content/doc/usage/packages/debian.en-us.md +++ b/docs/content/usage/packages/debian.en-us.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "Debian" - weight: 35 + sidebar_position: 35 identifier: "debian" --- @@ -16,10 +16,6 @@ menu: Publish [Debian](https://www.debian.org/distrib/packages) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Debian registry, you need to use a HTTP client like `curl` to upload and a package manager like `apt` to consume packages. @@ -40,7 +36,7 @@ echo "deb https://gitea.example.com/api/packages/{owner}/debian {distribution} { | `distribution` | The distribution to use. | | `component` | The component to use. | -If the registry is private, provide credentials in the url. You can use a password or a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}): +If the registry is private, provide credentials in the url. You can use a password or a [personal access token](development/api-usage.md#authentication): ```shell echo "deb https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/debian {distribution} {component}" | sudo tee -a /etc/apt/sources.list.d/gitea.list @@ -80,7 +76,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/debian/pool/bionic/main/upload ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. You cannot publish a file with the same name twice to a package. You must delete the existing package version first. The server responds with the following HTTP Status codes. diff --git a/docs/content/doc/usage/packages/debian.zh-cn.md b/docs/content/usage/packages/debian.zh-cn.md similarity index 93% rename from docs/content/doc/usage/packages/debian.zh-cn.md rename to docs/content/usage/packages/debian.zh-cn.md index 57b8a9e4a..417b79f70 100644 --- a/docs/content/doc/usage/packages/debian.zh-cn.md +++ b/docs/content/usage/packages/debian.zh-cn.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "Debian" - weight: 35 + sidebar_position: 35 identifier: "debian" --- @@ -16,10 +16,6 @@ menu: 为您的用户或组织发布 [Debian](https://www.debian.org/distrib/packages) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Debian 注册表,您需要使用类似于 `curl` 的 HTTP 客户端进行上传,并使用类似于 `apt` 的软件包管理器消费软件包。 @@ -40,7 +36,7 @@ echo "deb https://gitea.example.com/api/packages/{owner}/debian {distribution} { | `distribution` | 要使用的发行版 | | `component` | 要使用的组件 | -如果注册表是私有的,请在 URL 中提供凭据。您可以使用密码或[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}): +如果注册表是私有的,请在 URL 中提供凭据。您可以使用密码或[个人访问令牌](development/api-usage.md#通过-api-认证): ```shell echo "deb https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/debian {distribution} {component}" | sudo tee -a /etc/apt/sources.list.d/gitea.list @@ -80,7 +76,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/debian/pool/bionic/main/upload ``` -如果您使用 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码。 +如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。 您无法向软件包中多次发布具有相同名称的文件。您必须首先删除现有的软件包版本。 服务器将使用以下 HTTP 状态代码进行响应。 diff --git a/docs/content/doc/usage/packages/generic.en-us.md b/docs/content/usage/packages/generic.en-us.md similarity index 93% rename from docs/content/doc/usage/packages/generic.en-us.md rename to docs/content/usage/packages/generic.en-us.md index 9ff893072..04be6e359 100644 --- a/docs/content/doc/usage/packages/generic.en-us.md +++ b/docs/content/usage/packages/generic.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Generic Package Registry" slug: "generic" -weight: 40 +sidebar_position: 40 draft: false toc: false menu: sidebar: parent: "packages" name: "Generic" - weight: 40 + sidebar_position: 40 identifier: "generic" --- @@ -17,13 +17,9 @@ menu: Publish generic files, like release binaries or other output, for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Authenticate to the package registry -To authenticate to the Package Registry, you need to provide [custom HTTP headers or use HTTP Basic authentication]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}). +To authenticate to the Package Registry, you need to provide [custom HTTP headers or use HTTP Basic authentication](development/api-usage.md#authentication). ## Publish a package @@ -49,7 +45,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/generic/test_package/1.0.0/file.bin ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. The server responds with the following HTTP Status codes. diff --git a/docs/content/doc/usage/packages/generic.zh-cn.md b/docs/content/usage/packages/generic.zh-cn.md similarity index 94% rename from docs/content/doc/usage/packages/generic.zh-cn.md rename to docs/content/usage/packages/generic.zh-cn.md index ce5cdcb7a..f20f7ac41 100644 --- a/docs/content/doc/usage/packages/generic.zh-cn.md +++ b/docs/content/usage/packages/generic.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "通用软件包注册表" slug: "generic" -weight: 40 +sidebar_position: 40 draft: false toc: false menu: sidebar: parent: "packages" name: "通用" - weight: 40 + sidebar_position: 40 identifier: "generic" --- @@ -17,13 +17,9 @@ menu: 发布通用文件,如发布二进制文件或其他输出,供您的用户或组织使用。 -**目录** - -{{< toc >}} - ## 身份验证软件包注册表 -要身份验证软件包注册表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份验证]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})。 +要身份验证软件包注册表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份验证](development/api-usage.md#通过-api-认证)。 ## 发布软件包 @@ -49,7 +45,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/generic/test_package/1.0.0/file.bin ``` -如果您使用 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码。 +如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。 服务器将使用以下 HTTP 状态代码进行响应。 diff --git a/docs/content/doc/usage/packages/go.en-us.md b/docs/content/usage/packages/go.en-us.md similarity index 86% rename from docs/content/doc/usage/packages/go.en-us.md rename to docs/content/usage/packages/go.en-us.md index 04452c351..7c4069248 100644 --- a/docs/content/doc/usage/packages/go.en-us.md +++ b/docs/content/usage/packages/go.en-us.md @@ -2,14 +2,14 @@ date: "2023-05-10T00:00:00+00:00" title: "Go Package Registry" slug: "go" -weight: 45 +sidebar_position: 45 draft: false toc: false menu: sidebar: parent: "packages" name: "Go" - weight: 45 + sidebar_position: 45 identifier: "go" --- @@ -17,10 +17,6 @@ menu: Publish Go packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Publish a package To publish a Go package perform a HTTP `PUT` operation with the package content in the request body. @@ -35,7 +31,7 @@ PUT https://gitea.example.com/api/packages/{owner}/go/upload | --------- | ----------- | | `owner` | The owner of the package. | -To authenticate to the package registry, you need to provide [custom HTTP headers or use HTTP Basic authentication]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}): +To authenticate to the package registry, you need to provide [custom HTTP headers or use HTTP Basic authentication](development/api-usage.md#authentication): ```shell curl --user your_username:your_password_or_token \ @@ -43,7 +39,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/go/upload ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. The server responds with the following HTTP Status codes. diff --git a/docs/content/doc/usage/packages/go.zh-cn.md b/docs/content/usage/packages/go.zh-cn.md similarity index 89% rename from docs/content/doc/usage/packages/go.zh-cn.md rename to docs/content/usage/packages/go.zh-cn.md index 069a6991f..ddc7b837b 100644 --- a/docs/content/doc/usage/packages/go.zh-cn.md +++ b/docs/content/usage/packages/go.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-10T00:00:00+00:00" title: "Go 软件包注册表" slug: "go" -weight: 45 +sidebar_position: 45 draft: false toc: false menu: sidebar: parent: "packages" name: "Go" - weight: 45 + sidebar_position: 45 identifier: "go" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 Go 软件包。 -**目录** - -{{< toc >}} - ## 发布软件包 要发布 Go 软件包,请执行 HTTP `PUT` 操作,并将软件包内容放入请求主体中。 @@ -35,7 +31,7 @@ PUT https://gitea.example.com/api/packages/{owner}/go/upload | ------- | -------------- | | `owner` | 软件包的所有者 | -要身份验证到软件包注册表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份验证]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}): +要身份验证到软件包注册表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份验证](development/api-usage.md#通过-api-认证): ```shell curl --user your_username:your_password_or_token \ @@ -43,7 +39,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/go/upload ``` -如果您使用的是 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码进行身份验证。 +如果您使用的是 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码进行身份验证。 服务器将使用以下 HTTP 状态代码进行响应。 diff --git a/docs/content/doc/usage/packages/helm.en-us.md b/docs/content/usage/packages/helm.en-us.md similarity index 90% rename from docs/content/doc/usage/packages/helm.en-us.md rename to docs/content/usage/packages/helm.en-us.md index 1db1e8758..a9fe6be89 100644 --- a/docs/content/doc/usage/packages/helm.en-us.md +++ b/docs/content/usage/packages/helm.en-us.md @@ -2,14 +2,14 @@ date: "2022-04-14T00:00:00+00:00" title: "Helm Chart Registry" slug: "helm" -weight: 50 +sidebar_position: 50 draft: false toc: false menu: sidebar: parent: "packages" name: "Helm" - weight: 50 + sidebar_position: 50 identifier: "helm" --- @@ -17,10 +17,6 @@ menu: Publish [Helm](https://helm.sh/) charts for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Helm Chart registry use a simple HTTP client like `curl` or the [`helm cm-push`](https://github.com/chartmuseum/helm-push/) plugin. @@ -43,7 +39,7 @@ helm cm-push ./{chart_file}.tgz {repo} | Parameter | Description | | ------------ | ----------- | | `username` | Your Gitea username. | -| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. | +| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. | | `repo` | The name for the repository. | | `chart_file` | The Helm Chart archive. | | `owner` | The owner of the package. | diff --git a/docs/content/doc/usage/packages/helm.zh-cn.md b/docs/content/usage/packages/helm.zh-cn.md similarity index 93% rename from docs/content/doc/usage/packages/helm.zh-cn.md rename to docs/content/usage/packages/helm.zh-cn.md index 337170bc2..ea9105e63 100644 --- a/docs/content/doc/usage/packages/helm.zh-cn.md +++ b/docs/content/usage/packages/helm.zh-cn.md @@ -2,14 +2,14 @@ date: "2022-04-14T00:00:00+00:00" title: "Helm Chart 注册表" slug: "helm" -weight: 50 +sidebar_position: 50 draft: false toc: false menu: sidebar: parent: "packages" name: "Helm" - weight: 50 + sidebar_position: 50 identifier: "helm" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Helm](https://helm.sh/) charts。 -**目录** - -{{< toc >}} - ## 要求 要使用 Helm Chart 注册表,可以使用诸如 `curl` 或 [`helm cm-push`](https://github.com/chartmuseum/helm-push/) 插件之类的简单HTTP客户端。 @@ -43,7 +39,7 @@ helm cm-push ./{chart_file}.tgz {repo} | 参数 | 描述 | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | `username` | 您的Gitea用户名 | -| `password` | 您的Gitea密码。如果您使用的是2FA或OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码进行身份验证。 | +| `password` | 您的Gitea密码。如果您使用的是2FA或OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码进行身份验证。 | | `repo` | 仓库名称 | | `chart_file` | Helm Chart 归档文件 | | `owner` | 软件包的所有者 | diff --git a/docs/content/doc/usage/packages/maven.en-us.md b/docs/content/usage/packages/maven.en-us.md similarity index 95% rename from docs/content/doc/usage/packages/maven.en-us.md rename to docs/content/usage/packages/maven.en-us.md index 85b37fe46..59e71c87c 100644 --- a/docs/content/doc/usage/packages/maven.en-us.md +++ b/docs/content/usage/packages/maven.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Maven Package Registry" slug: "maven" -weight: 60 +sidebar_position: 60 draft: false toc: false menu: sidebar: parent: "packages" name: "Maven" - weight: 60 + sidebar_position: 60 identifier: "maven" --- @@ -17,10 +17,6 @@ menu: Publish [Maven](https://maven.apache.org) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Maven package registry, you can use [Maven](https://maven.apache.org/install.html) or [Gradle](https://gradle.org/install/). @@ -71,7 +67,7 @@ Afterwards add the following sections to your project `pom.xml` file: | Parameter | Description | | -------------- | ----------- | -| `access_token` | Your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}). | +| `access_token` | Your [personal access token](development/api-usage.md#authentication). | | `owner` | The owner of the package. | ### Gradle variant diff --git a/docs/content/doc/usage/packages/maven.zh-cn.md b/docs/content/usage/packages/maven.zh-cn.md similarity index 95% rename from docs/content/doc/usage/packages/maven.zh-cn.md rename to docs/content/usage/packages/maven.zh-cn.md index 833bb8150..6b873c795 100644 --- a/docs/content/doc/usage/packages/maven.zh-cn.md +++ b/docs/content/usage/packages/maven.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Maven 软件包注册表" slug: "maven" -weight: 60 +sidebar_position: 60 draft: false toc: false menu: sidebar: parent: "packages" name: "Maven" - weight: 60 + sidebar_position: 60 identifier: "maven" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Maven](https://maven.apache.org) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Maven 软件包注册表,您可以使用 [Maven](https://maven.apache.org/install.html) 或 [Gradle](https://gradle.org/install/)。 @@ -71,7 +67,7 @@ menu: | 参数 | 描述 | | -------------- | ------------------------------------------------------------------------------------- | -| `access_token` | 您的[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}) | +| `access_token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) | | `owner` | 软件包的所有者 | ### Gradle variant diff --git a/docs/content/doc/usage/packages/npm.en-us.md b/docs/content/usage/packages/npm.en-us.md similarity index 95% rename from docs/content/doc/usage/packages/npm.en-us.md rename to docs/content/usage/packages/npm.en-us.md index 58edcd02a..1590b9623 100644 --- a/docs/content/doc/usage/packages/npm.en-us.md +++ b/docs/content/usage/packages/npm.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "npm Package Registry" slug: "npm" -weight: 70 +sidebar_position: 70 draft: false toc: false menu: sidebar: parent: "packages" name: "npm" - weight: 70 + sidebar_position: 70 identifier: "npm" --- @@ -17,10 +17,6 @@ menu: Publish [npm](https://www.npmjs.com/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the npm package registry, you need [Node.js](https://nodejs.org/en/download/) coupled with a package manager such as [Yarn](https://classic.yarnpkg.com/en/docs/install) or [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) itself. @@ -42,7 +38,7 @@ npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{t | ------------ | ----------- | | `scope` | The scope of the packages. | | `owner` | The owner of the package. | -| `token` | Your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}). | +| `token` | Your [personal access token](development/api-usage.md#authentication). | For example: diff --git a/docs/content/doc/usage/packages/npm.zh-cn.md b/docs/content/usage/packages/npm.zh-cn.md similarity index 95% rename from docs/content/doc/usage/packages/npm.zh-cn.md rename to docs/content/usage/packages/npm.zh-cn.md index 4863b2582..d51b8b78a 100644 --- a/docs/content/doc/usage/packages/npm.zh-cn.md +++ b/docs/content/usage/packages/npm.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "npm 软件包注册表" slug: "npm" -weight: 70 +sidebar_position: 70 draft: false toc: false menu: sidebar: parent: "packages" name: "npm" - weight: 70 + sidebar_position: 70 identifier: "npm" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [npm](https://www.npmjs.com/) 包。 -**目录** - -{{< toc >}} - ## 要求 要使用 npm 包注册表,您需要安装 [Node.js](https://nodejs.org/en/download/) 以及与之配套的软件包管理器,例如 [Yarn](https://classic.yarnpkg.com/en/docs/install) 或 [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) 本身。 @@ -42,7 +38,7 @@ npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{t | ------- | --------------------------------------------------------------------------------------- | | `scope` | 软件包的作用域 | | `owner` | 软件包的所有者 | -| `token` | 您的[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})。 | +| `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证)。 | 例如: diff --git a/docs/content/doc/usage/packages/nuget.en-us.md b/docs/content/usage/packages/nuget.en-us.md similarity index 91% rename from docs/content/doc/usage/packages/nuget.en-us.md rename to docs/content/usage/packages/nuget.en-us.md index ccda2cc49..8cd88e063 100644 --- a/docs/content/doc/usage/packages/nuget.en-us.md +++ b/docs/content/usage/packages/nuget.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "NuGet Package Registry" slug: "nuget" -weight: 80 +sidebar_position: 80 draft: false toc: false menu: sidebar: parent: "packages" name: "NuGet" - weight: 80 + sidebar_position: 80 identifier: "nuget" --- @@ -17,10 +17,6 @@ menu: Publish [NuGet](https://www.nuget.org/) packages for your user or organization. The package registry supports the V2 and V3 API protocol and you can work with [NuGet Symbol Packages](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg) too. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the NuGet package registry, you can use command-line interface tools as well as NuGet features in various IDEs like Visual Studio. @@ -39,7 +35,7 @@ dotnet nuget add source --name {source_name} --username {username} --password {p | ------------- | ----------- | | `source_name` | The desired source name. | | `username` | Your Gitea username. | -| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. | +| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. | | `owner` | The owner of the package. | For example: @@ -48,7 +44,7 @@ For example: dotnet nuget add source --name gitea --username testuser --password password123 https://gitea.example.com/api/packages/testuser/nuget/index.json ``` -You can add the source without credentials and use the [`--api-key`](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-push) parameter when publishing packages. In this case you need to provide a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}). +You can add the source without credentials and use the [`--api-key`](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-push) parameter when publishing packages. In this case you need to provide a [personal access token](development/api-usage.md#authentication). ## Publish a package diff --git a/docs/content/doc/usage/packages/nuget.zh-cn.md b/docs/content/usage/packages/nuget.zh-cn.md similarity index 93% rename from docs/content/doc/usage/packages/nuget.zh-cn.md rename to docs/content/usage/packages/nuget.zh-cn.md index 14205545b..692d5f928 100644 --- a/docs/content/doc/usage/packages/nuget.zh-cn.md +++ b/docs/content/usage/packages/nuget.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "NuGet 软件包注册表" slug: "nuget" -weight: 80 +sidebar_position: 80 draft: false toc: false menu: sidebar: parent: "packages" name: "NuGet" - weight: 80 + sidebar_position: 80 identifier: "nuget" --- @@ -17,10 +17,6 @@ menu: 发布适用于您的用户或组织的 [NuGet](https://www.nuget.org/) 软件包。软件包注册表支持 V2 和 V3 API 协议,并且您还可以使用 [NuGet 符号软件包](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg)。 -**目录** - -{{< toc >}} - ## 要求 要使用 NuGet 软件包注册表,您可以使用命令行界面工具,以及各种集成开发环境(IDE)中的 NuGet 功能,如 Visual Studio。有关 NuGet 客户端的更多信息,请参[阅官方文档](https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools)。 @@ -38,7 +34,7 @@ dotnet nuget add source --name {source_name} --username {username} --password {p | ------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | `source_name` | 所需源名称 | | `username` | 您的Gitea用户名 | -| `password` | 您的Gitea密码。如果您使用2FA或OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})代替密码。 | +| `password` | 您的Gitea密码。如果您使用2FA或OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)代替密码。 | | `owner` | 软件包的所有者 | 例如: @@ -47,7 +43,7 @@ dotnet nuget add source --name {source_name} --username {username} --password {p dotnet nuget add source --name gitea --username testuser --password password123 https://gitea.example.com/api/packages/testuser/nuget/index.json ``` -您可以在不提供凭据的情况下添加源,并在发布软件包时使用--api-key参数。在这种情况下,您需要提供[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})。 +您可以在不提供凭据的情况下添加源,并在发布软件包时使用--api-key参数。在这种情况下,您需要提供[个人访问令牌](development/api-usage.md#通过-api-认证)。 ## 发布软件包 diff --git a/docs/content/doc/usage/packages/overview.en-us.md b/docs/content/usage/packages/overview.en-us.md similarity index 61% rename from docs/content/doc/usage/packages/overview.en-us.md rename to docs/content/usage/packages/overview.en-us.md index bf33ea627..44d18ff48 100644 --- a/docs/content/doc/usage/packages/overview.en-us.md +++ b/docs/content/usage/packages/overview.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "Package Registry" slug: "overview" -weight: 1 +sidebar_position: 1 draft: false toc: false menu: sidebar: parent: "packages" name: "Overview" - weight: 1 + sidebar_position: 1 identifier: "packages-overview" --- @@ -17,37 +17,33 @@ menu: Starting with Gitea **1.17**, the Package Registry can be used as a public or private registry for common package managers. -**Table of Contents** - -{{< toc >}} - ## Supported package managers The following package managers are currently supported: | Name | Language | Package client | | ---- | -------- | -------------- | -| [Alpine]({{< relref "doc/usage/packages/alpine.en-us.md" >}}) | - | `apk` | -| [Cargo]({{< relref "doc/usage/packages/cargo.en-us.md" >}}) | Rust | `cargo` | -| [Chef]({{< relref "doc/usage/packages/chef.en-us.md" >}}) | - | `knife` | -| [Composer]({{< relref "doc/usage/packages/composer.en-us.md" >}}) | PHP | `composer` | -| [Conan]({{< relref "doc/usage/packages/conan.en-us.md" >}}) | C++ | `conan` | -| [Conda]({{< relref "doc/usage/packages/conda.en-us.md" >}}) | - | `conda` | -| [Container]({{< relref "doc/usage/packages/container.en-us.md" >}}) | - | any OCI compliant client | -| [CRAN]({{< relref "doc/usage/packages/cran.en-us.md" >}}) | R | - | -| [Debian]({{< relref "doc/usage/packages/debian.en-us.md" >}}) | - | `apt` | -| [Generic]({{< relref "doc/usage/packages/generic.en-us.md" >}}) | - | any HTTP client | -| [Go]({{< relref "doc/usage/packages/go.en-us.md" >}}) | Go | `go` | -| [Helm]({{< relref "doc/usage/packages/helm.en-us.md" >}}) | - | any HTTP client, `cm-push` | -| [Maven]({{< relref "doc/usage/packages/maven.en-us.md" >}}) | Java | `mvn`, `gradle` | -| [npm]({{< relref "doc/usage/packages/npm.en-us.md" >}}) | JavaScript | `npm`, `yarn`, `pnpm` | -| [NuGet]({{< relref "doc/usage/packages/nuget.en-us.md" >}}) | .NET | `nuget` | -| [Pub]({{< relref "doc/usage/packages/pub.en-us.md" >}}) | Dart | `dart`, `flutter` | -| [PyPI]({{< relref "doc/usage/packages/pypi.en-us.md" >}}) | Python | `pip`, `twine` | -| [RPM]({{< relref "doc/usage/packages/rpm.en-us.md" >}}) | - | `yum`, `dnf`, `zypper` | -| [RubyGems]({{< relref "doc/usage/packages/rubygems.en-us.md" >}}) | Ruby | `gem`, `Bundler` | -| [Swift]({{< relref "doc/usage/packages/rubygems.en-us.md" >}}) | Swift | `swift` | -| [Vagrant]({{< relref "doc/usage/packages/vagrant.en-us.md" >}}) | - | `vagrant` | +| [Alpine](usage/packages/alpine.md) | - | `apk` | +| [Cargo](usage/packages/cargo.md) | Rust | `cargo` | +| [Chef](usage/packages/chef.md) | - | `knife` | +| [Composer](usage/packages/composer.md) | PHP | `composer` | +| [Conan](usage/packages/conan.md) | C++ | `conan` | +| [Conda](usage/packages/conda.md) | - | `conda` | +| [Container](usage/packages/container.md) | - | any OCI compliant client | +| [CRAN](usage/packages/cran.md) | R | - | +| [Debian](usage/packages/debian.md) | - | `apt` | +| [Generic](usage/packages/generic.md) | - | any HTTP client | +| [Go](usage/packages/go.md) | Go | `go` | +| [Helm](usage/packages/helm.md) | - | any HTTP client, `cm-push` | +| [Maven](usage/packages/maven.md) | Java | `mvn`, `gradle` | +| [npm](usage/packages/npm.md) | JavaScript | `npm`, `yarn`, `pnpm` | +| [NuGet](usage/packages/nuget.md) | .NET | `nuget` | +| [Pub](usage/packages/pub.md) | Dart | `dart`, `flutter` | +| [PyPI](usage/packages/pypi.md) | Python | `pip`, `twine` | +| [RPM](usage/packages/rpm.md) | - | `yum`, `dnf`, `zypper` | +| [RubyGems](usage/packages/rubygems.md) | Ruby | `gem`, `Bundler` | +| [Swift](usage/packages/rubygems.md) | Swift | `swift` | +| [Vagrant](usage/packages/vagrant.md) | - | `vagrant` | **The following paragraphs only apply if Packages are not globally disabled!** diff --git a/docs/content/doc/usage/packages/overview.zh-cn.md b/docs/content/usage/packages/overview.zh-cn.md similarity index 56% rename from docs/content/doc/usage/packages/overview.zh-cn.md rename to docs/content/usage/packages/overview.zh-cn.md index 9d24a733f..daacf1dcf 100644 --- a/docs/content/doc/usage/packages/overview.zh-cn.md +++ b/docs/content/usage/packages/overview.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "软件包注册表" slug: "overview" -weight: 1 +sidebar_position: 1 draft: false toc: false menu: sidebar: parent: "packages" name: "Overview" - weight: 1 + sidebar_position: 1 identifier: "packages-overview" --- @@ -17,37 +17,33 @@ menu: 从Gitea **1.17**版本开始,软件包注册表可以用作常见软件包管理器的公共或私有注册表。 -**目录** - -{{< toc >}} - ## 支持的软件包管理器 目前支持以下软件包管理器: | Name | Language | Package client | | ------------------------------------------------------------------- | ---------- | ------------------------- | -| [Alpine]({{< relref "doc/usage/packages/alpine.zh-cn.md" >}}) | - | `apk` | -| [Cargo]({{< relref "doc/usage/packages/cargo.zh-cn.md" >}}) | Rust | `cargo` | -| [Chef]({{< relref "doc/usage/packages/chef.zh-cn.md" >}}) | - | `knife` | -| [Composer]({{< relref "doc/usage/packages/composer.zh-cn.md" >}}) | PHP | `composer` | -| [Conan]({{< relref "doc/usage/packages/conan.zh-cn.md" >}}) | C++ | `conan` | -| [Conda]({{< relref "doc/usage/packages/conda.zh-cn.md" >}}) | - | `conda` | -| [Container]({{< relref "doc/usage/packages/container.zh-cn.md" >}}) | - | 任何符合OCI规范的客户端 | -| [CRAN]({{< relref "doc/usage/packages/cran.zh-cn.md" >}}) | R | - | -| [Debian]({{< relref "doc/usage/packages/debian.zh-cn.md" >}}) | - | `apt` | -| [Generic]({{< relref "doc/usage/packages/generic.zh-cn.md" >}}) | - | 任何HTTP客户端 | -| [Go]({{< relref "doc/usage/packages/go.zh-cn.md" >}}) | Go | `go` | -| [Helm]({{< relref "doc/usage/packages/helm.zh-cn.md" >}}) | - | 任何HTTP客户端, `cm-push` | -| [Maven]({{< relref "doc/usage/packages/maven.zh-cn.md" >}}) | Java | `mvn`, `gradle` | -| [npm]({{< relref "doc/usage/packages/npm.zh-cn.md" >}}) | JavaScript | `npm`, `yarn`, `pnpm` | -| [NuGet]({{< relref "doc/usage/packages/nuget.zh-cn.md" >}}) | .NET | `nuget` | -| [Pub]({{< relref "doc/usage/packages/pub.zh-cn.md" >}}) | Dart | `dart`, `flutter` | -| [PyPI]({{< relref "doc/usage/packages/pypi.zh-cn.md" >}}) | Python | `pip`, `twine` | -| [RPM]({{< relref "doc/usage/packages/rpm.zh-cn.md" >}}) | - | `yum`, `dnf`, `zypper` | -| [RubyGems]({{< relref "doc/usage/packages/rubygems.zh-cn.md" >}}) | Ruby | `gem`, `Bundler` | -| [Swift]({{< relref "doc/usage/packages/rubygems.zh-cn.md" >}}) | Swift | `swift` | -| [Vagrant]({{< relref "doc/usage/packages/vagrant.zh-cn.md" >}}) | - | `vagrant` | +| [Alpine](usage/packages/alpine.md) | - | `apk` | +| [Cargo](usage/packages/cargo.md) | Rust | `cargo` | +| [Chef](usage/packages/chef.md) | - | `knife` | +| [Composer](usage/packages/composer.md) | PHP | `composer` | +| [Conan](usage/packages/conan.md) | C++ | `conan` | +| [Conda](usage/packages/conda.md) | - | `conda` | +| [Container](usage/packages/container.md) | - | 任何符合OCI规范的客户端 | +| [CRAN](usage/packages/cran.md) | R | - | +| [Debian](usage/packages/debian.md) | - | `apt` | +| [Generic](usage/packages/generic.md) | - | 任何HTTP客户端 | +| [Go](usage/packages/go.md) | Go | `go` | +| [Helm](usage/packages/helm.md) | - | 任何HTTP客户端, `cm-push` | +| [Maven](usage/packages/maven.md) | Java | `mvn`, `gradle` | +| [npm](usage/packages/npm.md) | JavaScript | `npm`, `yarn`, `pnpm` | +| [NuGet](usage/packages/nuget.md) | .NET | `nuget` | +| [Pub](usage/packages/pub.md) | Dart | `dart`, `flutter` | +| [PyPI](usage/packages/pypi.md) | Python | `pip`, `twine` | +| [RPM](usage/packages/rpm.md) | - | `yum`, `dnf`, `zypper` | +| [RubyGems](usage/packages/rubygems.md) | Ruby | `gem`, `Bundler` | +| [Swift](usage/packages/rubygems.md) | Swift | `swift` | +| [Vagrant](usage/packages/vagrant.md) | - | `vagrant` | **以下段落仅适用于未全局禁用软件包的情况!** diff --git a/docs/content/doc/usage/packages/pub.en-us.md b/docs/content/usage/packages/pub.en-us.md similarity index 91% rename from docs/content/doc/usage/packages/pub.en-us.md rename to docs/content/usage/packages/pub.en-us.md index 823984d54..e5e12de34 100644 --- a/docs/content/doc/usage/packages/pub.en-us.md +++ b/docs/content/usage/packages/pub.en-us.md @@ -2,14 +2,14 @@ date: "2022-07-31T00:00:00+00:00" title: "Pub Package Registry" slug: "pub" -weight: 90 +sidebar_position: 90 draft: false toc: false menu: sidebar: parent: "packages" name: "Pub" - weight: 90 + sidebar_position: 90 identifier: "pub" --- @@ -17,10 +17,6 @@ menu: Publish [Pub](https://dart.dev/guides/packages) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Pub package registry, you need to use the tools [dart](https://dart.dev/tools/dart-tool) and/or [flutter](https://docs.flutter.dev/reference/flutter-cli). @@ -39,7 +35,7 @@ dart pub token add https://gitea.example.com/api/packages/{owner}/pub | ------------ | ----------- | | `owner` | The owner of the package. | -You need to provide your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}). +You need to provide your [personal access token](development/api-usage.md#authentication). ## Publish a package diff --git a/docs/content/doc/usage/packages/pub.zh-cn.md b/docs/content/usage/packages/pub.zh-cn.md similarity index 91% rename from docs/content/doc/usage/packages/pub.zh-cn.md rename to docs/content/usage/packages/pub.zh-cn.md index 9941a5708..2b3c30204 100644 --- a/docs/content/doc/usage/packages/pub.zh-cn.md +++ b/docs/content/usage/packages/pub.zh-cn.md @@ -2,14 +2,14 @@ date: "2022-07-31T00:00:00+00:00" title: "Pub 软件包注册表" slug: "pub" -weight: 90 +sidebar_position: 90 draft: false toc: false menu: sidebar: parent: "packages" name: "Pub" - weight: 90 + sidebar_position: 90 identifier: "pub" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Pub](https://dart.dev/guides/packages) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用Pub软件包注册表,您需要使用 [dart](https://dart.dev/tools/dart-tool) 和/或 [flutter](https://docs.flutter.dev/reference/flutter-cli). 工具。 @@ -39,7 +35,7 @@ dart pub token add https://gitea.example.com/api/packages/{owner}/pub | ------- | -------------- | | `owner` | 软件包的所有者 | -您需要提供您的[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})。 +您需要提供您的[个人访问令牌](development/api-usage.md#通过-api-认证)。 ## 发布软件包 diff --git a/docs/content/doc/usage/packages/pypi.en-us.md b/docs/content/usage/packages/pypi.en-us.md similarity index 92% rename from docs/content/doc/usage/packages/pypi.en-us.md rename to docs/content/usage/packages/pypi.en-us.md index 822e3ab97..be59df076 100644 --- a/docs/content/doc/usage/packages/pypi.en-us.md +++ b/docs/content/usage/packages/pypi.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "PyPI Package Registry" slug: "pypi" -weight: 100 +sidebar_position: 100 draft: false toc: false menu: sidebar: parent: "packages" name: "PyPI" - weight: 100 + sidebar_position: 100 identifier: "pypi" --- @@ -17,10 +17,6 @@ menu: Publish [PyPI](https://pypi.org/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the PyPI package registry, you need to use the tools [pip](https://pypi.org/project/pip/) to consume and [twine](https://pypi.org/project/twine/) to publish packages. @@ -43,7 +39,7 @@ password = {password} | ------------ | ----------- | | `owner` | The owner of the package. | | `username` | Your Gitea username. | -| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. | +| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. | ## Publish a package diff --git a/docs/content/doc/usage/packages/pypi.zh-cn.md b/docs/content/usage/packages/pypi.zh-cn.md similarity index 94% rename from docs/content/doc/usage/packages/pypi.zh-cn.md rename to docs/content/usage/packages/pypi.zh-cn.md index 555fc4db4..80f95141b 100644 --- a/docs/content/doc/usage/packages/pypi.zh-cn.md +++ b/docs/content/usage/packages/pypi.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "PyPI 软件包注册表" slug: "pypi" -weight: 100 +sidebar_position: 100 draft: false toc: false menu: sidebar: parent: "packages" name: "PyPI" - weight: 100 + sidebar_position: 100 identifier: "pypi" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [PyPI](https://pypi.org/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 PyPI 软件包注册表,您需要使用 [pip](https://pypi.org/project/pip/) 工具来消费和使用 [twine](https://pypi.org/project/twine/) 工具来发布软件包。 @@ -43,7 +39,7 @@ password = {password} | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `owner` | 软件包的所有者 | | `username` | 您的 Gitea 用户名 | -| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码 | +| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码 | ## 发布软件包 diff --git a/docs/content/doc/usage/packages/rpm.en-us.md b/docs/content/usage/packages/rpm.en-us.md similarity index 90% rename from docs/content/doc/usage/packages/rpm.en-us.md rename to docs/content/usage/packages/rpm.en-us.md index 7a258f5c0..5a4a31ee3 100644 --- a/docs/content/doc/usage/packages/rpm.en-us.md +++ b/docs/content/usage/packages/rpm.en-us.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "RPM" - weight: 105 + sidebar_position: 105 identifier: "rpm" --- @@ -16,10 +16,6 @@ menu: Publish [RPM](https://rpm.org/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the RPM registry, you need to use a package manager like `yum`, `dnf` or `zypper` to consume packages. @@ -38,7 +34,7 @@ dnf config-manager --add-repo https://gitea.example.com/api/packages/{owner}/rpm | ----------- | ----------- | | `owner` | The owner of the package. | -If the registry is private, provide credentials in the url. You can use a password or a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}): +If the registry is private, provide credentials in the url. You can use a password or a [personal access token](development/api-usage.md#authentication): ```shell dnf config-manager --add-repo https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/rpm.repo @@ -66,7 +62,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/rpm/upload ``` -If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. +If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. You cannot publish a file with the same name twice to a package. You must delete the existing package version first. The server responds with the following HTTP Status codes. diff --git a/docs/content/doc/usage/packages/rpm.zh-cn.md b/docs/content/usage/packages/rpm.zh-cn.md similarity index 88% rename from docs/content/doc/usage/packages/rpm.zh-cn.md rename to docs/content/usage/packages/rpm.zh-cn.md index f76273e5a..3cc7dca8f 100644 --- a/docs/content/doc/usage/packages/rpm.zh-cn.md +++ b/docs/content/usage/packages/rpm.zh-cn.md @@ -8,7 +8,7 @@ menu: sidebar: parent: "packages" name: "RPM" - weight: 105 + sidebar_position: 105 identifier: "rpm" --- @@ -16,10 +16,6 @@ menu: 为您的用户或组织发布 [RPM](https://rpm.org/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用RPM注册表,您需要使用像 `yum`, `dnf` 或 `zypper` 这样的软件包管理器来消费软件包。 @@ -38,7 +34,7 @@ dnf config-manager --add-repo https://gitea.example.com/api/packages/{owner}/rpm | ------- | -------------- | | `owner` | 软件包的所有者 | -如果注册表是私有的,请在URL中提供凭据。您可以使用密码或[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}): +如果注册表是私有的,请在URL中提供凭据。您可以使用密码或[个人访问令牌](development/api-usage.md#通过-api-认证): ```shell dnf config-manager --add-repo https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/rpm.repo @@ -66,7 +62,7 @@ curl --user your_username:your_password_or_token \ https://gitea.example.com/api/packages/testuser/rpm/upload ``` -如果您使用 2FA 或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})替代密码。您无法将具有相同名称的文件两次发布到软件包中。您必须先删除现有的软件包版本。 +如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。您无法将具有相同名称的文件两次发布到软件包中。您必须先删除现有的软件包版本。 服务器将以以下HTTP状态码响应。 diff --git a/docs/content/doc/usage/packages/rubygems.en-us.md b/docs/content/usage/packages/rubygems.en-us.md similarity index 93% rename from docs/content/doc/usage/packages/rubygems.en-us.md rename to docs/content/usage/packages/rubygems.en-us.md index 5cfebfc84..cb1a225bc 100644 --- a/docs/content/doc/usage/packages/rubygems.en-us.md +++ b/docs/content/usage/packages/rubygems.en-us.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "RubyGems Package Registry" slug: "rubygems" -weight: 110 +sidebar_position: 110 draft: false toc: false menu: sidebar: parent: "packages" name: "RubyGems" - weight: 110 + sidebar_position: 110 identifier: "rubygems" --- @@ -17,10 +17,6 @@ menu: Publish [RubyGems](https://guides.rubygems.org/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the RubyGems package registry, you need to use the [gem](https://guides.rubygems.org/command-reference/) command line tool to consume and publish packages. @@ -37,7 +33,7 @@ https://gitea.example.com/api/packages/{owner}/rubygems: Bearer {token} | Parameter | Description | | ------------- | ----------- | | `owner` | The owner of the package. | -| `token` | Your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}). | +| `token` | Your [personal access token](development/api-usage.md#authentication). | For example: diff --git a/docs/content/doc/usage/packages/rubygems.zh-cn.md b/docs/content/usage/packages/rubygems.zh-cn.md similarity index 94% rename from docs/content/doc/usage/packages/rubygems.zh-cn.md rename to docs/content/usage/packages/rubygems.zh-cn.md index f3416c239..71db4aaae 100644 --- a/docs/content/doc/usage/packages/rubygems.zh-cn.md +++ b/docs/content/usage/packages/rubygems.zh-cn.md @@ -2,14 +2,14 @@ date: "2021-07-20T00:00:00+00:00" title: "RubyGems 软件包注册表" slug: "rubygems" -weight: 110 +sidebar_position: 110 draft: false toc: false menu: sidebar: parent: "packages" name: "RubyGems" - weight: 110 + sidebar_position: 110 identifier: "rubygems" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [RubyGems](https://guides.rubygems.org/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用RubyGems软件包注册表,您需要使用 [gem](https://guides.rubygems.org/command-reference/) 命令行工具来消费和发布软件包。 @@ -37,7 +33,7 @@ https://gitea.example.com/api/packages/{owner}/rubygems: Bearer {token} | 参数 | 描述 | | ------- | ------------------------------------------------------------------------------------- | | `owner` | 软件包的所有者 | -| `token` | 您的[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}}) | +| `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) | 例如: diff --git a/docs/content/doc/usage/packages/storage.en-us.md b/docs/content/usage/packages/storage.en-us.md similarity index 89% rename from docs/content/doc/usage/packages/storage.en-us.md rename to docs/content/usage/packages/storage.en-us.md index bf500f3bc..f437412dc 100644 --- a/docs/content/doc/usage/packages/storage.en-us.md +++ b/docs/content/usage/packages/storage.en-us.md @@ -2,14 +2,14 @@ date: "2022-11-01T00:00:00+00:00" title: "Storage" slug: "storage" -weight: 5 +sidebar_position: 5 draft: false toc: false menu: sidebar: parent: "packages" name: "Storage" - weight: 2 + sidebar_position: 2 identifier: "storage" --- @@ -17,10 +17,6 @@ menu: This document describes the storage of the package registry and how it can be managed. -**Table of Contents** - -{{< toc >}} - ## Deduplication The package registry has a build-in deduplication of uploaded blobs. @@ -32,7 +28,7 @@ Whenever a package gets deleted, only the references to the underlying blobs are The blobs get not removed at this moment, so they still require space on the filesystem. When a new package gets uploaded the existing blobs may get referenced again. -These unreferenced blobs get deleted by a [clean up job]({{< relref "doc/administration/config-cheat-sheet.en-us.md#cron---cleanup-expired-packages-croncleanup_packages" >}}). +These unreferenced blobs get deleted by a [clean up job](administration/config-cheat-sheet.md#cron---cleanup-expired-packages-croncleanup_packages). The config setting `OLDER_THAN` configures how long unreferenced blobs are kept before they get deleted. ## Cleanup Rules @@ -72,7 +68,7 @@ The patterns are case-insensitive which matches the behaviour of the package reg ### How the cleanup rules work -The cleanup rules are part of the [clean up job]({{< relref "doc/administration/config-cheat-sheet.en-us.md#cron---cleanup-expired-packages-croncleanup_packages" >}}) and run periodically. +The cleanup rules are part of the [clean up job](administration/config-cheat-sheet.md#cron---cleanup-expired-packages-croncleanup_packages) and run periodically. The cleanup rule: diff --git a/docs/content/doc/usage/packages/storage.zh-cn.md b/docs/content/usage/packages/storage.zh-cn.md similarity index 99% rename from docs/content/doc/usage/packages/storage.zh-cn.md rename to docs/content/usage/packages/storage.zh-cn.md index 7845f40cf..3832e80c9 100644 --- a/docs/content/doc/usage/packages/storage.zh-cn.md +++ b/docs/content/usage/packages/storage.zh-cn.md @@ -2,14 +2,14 @@ date: "2022-11-01T00:00:00+00:00" title: "存储" slug: "storage" -weight: 5 +sidebar_position: 5 draft: false toc: false menu: sidebar: parent: "packages" name: "Storage" - weight: 2 + sidebar_position: 2 identifier: "storage" --- @@ -17,10 +17,6 @@ menu: 本文档描述了软件包注册表的存储方式以及如何管理存储。 -**目录** - -{{< toc >}} - ## 去重 软件包注册表具有内置的去重功能,可以对上传的 Blob 进行去重处理。 diff --git a/docs/content/doc/usage/packages/swift.en-us.md b/docs/content/usage/packages/swift.en-us.md similarity index 89% rename from docs/content/doc/usage/packages/swift.en-us.md rename to docs/content/usage/packages/swift.en-us.md index 6d4d0f24b..1bc271dda 100644 --- a/docs/content/doc/usage/packages/swift.en-us.md +++ b/docs/content/usage/packages/swift.en-us.md @@ -2,14 +2,14 @@ date: "2023-01-10T00:00:00+00:00" title: "Swift Package Registry" slug: "swift" -weight: 95 +sidebar_position: 95 draft: false toc: false menu: sidebar: parent: "packages" name: "Swift" - weight: 95 + sidebar_position: 95 identifier: "swift" --- @@ -17,10 +17,6 @@ menu: Publish [Swift](https://www.swift.org/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Swift package registry, you need to use [swift](https://www.swift.org/getting-started/) to consume and a HTTP client (like `curl`) to publish packages. @@ -37,7 +33,7 @@ swift package-registry set https://gitea.example.com/api/packages/{owner}/swift | ------------ | ----------- | | `owner` | The owner of the package. | | `username` | Your Gitea username. | -| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. | +| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. | The login is optional and only needed if the package registry is private. @@ -62,7 +58,7 @@ curl -X PUT --user {username}:{password} \ | Placeholder | Description | | ----------- | ----------- | | `username` | Your Gitea username. | -| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) instead of the password. | +| `password` | Your Gitea password. If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. | | `owner` | The owner of the package. | | `scope` | The package scope. | | `name` | The package name. | diff --git a/docs/content/doc/usage/packages/swift.zh-cn.md b/docs/content/usage/packages/swift.zh-cn.md similarity index 92% rename from docs/content/doc/usage/packages/swift.zh-cn.md rename to docs/content/usage/packages/swift.zh-cn.md index 9c627416a..595a705e7 100644 --- a/docs/content/doc/usage/packages/swift.zh-cn.md +++ b/docs/content/usage/packages/swift.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-01-10T00:00:00+00:00" title: "Swift 软件包注册表" slug: "swift" -weight: 95 +sidebar_position: 95 draft: false toc: false menu: sidebar: parent: "packages" name: "Swift" - weight: 95 + sidebar_position: 95 identifier: "swift" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Swift](https://www.swift.org/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Swift 软件包注册表,您需要使用 [swift](https://www.swift.org/getting-started/) 消费软件包,并使用 HTTP 客户端(如 `curl`)发布软件包。 @@ -37,7 +33,7 @@ swift package-registry set https://gitea.example.com/api/packages/{owner}/swift | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | `owner` | 软件包的所有者。 | | `username` | 您的 Gitea 用户名。 | -| `password` | 您的 Gitea 密码。如果您使用两步验证或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})代替密码。 | +| `password` | 您的 Gitea 密码。如果您使用两步验证或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)代替密码。 | 登录是可选的,只有在软件包注册表是私有的情况下才需要。 @@ -62,7 +58,7 @@ curl -X PUT --user {username}:{password} \ | 占位符 | 描述 | | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | `username` | 您的 Gitea 用户名。 | -| `password` | 您的 Gitea 密码。如果您使用两步验证或 OAuth,请使用[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})代替密码。 | +| `password` | 您的 Gitea 密码。如果您使用两步验证或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)代替密码。 | | `owner` | 软件包的所有者。 | | `scope` | 软件包的作用域。 | | `name` | 软件包的名称。 | diff --git a/docs/content/doc/usage/packages/vagrant.en-us.md b/docs/content/usage/packages/vagrant.en-us.md similarity index 91% rename from docs/content/doc/usage/packages/vagrant.en-us.md rename to docs/content/usage/packages/vagrant.en-us.md index 583bbc199..93cf5e3e7 100644 --- a/docs/content/doc/usage/packages/vagrant.en-us.md +++ b/docs/content/usage/packages/vagrant.en-us.md @@ -2,14 +2,14 @@ date: "2022-08-23T00:00:00+00:00" title: "Vagrant Package Registry" slug: "vagrant" -weight: 120 +sidebar_position: 120 draft: false toc: false menu: sidebar: parent: "packages" name: "Vagrant" - weight: 120 + sidebar_position: 120 identifier: "vagrant" --- @@ -17,10 +17,6 @@ menu: Publish [Vagrant](https://www.vagrantup.com/) packages for your user or organization. -**Table of Contents** - -{{< toc >}} - ## Requirements To work with the Vagrant package registry, you need [Vagrant](https://www.vagrantup.com/downloads) and a tool to make HTTP requests like `curl`. @@ -70,7 +66,7 @@ vagrant box add "https://gitea.example.com/api/packages/testuser/vagrant/test_sy ``` This will install the latest version of the package. To add a specific version, use the `--box-version` parameter. -If the registry is private you can pass your [personal access token]({{< relref "doc/development/api-usage.en-us.md#authentication" >}}) in the `VAGRANT_CLOUD_TOKEN` environment variable. +If the registry is private you can pass your [personal access token](development/api-usage.md#authentication) in the `VAGRANT_CLOUD_TOKEN` environment variable. ## Supported commands diff --git a/docs/content/doc/usage/packages/vagrant.zh-cn.md b/docs/content/usage/packages/vagrant.zh-cn.md similarity index 92% rename from docs/content/doc/usage/packages/vagrant.zh-cn.md rename to docs/content/usage/packages/vagrant.zh-cn.md index ddcec9e4c..67d79ad3c 100644 --- a/docs/content/doc/usage/packages/vagrant.zh-cn.md +++ b/docs/content/usage/packages/vagrant.zh-cn.md @@ -2,14 +2,14 @@ date: "2022-08-23T00:00:00+00:00" title: "Vagrant 软件包注册表" slug: "vagrant" -weight: 120 +sidebar_position: 120 draft: false toc: false menu: sidebar: parent: "packages" name: "Vagrant" - weight: 120 + sidebar_position: 120 identifier: "vagrant" --- @@ -17,10 +17,6 @@ menu: 为您的用户或组织发布 [Vagrant](https://www.vagrantup.com/) 软件包。 -**目录** - -{{< toc >}} - ## 要求 要使用 Vagrant 软件包注册表,您需要安装 [Vagrant](https://www.vagrantup.com/downloads) 并使用类似于 `curl` 的工具进行 HTTP 请求。 @@ -70,7 +66,7 @@ vagrant box add "https://gitea.example.com/api/packages/testuser/vagrant/test_sy ``` 这将安装软件包的最新版本。要添加特定版本,请使用` --box-version` 参数。 -如果注册表是私有的,您可以将您的[个人访问令牌]({{< relref "doc/development/api-usage.zh-cn.md#通过-api-认证" >}})传递给 `VAGRANT_CLOUD_TOKEN` 环境变量。 +如果注册表是私有的,您可以将您的[个人访问令牌](development/api-usage.md#通过-api-认证)传递给 `VAGRANT_CLOUD_TOKEN` 环境变量。 ## 支持的命令 diff --git a/docs/content/doc/usage/permissions.en-us.md b/docs/content/usage/permissions.en-us.md similarity index 98% rename from docs/content/doc/usage/permissions.en-us.md rename to docs/content/usage/permissions.en-us.md index 655c67de8..1e0c6c0bb 100644 --- a/docs/content/doc/usage/permissions.en-us.md +++ b/docs/content/usage/permissions.en-us.md @@ -2,7 +2,7 @@ date: "2021-12-13:10:10+08:00" title: "Permissions" slug: "permissions" -weight: 14 +sidebar_position: 14 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "Permissions" - weight: 14 + sidebar_position: 14 identifier: "permissions" --- # Permissions -**Table of Contents** - -{{< toc >}} - Gitea supports permissions for repository so that you can give different access for different people. At first, we need to know about `Unit`. ## Unit diff --git a/docs/content/doc/usage/permissions.zh-cn.md b/docs/content/usage/permissions.zh-cn.md similarity index 98% rename from docs/content/doc/usage/permissions.zh-cn.md rename to docs/content/usage/permissions.zh-cn.md index 316363358..5e1688f7a 100644 --- a/docs/content/doc/usage/permissions.zh-cn.md +++ b/docs/content/usage/permissions.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "权限" slug: "permissions" -weight: 14 +sidebar_position: 14 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "权限" - weight: 14 + sidebar_position: 14 identifier: "permissions" --- # 权限 -**目录** - -{{< toc >}} - Gitea 支持对仓库进行权限管理,这样您就可以为不同的人员提供不同的访问权限。首先,我们需要了解 `单元(Unit)`。 ## 单元(Unit) diff --git a/docs/content/doc/usage/profile-readme.en-us.md b/docs/content/usage/profile-readme.en-us.md similarity index 94% rename from docs/content/doc/usage/profile-readme.en-us.md rename to docs/content/usage/profile-readme.en-us.md index a290eadbb..fbe175eed 100644 --- a/docs/content/doc/usage/profile-readme.en-us.md +++ b/docs/content/usage/profile-readme.en-us.md @@ -2,14 +2,14 @@ date: "2023-03-02T21:00:00+05:00" title: "Profile READMEs" slug: "profile-readme" -weight: 12 +sidebar_position: 12 toc: false draft: false menu: sidebar: parent: "usage" name: "Profile READMEs" - weight: 12 + sidebar_position: 12 identifier: "profile-readme" --- diff --git a/docs/content/doc/usage/profile-readme.zh-cn.md b/docs/content/usage/profile-readme.zh-cn.md similarity index 94% rename from docs/content/doc/usage/profile-readme.zh-cn.md rename to docs/content/usage/profile-readme.zh-cn.md index a253fcaf2..804f69d2e 100644 --- a/docs/content/doc/usage/profile-readme.zh-cn.md +++ b/docs/content/usage/profile-readme.zh-cn.md @@ -2,14 +2,14 @@ date: "2023-05-23T09:00:00+08:00" title: "个人资料 README" slug: "profile-readme" -weight: 12 +sidebar_position: 12 toc: false draft: false menu: sidebar: parent: "usage" name: "个人资料 README" - weight: 12 + sidebar_position: 12 identifier: "profile-readme" --- diff --git a/docs/content/doc/usage/protected-tags.en-us.md b/docs/content/usage/protected-tags.en-us.md similarity index 97% rename from docs/content/doc/usage/protected-tags.en-us.md rename to docs/content/usage/protected-tags.en-us.md index c5e763659..b25cbdbb2 100644 --- a/docs/content/doc/usage/protected-tags.en-us.md +++ b/docs/content/usage/protected-tags.en-us.md @@ -2,7 +2,7 @@ date: "2021-05-14T00:00:00-00:00" title: "Protected tags" slug: "protected-tags" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Protected tags" - weight: 45 + sidebar_position: 45 identifier: "protected-tags" --- @@ -19,10 +19,6 @@ menu: Protected tags allow control over who has permission to create or update Git tags. Each rule allows you to match either an individual tag name, or use an appropriate pattern to control multiple tags at once. -**Table of Contents** - -{{< toc >}} - ## Setting up protected tags To protect a tag, you need to follow these steps: diff --git a/docs/content/doc/usage/protected-tags.zh-cn.md b/docs/content/usage/protected-tags.zh-cn.md similarity index 98% rename from docs/content/doc/usage/protected-tags.zh-cn.md rename to docs/content/usage/protected-tags.zh-cn.md index 7d43462d3..0529bf793 100644 --- a/docs/content/doc/usage/protected-tags.zh-cn.md +++ b/docs/content/usage/protected-tags.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "受保护的标签" slug: "protected-tags" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "受保护的标签" - weight: 45 + sidebar_position: 45 identifier: "protected-tags" --- @@ -19,10 +19,6 @@ menu: 受保护的标签允许控制谁有权限创建或更新 Git 标签。每个规则可以匹配单个标签名称,或者使用适当的模式来同时控制多个标签。 -**目录** - -{{< toc >}} - ## 设置受保护的标签 要保护一个标签,你需要按照以下步骤进行操作: diff --git a/docs/content/doc/usage/pull-request.en-us.md b/docs/content/usage/pull-request.en-us.md similarity index 98% rename from docs/content/doc/usage/pull-request.en-us.md rename to docs/content/usage/pull-request.en-us.md index f9f4b3855..8c94ee68c 100644 --- a/docs/content/doc/usage/pull-request.en-us.md +++ b/docs/content/usage/pull-request.en-us.md @@ -2,7 +2,7 @@ date: "2018-06-01T19:00:00+02:00" title: "Pull Request" slug: "pull-request" -weight: 13 +sidebar_position: 13 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Pull Request" - weight: 13 + sidebar_position: 13 identifier: "pull-request" --- diff --git a/docs/content/doc/usage/pull-request.zh-cn.md b/docs/content/usage/pull-request.zh-cn.md similarity index 94% rename from docs/content/doc/usage/pull-request.zh-cn.md rename to docs/content/usage/pull-request.zh-cn.md index baf57787c..db5646f37 100644 --- a/docs/content/doc/usage/pull-request.zh-cn.md +++ b/docs/content/usage/pull-request.zh-cn.md @@ -2,7 +2,7 @@ date: "2018-06-01T19:00:00+02:00" title: "合并请求" slug: "pull-request" -weight: 13 +sidebar_position: 13 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Pull Request" - weight: 13 + sidebar_position: 13 identifier: "pull-request" --- diff --git a/docs/content/doc/usage/pull-request.zh-tw.md b/docs/content/usage/pull-request.zh-tw.md similarity index 94% rename from docs/content/doc/usage/pull-request.zh-tw.md rename to docs/content/usage/pull-request.zh-tw.md index 9bbfa8786..14d1b4950 100644 --- a/docs/content/doc/usage/pull-request.zh-tw.md +++ b/docs/content/usage/pull-request.zh-tw.md @@ -2,7 +2,7 @@ date: "2018-06-01T19:00:00+02:00" title: "合併請求" slug: "pull-request" -weight: 13 +sidebar_position: 13 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "合併請求" - weight: 13 + sidebar_position: 13 identifier: "pull-request" --- diff --git a/docs/content/doc/usage/push.en-us.md b/docs/content/usage/push.en-us.md similarity index 92% rename from docs/content/doc/usage/push.en-us.md rename to docs/content/usage/push.en-us.md index 45190d88c..d88dc1a2a 100644 --- a/docs/content/doc/usage/push.en-us.md +++ b/docs/content/usage/push.en-us.md @@ -2,7 +2,7 @@ date: "2020-07-06T16:00:00+02:00" title: "Push" slug: "push" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -12,14 +12,10 @@ menu: sidebar: parent: "usage" name: "Push" - weight: 15 + sidebar_position: 15 identifier: "push" --- -**Table of Contents** - -{{< toc >}} - There are some additional features when pushing commits to Gitea server. # Open PR through Push @@ -55,7 +51,7 @@ Push to create is a feature that allows you to push to a repository that does no ## Enabling Push To Create -In the `app.ini` file, set `ENABLE_PUSH_CREATE_USER` to `true` and `ENABLE_PUSH_CREATE_ORG` to `true` if you want to allow users to create repositories in their own user account and in organizations they are a member of respectively. Restart Gitea for the changes to take effect. You can read more about these two options in the [Configuration Cheat Sheet]({{< relref "doc/administration/config-cheat-sheet.en-us.md#repository-repository" >}}). +In the `app.ini` file, set `ENABLE_PUSH_CREATE_USER` to `true` and `ENABLE_PUSH_CREATE_ORG` to `true` if you want to allow users to create repositories in their own user account and in organizations they are a member of respectively. Restart Gitea for the changes to take effect. You can read more about these two options in the [Configuration Cheat Sheet](administration/config-cheat-sheet.md#repository-repository). ## Using Push To Create diff --git a/docs/content/doc/usage/push.zh-cn.md b/docs/content/usage/push.zh-cn.md similarity index 90% rename from docs/content/doc/usage/push.zh-cn.md rename to docs/content/usage/push.zh-cn.md index a12e1b534..f9fd687cc 100644 --- a/docs/content/doc/usage/push.zh-cn.md +++ b/docs/content/usage/push.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "推送" slug: "push" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -12,14 +12,10 @@ menu: sidebar: parent: "usage" name: "推送" - weight: 15 + sidebar_position: 15 identifier: "push" --- -**目录** - -{{< toc >}} - 在将提交推送到 Gitea 服务器时,还有一些额外的功能。 # 通过推送打开 PR @@ -53,7 +49,7 @@ git push -o repo.private=false -u origin main ## 启用推送创建 -在 `app.ini` 文件中,将 `ENABLE_PUSH_CREATE_USER` 设置为 `true`,如果您希望允许用户在自己的用户帐户和所属的组织中创建仓库,将 `ENABLE_PUSH_CREATE_ORG` 设置为 `true`。重新启动 Gitea 以使更改生效。您可以在 [配置速查表]({{< relref "doc/administration/config-cheat-sheet.zh-cn.md#repository-repository" >}}) 中了解有关这两个选项的更多信息。 +在 `app.ini` 文件中,将 `ENABLE_PUSH_CREATE_USER` 设置为 `true`,如果您希望允许用户在自己的用户帐户和所属的组织中创建仓库,将 `ENABLE_PUSH_CREATE_ORG` 设置为 `true`。重新启动 Gitea 以使更改生效。您可以在 [配置速查表](administration/config-cheat-sheet.md#repository-repository) 中了解有关这两个选项的更多信息。 ## 使用推送创建 diff --git a/docs/content/doc/usage/push.zh-tw.md b/docs/content/usage/push.zh-tw.md similarity index 91% rename from docs/content/doc/usage/push.zh-tw.md rename to docs/content/usage/push.zh-tw.md index 5fe5052c1..ccecbf628 100644 --- a/docs/content/doc/usage/push.zh-tw.md +++ b/docs/content/usage/push.zh-tw.md @@ -2,7 +2,7 @@ date: "2020-07-06T16:00:00+02:00" title: "使用: Push" slug: "push" -weight: 15 +sidebar_position: 15 toc: false draft: false aliases: @@ -11,14 +11,10 @@ menu: sidebar: parent: "usage" name: "Push" - weight: 15 + sidebar_position: 15 identifier: "push" --- -**Table of Contents** - -{{< toc >}} - There are some additional features when pushing commits to Gitea server. # Push Merge Hint @@ -54,7 +50,7 @@ Push to create is a feature that allows you to push to a repository that does no ## Enabling Push To Create -In the `app.ini` file, set `ENABLE_PUSH_CREATE_USER` to `true` and `ENABLE_PUSH_CREATE_ORG` to `true` if you want to allow users to create repositories in their own user account and in organizations they are a member of respectively. Restart Gitea for the changes to take effect. You can read more about these two options in the [Configuration Cheat Sheet]({{< relref "doc/administration/config-cheat-sheet.zh-tw.md#repository-repository" >}}). +In the `app.ini` file, set `ENABLE_PUSH_CREATE_USER` to `true` and `ENABLE_PUSH_CREATE_ORG` to `true` if you want to allow users to create repositories in their own user account and in organizations they are a member of respectively. Restart Gitea for the changes to take effect. You can read more about these two options in the [Configuration Cheat Sheet](administration/config-cheat-sheet.md#repository-repository). ## Using Push To Create diff --git a/docs/content/doc/usage/repo-mirror.en-us.md b/docs/content/usage/repo-mirror.en-us.md similarity index 98% rename from docs/content/doc/usage/repo-mirror.en-us.md rename to docs/content/usage/repo-mirror.en-us.md index 157b6c124..4a6571031 100644 --- a/docs/content/doc/usage/repo-mirror.en-us.md +++ b/docs/content/usage/repo-mirror.en-us.md @@ -2,7 +2,7 @@ date: "2021-05-13T00:00:00-00:00" title: "Repository Mirror" slug: "repo-mirror" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Repository Mirror" - weight: 45 + sidebar_position: 45 identifier: "repo-mirror" --- @@ -19,10 +19,6 @@ menu: Repository mirroring allows for the mirroring of repositories to and from external sources. You can use it to mirror branches, tags, and commits between repositories. -**Table of Contents** - -{{< toc >}} - ## Use cases The following are some possible use cases for repository mirroring: diff --git a/docs/content/doc/usage/repo-mirror.zh-cn.md b/docs/content/usage/repo-mirror.zh-cn.md similarity index 98% rename from docs/content/doc/usage/repo-mirror.zh-cn.md rename to docs/content/usage/repo-mirror.zh-cn.md index d327338ba..3723b81ee 100644 --- a/docs/content/doc/usage/repo-mirror.zh-cn.md +++ b/docs/content/usage/repo-mirror.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "仓库镜像" slug: "repo-mirror" -weight: 45 +sidebar_position: 45 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "仓库镜像" - weight: 45 + sidebar_position: 45 identifier: "repo-mirror" --- @@ -19,10 +19,6 @@ menu: 仓库镜像允许将仓库与外部源之间进行镜像。您可以使用它在仓库之间镜像分支、标签和提交。 -**目录** - -{{< toc >}} - ## 使用场景 以下是一些仓库镜像的可能使用场景: diff --git a/docs/content/doc/usage/secrets.en-us.md b/docs/content/usage/secrets.en-us.md similarity index 96% rename from docs/content/doc/usage/secrets.en-us.md rename to docs/content/usage/secrets.en-us.md index c82628f50..8ad674661 100644 --- a/docs/content/doc/usage/secrets.en-us.md +++ b/docs/content/usage/secrets.en-us.md @@ -2,7 +2,7 @@ date: "2022-12-19T21:26:00+08:00" title: "Secrets" slug: "secrets" -weight: 50 +sidebar_position: 50 draft: false toc: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Secrets" - weight: 50 + sidebar_position: 50 identifier: "usage-secrets" --- diff --git a/docs/content/doc/usage/secrets.zh-cn.md b/docs/content/usage/secrets.zh-cn.md similarity index 96% rename from docs/content/doc/usage/secrets.zh-cn.md rename to docs/content/usage/secrets.zh-cn.md index 534fc52ee..40e80dc78 100644 --- a/docs/content/doc/usage/secrets.zh-cn.md +++ b/docs/content/usage/secrets.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "密钥管理" slug: "secrets" -weight: 50 +sidebar_position: 50 draft: false toc: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "密钥管理" - weight: 50 + sidebar_position: 50 identifier: "usage-secrets" --- diff --git a/docs/content/doc/usage/template-repositories.en-us.md b/docs/content/usage/template-repositories.en-us.md similarity index 98% rename from docs/content/doc/usage/template-repositories.en-us.md rename to docs/content/usage/template-repositories.en-us.md index 5687861b8..4618d10f3 100644 --- a/docs/content/doc/usage/template-repositories.en-us.md +++ b/docs/content/usage/template-repositories.en-us.md @@ -2,7 +2,7 @@ date: "2019-11-28:00:00+02:00" title: "Template Repositories" slug: "template-repositories" -weight: 14 +sidebar_position: 14 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "Template Repositories" - weight: 14 + sidebar_position: 14 identifier: "template-repositories" --- # 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. diff --git a/docs/content/doc/usage/template-repositories.zh-cn.md b/docs/content/usage/template-repositories.zh-cn.md similarity index 98% rename from docs/content/doc/usage/template-repositories.zh-cn.md rename to docs/content/usage/template-repositories.zh-cn.md index f8dfe1064..68881e023 100644 --- a/docs/content/doc/usage/template-repositories.zh-cn.md +++ b/docs/content/usage/template-repositories.zh-cn.md @@ -2,7 +2,7 @@ date: "2023-05-23T09:00:00+08:00" title: "模板仓库" slug: "template-repositories" -weight: 14 +sidebar_position: 14 toc: false draft: false aliases: @@ -11,16 +11,12 @@ menu: sidebar: parent: "usage" name: "模板仓库" - weight: 14 + sidebar_position: 14 identifier: "template-repositories" --- # 模板仓库 -**目录** - -{{< toc >}} - Gitea `1.11.0` 及以上版本引入了模板仓库,并且其中一个实现的功能是自动展开模板文件中的特定变量。 要告诉 Gitea 哪些文件需要展开,您必须在模板仓库的 `.gitea` 目录中包含一个 `template` 文件。 diff --git a/docs/content/doc/usage/webhooks.en-us.md b/docs/content/usage/webhooks.en-us.md similarity index 99% rename from docs/content/doc/usage/webhooks.en-us.md rename to docs/content/usage/webhooks.en-us.md index 24cd48c91..684911f83 100644 --- a/docs/content/doc/usage/webhooks.en-us.md +++ b/docs/content/usage/webhooks.en-us.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Webhooks" slug: "webhooks" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Webhooks" - weight: 30 + sidebar_position: 30 identifier: "webhooks" --- diff --git a/docs/content/doc/usage/webhooks.zh-cn.md b/docs/content/usage/webhooks.zh-cn.md similarity index 99% rename from docs/content/doc/usage/webhooks.zh-cn.md rename to docs/content/usage/webhooks.zh-cn.md index 412dad251..dfc709940 100644 --- a/docs/content/doc/usage/webhooks.zh-cn.md +++ b/docs/content/usage/webhooks.zh-cn.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Webhooks" slug: "webhooks" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Webhooks" - weight: 30 + sidebar_position: 30 identifier: "webhooks" --- diff --git a/docs/content/doc/usage/webhooks.zh-tw.md b/docs/content/usage/webhooks.zh-tw.md similarity index 99% rename from docs/content/doc/usage/webhooks.zh-tw.md rename to docs/content/usage/webhooks.zh-tw.md index ca5991354..666dcee83 100644 --- a/docs/content/doc/usage/webhooks.zh-tw.md +++ b/docs/content/usage/webhooks.zh-tw.md @@ -2,7 +2,7 @@ date: "2016-12-01T16:00:00+02:00" title: "Webhook" slug: "webhooks" -weight: 30 +sidebar_position: 30 toc: false draft: false aliases: @@ -11,7 +11,7 @@ menu: sidebar: parent: "usage" name: "Webhook" - weight: 30 + sidebar_position: 30 identifier: "webhooks" --- diff --git a/docs/layouts/_default/index.json b/docs/layouts/_default/index.json deleted file mode 100644 index ae08324d8..000000000 --- a/docs/layouts/_default/index.json +++ /dev/null @@ -1,5 +0,0 @@ -{{- $.Scratch.Add "index" slice -}} -{{- range .Site.RegularPages -}} -{{- $.Scratch.Add "index" (dict "title" .Title "tags" .Params.tags "categories" .Params.categories "contents" .Plain "permalink" .Permalink) -}} -{{- end -}} -{{- $.Scratch.Get "index" | jsonify -}} diff --git a/docs/layouts/alias.html b/docs/layouts/alias.html deleted file mode 100644 index 69d895b1f..000000000 --- a/docs/layouts/alias.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - {{ .Permalink }} - - - - - - diff --git a/docs/layouts/doc/search.html b/docs/layouts/doc/search.html deleted file mode 100644 index 90fe96fe5..000000000 --- a/docs/layouts/doc/search.html +++ /dev/null @@ -1,38 +0,0 @@ -{{ partial "header.html" . }} -{{ partial "navbar.html" . }} - -
-
-
-
- {{ partial "menu" . }} -
-
-
-
-
-
-
-
- - -
-
-
-
-
- - - - -{{ $script := resources.Get "js/search.js" | minify | fingerprint -}} - -{{ partial "footer.html" . }} diff --git a/docs/layouts/index.html b/docs/layouts/index.html deleted file mode 100644 index 3e871ab02..000000000 --- a/docs/layouts/index.html +++ /dev/null @@ -1,23 +0,0 @@ -{{ partial "header.html" . }} -{{ partial "navbar.html" . }} - -
-
-
- {{ partial "menu" . }} -
-
- {{ range where .Site.Pages "Type" "page" }} - {{ .Content }} - {{ end }} - - {{ if .Site.DisqusShortname }} -
- {{ partial "disqus.html" . }} -
- {{ end }} -
-
-
- -{{ partial "footer.html" . }} diff --git a/docs/layouts/shortcodes/go-version.html b/docs/layouts/shortcodes/go-version.html deleted file mode 100644 index 7f846683d..000000000 --- a/docs/layouts/shortcodes/go-version.html +++ /dev/null @@ -1 +0,0 @@ -{{ .Site.Params.goVersion }} diff --git a/docs/layouts/shortcodes/min-go-version.html b/docs/layouts/shortcodes/min-go-version.html deleted file mode 100644 index 50b880d1d..000000000 --- a/docs/layouts/shortcodes/min-go-version.html +++ /dev/null @@ -1 +0,0 @@ -{{ .Site.Params.minGoVersion }} diff --git a/docs/layouts/shortcodes/min-node-version.html b/docs/layouts/shortcodes/min-node-version.html deleted file mode 100644 index 7885f4ea1..000000000 --- a/docs/layouts/shortcodes/min-node-version.html +++ /dev/null @@ -1 +0,0 @@ -{{ .Site.Params.minNodeVersion }} diff --git a/docs/layouts/shortcodes/version.html b/docs/layouts/shortcodes/version.html deleted file mode 100644 index 2fd81d651..000000000 --- a/docs/layouts/shortcodes/version.html +++ /dev/null @@ -1 +0,0 @@ -{{ .Site.Params.version }} \ No newline at end of file diff --git a/docs/static/_headers b/docs/static/_headers deleted file mode 100644 index 7bf593b76..000000000 --- a/docs/static/_headers +++ /dev/null @@ -1,6 +0,0 @@ -/* - Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com; font-src 'self' data: https://cdnjs.cloudflare.com https://fonts.gstatic.com - X-Frame-Options: DENY - X-Xss-Protection: 1; mode=block - X-Content-Type-Options: nosniff - Referrer-Policy: strict-origin-when-cross-origin diff --git a/docs/static/_redirects b/docs/static/_redirects deleted file mode 100644 index 39bd09f9b..000000000 --- a/docs/static/_redirects +++ /dev/null @@ -1,19 +0,0 @@ -https://gitea-docs.netlify.com/* https://docs.gitea.io/:splat 302! - -/ /fr-fr/ 302! Language=fr -/ /nl-nl/ 302! Language=nl -/ /pt-br/ 302! Language=pt-br -/ /zh-cn/ 302! Language=zh-cn -/ /zh-tw/ 302! Language=zh-tw -/ /en-us/ 302! - -/en-us/ci-cd/ /en-us/integrations/ 302! -/en-us/third-party-tools/ /en-us/integrations/ 302! -/zh-cn/third-party-tools/ /zh-cn/integrations/ 302! -/en-us/make/ /en-us/hacking-on-gitea/ 302! -/zh-cn/make/ /zh-cn/hacking-on-gitea/ 302! -/fr-fr/make/ /fr-fr/hacking-on-gitea/ 302! -/en-us/upgrade/ /en-us/upgrade-from-gitea/ 302! -/fr-fr/upgrade/ /fr-fr/upgrade-from-gitea/ 302! -/zh-cn/upgrade/ /zh-cn/upgrade-from-gitea/ 302! -/zh-tw/upgrade/ /zh-tw/upgrade-from-gitea/ 302! diff --git a/docs/static/authorize.png b/docs/static/authorize.png deleted file mode 100644 index 7556b1220cd21c0c7b08cbb2ff99b7af91043397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18951 zcmce;WmH_vvpzb*z@QTdfdB&mCcz2rZov~QNN@=5?gS<{1P|^G2@u>hIKkaLxVyuh zN5&!^fMf?b$fe}wq zXv-@B0CIrz8xdvKl>Mf|FT|UfmkZvMOmTfSdv0sYwu5bvguIo4{J)xP@SczUT$ZR^ zA>Z6EGpfb(iF;$lqS}kDYG;SI-9 zMoH7C`@UB?0o$uEiBnmP-ok}zuVvZQ)De!UlDcMx`-Hk?R8ce-g^#CA!z*Dln4cvo zyD;KGlpk0M@i=-IfDZF}g9{~x`9(^xmI5E{554ngLb3|1#xU7hMP8oYT|0zi(S*#F z>-fRkq2!Qo#4kz8VQpx)Sj;_VX#yUT`2z#*{tSWE&GS?DU6C{uxx*c*KWhf$$5h{V&>k{&PqQrK8*6FVdoGOL7`ql@;{B9>X-Ds#BKS@E3NlRT_U{WEk(A_B; zJ^d9@RaMntOHNwEc=Nf+@^YW+Ya6@!8wkJG9U(C>aT?W@1>9?6%Dl?%_JZX3^8+gn zpFd-N{rEEu@kpciLV;@904{gxaboyls$@wxdt~~;@6SqNwCU;T3shU$zEbc0pd$PQ zNNs9yo?~vQs^ZXUaQ-y+Oj;2!%DUcppLcR{^5}Oj@9h4Ca8v7{+xf#E0VT4fK{*K3 zQmIb;(3Z>|=~(NIKs`XYAku4C=(@S#B^7Y@i;cyHl8YaY8gY{!7R1^y zgR34MZja@E(6!OGvVw$3fG!W2M*ia+yT=DyXc!nFZE5r34xyd`(~-yEwb1R6Nt0JP zSPHS6cSS$68^Yc1y@r@gr`=i)&j%l8AV;vBbMb$P$%J$!wW^g>#G&hG& zOsMd?mil;HHfIC>=>+Yf%Uh7Ya8$2|Hx7K8lXV*BT!S6fsjrQ%n{F=SP z(|nUWW)6<9{&n$`G>%ga;oC6+7qi5`-h6@t>yRYCfG&Snb_HswH{z=vmusziEGc#T z8_sk&ZG;(94RF3u08@UxRoLDK8r!_c25HFRWPe? zNh6s{q77wwb=>oiq_=M4y0`85+8!o$#$F9;{GuRsK_7u_uzz^!CJ3||YcrA{K=U{)x^PIf6bnA~O z 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 Lc_z1&&bj#yT_LBE diff --git a/docs/static/cloudron.svg b/docs/static/cloudron.svg deleted file mode 100644 index 716f67a16..000000000 --- a/docs/static/cloudron.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/static/gitea-push-hint.png b/docs/static/gitea-push-hint.png deleted file mode 100644 index 6f3ab3c60682295c35f5bcef1311e40b533a2cca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 421775 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[ti}Ky>vS*)m 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≫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

M@!Y&rMX21C3*;oUPcm`(OOHgd46 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 VTy&(-oN?^PEU(#^<4ipg{{tY7lfeK0 diff --git a/docs/static/open-in-gitpod.svg b/docs/static/open-in-gitpod.svg deleted file mode 100644 index b97cd2948..000000000 --- a/docs/static/open-in-gitpod.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file

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