Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2c9f94dad5 | ||
|
|
f6e9e3b17d | ||
|
|
e414c24004 | ||
|
|
ab0539cd31 | ||
|
|
bfdd2713d3 | ||
|
|
ddb06706f3 | ||
|
|
856c9d7f2b | ||
|
|
735d131321 | ||
|
|
b2b6686f46 | ||
|
|
710ec5d69a |
@@ -182,7 +182,7 @@ jobs:
|
||||
RESPONSE=$(curl -sf -X POST \
|
||||
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"tag_name":"'"$TAG"'","name":"Gitea '"$TAG"'","body":"Official release of GitCaddy Server '"$TAG"'.","draft":false,"prerelease":false}' \
|
||||
-d '{"tag_name":"'"$TAG"'","name":"GitCaddy Server '"$TAG"'","body":"Official release of GitCaddy Server '"$TAG"'.","draft":false,"prerelease":false}' \
|
||||
"https://direct.git.marketally.com/api/v1/repos/${{ github.repository }}/releases" 2>&1)
|
||||
|
||||
if echo "$RESPONSE" | grep -q '"id":[0-9]'; then
|
||||
@@ -199,7 +199,7 @@ jobs:
|
||||
name: Build Binaries
|
||||
runs-on: linux-latest
|
||||
needs: [lint, create-release]
|
||||
if: always() && needs.lint.result == 'success' && (needs.create-release.result == 'success' || needs.create-release.result == 'skipped')
|
||||
if: startsWith(github.ref, 'refs/tags/v') && needs.lint.result == 'success' && needs.create-release.result == 'success'
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
@@ -250,7 +250,7 @@ jobs:
|
||||
GOARCH: ${{ matrix.goarch }}
|
||||
TAGS: bindata sqlite sqlite_unlock_notify
|
||||
run: |
|
||||
VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||
VERSION=$(git describe --tags --always --dirty 2>/dev/null | sed "s/-gitcaddy//" || echo "dev")
|
||||
LDFLAGS="-X code.gitea.io/gitea/modules/setting.AppVer=${VERSION}"
|
||||
|
||||
EXT=""
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -85,7 +85,6 @@ cpu.out
|
||||
/public/assets/js
|
||||
/public/assets/css
|
||||
/public/assets/fonts
|
||||
/public/assets/licenses.txt
|
||||
/vendor
|
||||
/VERSION
|
||||
/.air
|
||||
|
||||
@@ -260,11 +260,11 @@ autoUpdater.checkForUpdates()
|
||||
|
||||
### From Binary
|
||||
|
||||
Download from [Releases](https://git.marketally.com/gitcaddy/gitea/releases):
|
||||
Download from [Releases](https://git.marketally.com/gitcaddy/gitcaddy-server/releases):
|
||||
|
||||
```bash
|
||||
# Linux (amd64)
|
||||
curl -L -o gitcaddy-server https://git.marketally.com/gitcaddy/gitea/releases/latest/download/gitcaddy-server-linux-amd64
|
||||
curl -L -o gitcaddy-server https://git.marketally.com/gitcaddy/gitcaddy-server/releases/latest/download/gitcaddy-server-linux-amd64
|
||||
chmod +x gitcaddy
|
||||
./gitcaddy web
|
||||
```
|
||||
@@ -272,8 +272,8 @@ chmod +x gitcaddy
|
||||
### From Source
|
||||
|
||||
```bash
|
||||
git clone https://git.marketally.com/gitcaddy/gitea.git
|
||||
cd gitea
|
||||
git clone https://git.marketally.com/gitcaddy/gitcaddy-server.git
|
||||
cd gitcaddy-server
|
||||
TAGS="bindata sqlite sqlite_unlock_notify" make build
|
||||
./gitcaddy-server web
|
||||
```
|
||||
@@ -413,4 +413,5 @@ MIT License - see [LICENSE](LICENSE) for details.
|
||||
GitCaddy is a fork of [Gitea](https://gitea.io), the open-source self-hosted Git service. We thank the Gitea team and all contributors for building the foundation that makes GitCaddy possible.
|
||||
|
||||
- [Gitea Project](https://gitea.io)
|
||||
- [Claude Code](https://claude.ai/code) - AI-assisted development by Anthropic
|
||||
- [Gitea Contributors](https://github.com/go-gitea/gitea/graphs/contributors)
|
||||
|
||||
@@ -54,14 +54,15 @@ type RepositoryStruct struct {
|
||||
}
|
||||
|
||||
type ThemeStruct struct {
|
||||
DisableRegistration *config.Value[bool]
|
||||
CustomSiteIconURL *config.Value[string]
|
||||
CustomHomeLogoURL *config.Value[string]
|
||||
CustomHomeHTML *config.Value[string]
|
||||
APIHeaderURL *config.Value[string]
|
||||
CustomHomeTitle *config.Value[string]
|
||||
CustomHomeTagline *config.Value[string]
|
||||
PinnedOrgDisplayFormat *config.Value[string]
|
||||
DisableRegistration *config.Value[bool]
|
||||
CustomSiteIconURL *config.Value[string]
|
||||
CustomHomeLogoURL *config.Value[string]
|
||||
CustomHomeHTML *config.Value[string]
|
||||
APIHeaderURL *config.Value[string]
|
||||
CustomHomeTitle *config.Value[string]
|
||||
CustomHomeTagline *config.Value[string]
|
||||
PinnedOrgDisplayFormat *config.Value[string]
|
||||
ExploreOrgDisplayFormat *config.Value[string]
|
||||
}
|
||||
|
||||
type ConfigStruct struct {
|
||||
@@ -87,14 +88,15 @@ func initDefaultConfig() {
|
||||
GitGuideRemoteName: config.ValueJSON[string]("repository.git-guide-remote-name").WithDefault("origin"),
|
||||
},
|
||||
Theme: &ThemeStruct{
|
||||
DisableRegistration: config.ValueJSON[bool]("theme.disable_registration").WithFileConfig(config.CfgSecKey{Sec: "service", Key: "DISABLE_REGISTRATION"}),
|
||||
CustomSiteIconURL: config.ValueJSON[string]("theme.custom_site_icon_url").WithDefault(""),
|
||||
CustomHomeLogoURL: config.ValueJSON[string]("theme.custom_home_logo_url").WithDefault(""),
|
||||
CustomHomeHTML: config.ValueJSON[string]("theme.custom_home_html").WithDefault(""),
|
||||
APIHeaderURL: config.ValueJSON[string]("theme.api_header_url").WithDefault(""),
|
||||
CustomHomeTitle: config.ValueJSON[string]("theme.custom_home_title").WithDefault(""),
|
||||
CustomHomeTagline: config.ValueJSON[string]("theme.custom_home_tagline").WithDefault(""),
|
||||
PinnedOrgDisplayFormat: config.ValueJSON[string]("theme.pinned_org_display_format").WithDefault("condensed"),
|
||||
DisableRegistration: config.ValueJSON[bool]("theme.disable_registration").WithFileConfig(config.CfgSecKey{Sec: "service", Key: "DISABLE_REGISTRATION"}),
|
||||
CustomSiteIconURL: config.ValueJSON[string]("theme.custom_site_icon_url").WithDefault(""),
|
||||
CustomHomeLogoURL: config.ValueJSON[string]("theme.custom_home_logo_url").WithDefault(""),
|
||||
CustomHomeHTML: config.ValueJSON[string]("theme.custom_home_html").WithDefault(""),
|
||||
APIHeaderURL: config.ValueJSON[string]("theme.api_header_url").WithDefault(""),
|
||||
CustomHomeTitle: config.ValueJSON[string]("theme.custom_home_title").WithDefault(""),
|
||||
CustomHomeTagline: config.ValueJSON[string]("theme.custom_home_tagline").WithDefault(""),
|
||||
PinnedOrgDisplayFormat: config.ValueJSON[string]("theme.pinned_org_display_format").WithDefault("condensed"),
|
||||
ExploreOrgDisplayFormat: config.ValueJSON[string]("theme.explore_org_display_format").WithDefault("list"),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,28 +33,29 @@ func TestDecodeEnvSectionKey(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDecodeEnvironmentKey(t *testing.T) {
|
||||
prefix := "GITEA__"
|
||||
prefixGitCaddy := "GITCADDY__"
|
||||
prefixGitea := "GITEA__"
|
||||
suffix := "__FILE"
|
||||
|
||||
ok, section, key, file := decodeEnvironmentKey(prefix, suffix, "SEC__KEY")
|
||||
ok, section, key, file := decodeEnvironmentKey(prefixGitCaddy, prefixGitea, suffix, "SEC__KEY")
|
||||
assert.False(t, ok)
|
||||
assert.Empty(t, section)
|
||||
assert.Empty(t, key)
|
||||
assert.False(t, file)
|
||||
|
||||
ok, section, key, file = decodeEnvironmentKey(prefix, suffix, "GITEA__SEC")
|
||||
ok, section, key, file = decodeEnvironmentKey(prefixGitCaddy, prefixGitea, suffix, "GITEA__SEC")
|
||||
assert.False(t, ok)
|
||||
assert.Empty(t, section)
|
||||
assert.Empty(t, key)
|
||||
assert.False(t, file)
|
||||
|
||||
ok, section, key, file = decodeEnvironmentKey(prefix, suffix, "GITEA____KEY")
|
||||
ok, section, key, file = decodeEnvironmentKey(prefixGitCaddy, prefixGitea, suffix, "GITEA____KEY")
|
||||
assert.True(t, ok)
|
||||
assert.Empty(t, section)
|
||||
assert.Equal(t, "KEY", key)
|
||||
assert.False(t, file)
|
||||
|
||||
ok, section, key, file = decodeEnvironmentKey(prefix, suffix, "GITEA__SEC__KEY")
|
||||
ok, section, key, file = decodeEnvironmentKey(prefixGitCaddy, prefixGitea, suffix, "GITEA__SEC__KEY")
|
||||
assert.True(t, ok)
|
||||
assert.Equal(t, "sec", section)
|
||||
assert.Equal(t, "KEY", key)
|
||||
@@ -62,19 +63,19 @@ func TestDecodeEnvironmentKey(t *testing.T) {
|
||||
|
||||
// with "__FILE" suffix, it doesn't support to write "[sec].FILE" to config (no such key FILE is used in Gitea)
|
||||
// but it could be fixed in the future by adding a new suffix like "__VALUE" (no such key VALUE is used in Gitea either)
|
||||
ok, section, key, file = decodeEnvironmentKey(prefix, suffix, "GITEA__SEC__FILE")
|
||||
ok, section, key, file = decodeEnvironmentKey(prefixGitCaddy, prefixGitea, suffix, "GITEA__SEC__FILE")
|
||||
assert.False(t, ok)
|
||||
assert.Empty(t, section)
|
||||
assert.Empty(t, key)
|
||||
assert.True(t, file)
|
||||
|
||||
ok, section, key, file = decodeEnvironmentKey(prefix, suffix, "GITEA__SEC__KEY__FILE")
|
||||
ok, section, key, file = decodeEnvironmentKey(prefixGitCaddy, prefixGitea, suffix, "GITEA__SEC__KEY__FILE")
|
||||
assert.True(t, ok)
|
||||
assert.Equal(t, "sec", section)
|
||||
assert.Equal(t, "KEY", key)
|
||||
assert.True(t, file)
|
||||
|
||||
ok, _, _, _ = decodeEnvironmentKey("PREFIX__", "", "PREFIX__SEC__KEY")
|
||||
ok, _, _, _ = decodeEnvironmentKey("PREFIX__", "", "", "PREFIX__SEC__KEY")
|
||||
assert.True(t, ok)
|
||||
}
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ func MakeAbsoluteAssetURL(appURL, staticURLPrefix string) string {
|
||||
|
||||
func loadServerFrom(rootCfg ConfigProvider) {
|
||||
sec := rootCfg.Section("server")
|
||||
AppName = rootCfg.Section("").Key("APP_NAME").MustString("Gitea: Git with a cup of tea")
|
||||
AppName = rootCfg.Section("").Key("APP_NAME").MustString("GitCaddy")
|
||||
|
||||
Domain = sec.Key("DOMAIN").MustString("localhost")
|
||||
HTTPAddr = sec.Key("HTTP_ADDR").MustString("0.0.0.0")
|
||||
|
||||
@@ -96,7 +96,7 @@ func InitCfgProvider(file string) {
|
||||
|
||||
func MustInstalled() {
|
||||
if !InstallLock {
|
||||
log.Fatal(`Unable to load config file for a installed GitCaddy instance, you should either use "--config" to set your config file (app.ini), or run "gitcaddy-server web" command to install Gitea.`)
|
||||
log.Fatal(`Unable to load config file for a installed GitCaddy instance, you should either use "--config" to set your config file (app.ini), or run "gitcaddy-server web" command to install GitCaddy.`)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -174,14 +174,14 @@
|
||||
"error.report_message": "Pokud jste si jisti, že se jedná o chybu Gitea, prosím vyhledejte problémy na <a href=\"%s\" target=\"_blank\">GitHub</a> a v případě potřeby založte nový problém.",
|
||||
"error.not_found": "Cíl nebyl nalezen.",
|
||||
"error.network_error": "Chyba sítě",
|
||||
"startpage.app_desc": "Snadno přístupný vlastní Git",
|
||||
"startpage.install": "Jednoduchá na instalaci",
|
||||
"startpage.install_desc": "Jednoduše <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">spusťte jako binární program</a> pro vaši platformu, nasaďte jej pomocí <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">Docker</a>, nebo jej stáhněte jako <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">balíček</a>.",
|
||||
"startpage.platform": "Multiplatformní",
|
||||
"startpage.platform_desc": "Gitea běží všude, kde <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">Go</a> může kompilovat: Windows, macOS, Linux, ARM, atd. Vyberte si ten, který milujete!",
|
||||
"startpage.lightweight": "Lehká",
|
||||
"startpage.lightweight_desc": "Gitea má minimální požadavky a může běžet na Raspberry Pi. Šetřete energii vašeho stroje!",
|
||||
"startpage.license_desc": "Vše je na <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[1]s\">%[2]s</a>! Připojte se tím, že <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[3]s\">přispějete</a> a uděláte tento projekt ještě lepší. Nestyďte se být přispěvatel!",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.install_desc": "Run the binary, deploy with Docker, or use your favorite package manager. GitCaddy runs wherever you need it.",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.platform_desc": "Built for the age of AI-assisted development. Structured APIs, capability discovery, and intelligent context for AI tools.",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license_desc": "GitCaddy is open source and built on the shoulders of giants. Based on Gitea, enhanced for the AI era.",
|
||||
"install.install": "Instalace",
|
||||
"install.title": "Výchozí konfigurace",
|
||||
"install.docker_helper": "Pokud spouštíte Gitea v Dockeru, přečtěte si <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">dokumentaci</a>, než budete měnit jakákoliv nastavení.",
|
||||
@@ -3307,4 +3307,4 @@
|
||||
"git.filemode.executable_file": "Spustitelný soubor",
|
||||
"git.filemode.symbolic_link": "Symbolický odkaz",
|
||||
"git.filemode.submodule": "Submodul"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -149,12 +149,12 @@
|
||||
"error.occurred": "Παρουσιάστηκε ένα σφάλμα",
|
||||
"error.not_found": "Ο προορισμός δεν βρέθηκε.",
|
||||
"error.network_error": "Σφάλμα δικτύου",
|
||||
"startpage.app_desc": "Μια ανώδυνη, αυτο-φιλοξενούμενη υπηρεσία Git",
|
||||
"startpage.install": "Εύκολο στην εγκατάσταση",
|
||||
"startpage.platform": "Πολυπλατφορμικό",
|
||||
"startpage.lightweight": "Ελαφρύ",
|
||||
"startpage.lightweight_desc": "Gitea έχει χαμηλές ελάχιστες απαιτήσεις και μπορεί να τρέξει σε ένα οικονομικό Raspberry Pi. Εξοικονομήστε ενέργεια!",
|
||||
"startpage.license": "Ανοικτού κώδικα",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "Εγκατάσταση",
|
||||
"install.title": "Αρχικές Ρυθμίσεις",
|
||||
"install.docker_helper": "Αν εκτελέσετε το Gitea μέσα στο Docker, παρακαλώ διαβάστε την <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">τεκμηρίωση</a> πριν αλλάξετε τις ρυθμίσεις.",
|
||||
@@ -3001,4 +3001,4 @@
|
||||
"git.filemode.normal_file": "Κανονικό αρχείο",
|
||||
"git.filemode.executable_file": "Εκτελέσιμο αρχείο",
|
||||
"git.filemode.submodule": "Υπομονάδα"
|
||||
}
|
||||
}
|
||||
@@ -210,15 +210,15 @@
|
||||
"error.report_message": "If you believe that this is a GitCaddy bug, please search for issues on <a href=\"%s\" target=\"_blank\">GitCaddy Gitea</a> or open a new issue if necessary.",
|
||||
"error.not_found": "The target couldn't be found.",
|
||||
"error.network_error": "Network error",
|
||||
"startpage.app_desc": "A painless, self-hosted Git service",
|
||||
"startpage.install": "Easy to install",
|
||||
"startpage.install_desc": "Simply <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[1]s\">run the binary</a> for your platform, ship it with <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[2]s\">Docker</a>, or get it <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[3]s\">packaged</a>.",
|
||||
"startpage.platform": "Cross-platform",
|
||||
"startpage.platform_desc": "Gitea runs anywhere <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">Go</a> can compile for: Windows, macOS, Linux, ARM, etc. Choose the one you love!",
|
||||
"startpage.lightweight": "Lightweight",
|
||||
"startpage.lightweight_desc": "Gitea has low minimal requirements and can run on an inexpensive Raspberry Pi. Save your machine energy!",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.install_desc": "Run the binary, deploy with Docker, or use your favorite package manager. GitCaddy runs wherever you need it.",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.platform_desc": "Built for the age of AI-assisted development. Structured APIs, capability discovery, and intelligent context for AI tools.",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"startpage.license_desc": "Go get <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[1]s\">%[2]s</a>! Join us by <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[3]s\">contributing</a> to make this project even better. Don't be shy to be a contributor!",
|
||||
"startpage.license_desc": "GitCaddy is open source and built on the shoulders of giants. Based on Gitea, enhanced for the AI era.",
|
||||
"install.install": "Installation",
|
||||
"install.installing_desc": "Installing now, please wait…",
|
||||
"install.title": "Initial Configuration",
|
||||
@@ -2514,15 +2514,15 @@
|
||||
"repo.settings.rename_branch_from": "old branch name",
|
||||
"repo.settings.rename_branch_to": "new branch name",
|
||||
"repo.settings.rename_branch": "Rename branch",
|
||||
"repo.settings.pages": "Pages",
|
||||
"repo.settings.pages.enabled": "Pages Enabled",
|
||||
"repo.settings.pages": "Landing Page",
|
||||
"repo.settings.pages.enabled": "Landing Page Enabled",
|
||||
"repo.settings.pages.enabled_desc": "Your landing page is now accessible to visitors.",
|
||||
"repo.settings.pages.not_enabled": "Pages Not Enabled",
|
||||
"repo.settings.pages.not_enabled_desc": "Enable Pages to create a landing page for your repository.",
|
||||
"repo.settings.pages.enable": "Enable Pages",
|
||||
"repo.settings.pages.disable": "Disable Pages",
|
||||
"repo.settings.pages.enabled_success": "Pages have been enabled for this repository.",
|
||||
"repo.settings.pages.disabled_success": "Pages have been disabled for this repository.",
|
||||
"repo.settings.pages.not_enabled": "Landing Page Not Enabled",
|
||||
"repo.settings.pages.not_enabled_desc": "Enable the landing page feature to create a public page for your repository.",
|
||||
"repo.settings.pages.enable": "Enable Landing Page",
|
||||
"repo.settings.pages.disable": "Disable Landing Page",
|
||||
"repo.settings.pages.enabled_success": "Landing page has been enabled for this repository.",
|
||||
"repo.settings.pages.disabled_success": "Landing page has been disabled for this repository.",
|
||||
"repo.settings.pages.template": "Template",
|
||||
"repo.settings.pages.update_template": "Update Template",
|
||||
"repo.settings.pages.subdomain": "Subdomain URL",
|
||||
@@ -3844,6 +3844,11 @@
|
||||
"admin.config.custom_home_html": "Custom Homepage Content",
|
||||
"admin.config.custom_home_html_placeholder": "Enter custom HTML for the homepage (shown to non-logged-in users)",
|
||||
"admin.config.custom_home_html_help": "This HTML will replace the default homepage content. Leave empty to use the default.",
|
||||
"admin.config.help_url": "Help URL",
|
||||
"admin.config.help_url_placeholder": "https://docs.example.com",
|
||||
"admin.config.help_url_help": "URL for the Help link in the navigation. Leave empty to hide the Help link.",
|
||||
"admin.config.hide_explore_users": "Hide Explore Users",
|
||||
"admin.config.hide_explore_users_desc": "Hide the Users tab from the Explore menu",
|
||||
"admin.config.custom_home_title": "Homepage Title",
|
||||
"admin.config.custom_home_title_placeholder": "Leave empty to use app name",
|
||||
"admin.config.custom_home_title_help": "Custom title displayed on the homepage. Leave empty to use the default app name.",
|
||||
@@ -3851,6 +3856,7 @@
|
||||
"admin.config.custom_home_tagline_placeholder": "Leave empty to use default tagline",
|
||||
"admin.config.custom_home_tagline_help": "Custom tagline displayed below the title on the homepage. Leave empty to use the default.",
|
||||
"admin.config.pinned_org_display_format": "Pinned Organization Display Format",
|
||||
"admin.config.pinned_org_format_promotional": "Promotional Content (hide pinned orgs)",
|
||||
"admin.config.pinned_org_format_condensed": "Condensed (icon on left)",
|
||||
"admin.config.pinned_org_format_regular": "Regular (icon above)",
|
||||
"admin.config.pinned_org_display_format_help": "Choose how pinned organizations are displayed on the homepage.",
|
||||
@@ -3887,5 +3893,9 @@
|
||||
"api": "API",
|
||||
"admin.config.api_header_url": "API Header Link",
|
||||
"admin.config.api_header_url_placeholder": "https://example.com/api/docs",
|
||||
"admin.config.api_header_url_help": "URL for the API documentation link in the header. Leave empty to hide the link."
|
||||
}
|
||||
"admin.config.api_header_url_help": "URL for the API documentation link in the header. Leave empty to hide the link.",
|
||||
"admin.config.explore_org_display_format": "Explore Organizations Display",
|
||||
"admin.config.explore_org_display_format_help": "Choose how organizations are displayed on the explore/organizations page",
|
||||
"admin.config.explore_org_format_list": "List View",
|
||||
"admin.config.explore_org_format_tiles": "Tile Cards"
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -87,12 +87,12 @@
|
||||
"filter.public": "عمومی",
|
||||
"filter.private": "خصوصی",
|
||||
"editor.buttons.table.add.insert": "افزودن",
|
||||
"startpage.app_desc": "یک سرویس گیت بیدرد سر و راحت",
|
||||
"startpage.install": "راهاندازی ساده",
|
||||
"startpage.platform": "مستقل از سکو",
|
||||
"startpage.lightweight": "ابزارک سبک",
|
||||
"startpage.lightweight_desc": "گیتی با حداقل منابع میتوانید برای روی دستگاه Raspberry Pi اجرا شود و مصرف انرژی شما را کاهش دهد!",
|
||||
"startpage.license": "متن باز",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "نصب و راه اندازی",
|
||||
"install.title": "تنظیمات اولیه",
|
||||
"install.docker_helper": "اگر گیتی را با داکر اجرا کردهاید، لطفا قبل از هر تغییری <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">مستندات</a> را مطالعه نمایید.",
|
||||
@@ -2229,4 +2229,4 @@
|
||||
"actions.runners.version": "نسخه",
|
||||
"actions.runs.commit": "کامیت",
|
||||
"git.filemode.symbolic_link": "پیوند نمادین"
|
||||
}
|
||||
}
|
||||
@@ -101,12 +101,12 @@
|
||||
"error.occurred": "Virhe tapahtui",
|
||||
"error.not_found": "Kohdetta ei löytynyt.",
|
||||
"error.network_error": "Verkkovirhe",
|
||||
"startpage.app_desc": "Kivuton, itsehostattu Git-palvelu",
|
||||
"startpage.install": "Helppo asentaa",
|
||||
"startpage.platform": "Alustariippumaton",
|
||||
"startpage.lightweight": "Kevyt",
|
||||
"startpage.lightweight_desc": "Gitealla on vähäiset vähimmäisvaatimukset, joten se toimii jopa halvassa Raspberry Pi:ssä. Säästä koneesi energiaa!",
|
||||
"startpage.license": "Avoin lähdekoodi",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "Asennus",
|
||||
"install.title": "Alkuperäiset asetukset",
|
||||
"install.docker_helper": "Jos ajat Giteaa Dockerin sisällä, lue <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">ohjeet</a> ennen minkään asetuksen muuttamista.",
|
||||
@@ -1475,4 +1475,4 @@
|
||||
"actions.runners.task_list.run": "Suorita",
|
||||
"actions.runners.task_list.repository": "Repo",
|
||||
"actions.runners.version": "Versio"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -207,15 +207,15 @@
|
||||
"error.report_message": "Má chreideann tú gur fabht Gitea é seo, déan cuardach le haghaidh ceisteanna ar <a href=\"%s\" target=\"_blank\">GitHub</a> nó oscail eagrán nua más gá.",
|
||||
"error.not_found": "Ní raibh an sprioc in ann a fháil.",
|
||||
"error.network_error": "Earráid líonra",
|
||||
"startpage.app_desc": "Seirbhís Git gan phian, féin-óstáil",
|
||||
"startpage.install": "Éasca a shuiteáil",
|
||||
"startpage.install_desc": "Níl ort ach <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[1]s\">rith an dénártha</a> do d'ardán, seol é le <a target=\"_blank\" rel=\"noopener noreferrer \" href=\"%[2]s\">Docker</a>, nó faigh <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[3]s\">pacáilte</a> é.",
|
||||
"startpage.platform": "Tras-ardán",
|
||||
"startpage.platform_desc": "Ritheann Gitea áit ar <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://go.dev/\">bith is féidir le Go</a> tiomsú le haghaidh: Windows, macOS, Linux, ARM, srl Roghnaigh an ceann is breá leat!",
|
||||
"startpage.lightweight": "Éadrom",
|
||||
"startpage.lightweight_desc": "Tá íosta riachtanais íseal ag Gitea agus is féidir leo rith ar Raspberry Pi saor. Sábháil fuinneamh do mheaisín!",
|
||||
"startpage.license": "Foinse Oscailte",
|
||||
"startpage.license_desc": "Téigh go bhfaighidh <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[1]s\">%[2]s</a>! Bí linn trí <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%[3]s\">cur leis</a> chun an tionscadal seo a fheabhsú fós. Ná bíodh cúthail ort a bheith i do rannpháirtí!",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.install_desc": "Run the binary, deploy with Docker, or use your favorite package manager. GitCaddy runs wherever you need it.",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.platform_desc": "Built for the age of AI-assisted development. Structured APIs, capability discovery, and intelligent context for AI tools.",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"startpage.license_desc": "GitCaddy is open source and built on the shoulders of giants. Based on Gitea, enhanced for the AI era.",
|
||||
"install.install": "Suiteáil",
|
||||
"install.installing_desc": "Suiteáil anois, fan go fóill…",
|
||||
"install.title": "Cumraíocht Tosaigh",
|
||||
@@ -3698,4 +3698,4 @@
|
||||
"git.filemode.executable_file": "Comhad infheidhmithe",
|
||||
"git.filemode.symbolic_link": "Nasc siombalach",
|
||||
"git.filemode.submodule": "Fo-mhodúl"
|
||||
}
|
||||
}
|
||||
@@ -75,11 +75,11 @@
|
||||
"filter.public": "Nyilvános",
|
||||
"filter.private": "Privát",
|
||||
"editor.buttons.table.add.insert": "Hozzáadás",
|
||||
"startpage.app_desc": "Fájdalommentes, saját gépre telepíthető Git szolgáltatás",
|
||||
"startpage.install": "Könnyen telepíthető",
|
||||
"startpage.platform": "Keresztplatformos",
|
||||
"startpage.lightweight": "Könnyűsúlyú",
|
||||
"startpage.license": "Nyílt forráskódú",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "Telepítés",
|
||||
"install.title": "Kezdeti konfiguráció",
|
||||
"install.docker_helper": "Ha ön a Gitea-t Docker-ből futtatja, kérem olvassa el a <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">dokumentációt</a> a beállítások megváltoztatása előtt.",
|
||||
@@ -1384,4 +1384,4 @@
|
||||
"actions.runners.status.active": "Aktív",
|
||||
"actions.runners.version": "Verzió",
|
||||
"git.filemode.symbolic_link": "Szimbolikus hivatkozás"
|
||||
}
|
||||
}
|
||||
@@ -147,12 +147,12 @@
|
||||
"error.occurred": "Terjadi kesalahan",
|
||||
"error.report_message": "Jika Anda yakin ini adalah bug Gitea, silakan cari isu di <a href=\"%s\" target=\"_blank\">GitHub</a> atau buka isu baru jika diperlukan.",
|
||||
"error.not_found": "Target tidak dapat ditemukan.",
|
||||
"startpage.app_desc": "Sebuah layanan hosting Git sendiri yang tanpa kesulitan",
|
||||
"startpage.install": "Mudah dipasang",
|
||||
"startpage.platform": "Lintas platform",
|
||||
"startpage.lightweight": "Ringan",
|
||||
"startpage.lightweight_desc": "Gitea hanya membutuhkan persyaratan minimal dan bisa berjalan pada Raspberry Pi yang murah. Bisa menghemat listrik!",
|
||||
"startpage.license": "Sumber Terbuka",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.title": "Konfigurasi Awal",
|
||||
"install.user": "Nama Pengguna",
|
||||
"install.password": "Kata Sandi",
|
||||
@@ -1199,4 +1199,4 @@
|
||||
"projects.type-1.display_name": "Proyek Individu",
|
||||
"projects.type-2.display_name": "Proyek Repositori",
|
||||
"projects.type-3.display_name": "Proyek Organisasi"
|
||||
}
|
||||
}
|
||||
@@ -100,12 +100,12 @@
|
||||
"error.occurred": "Villa kom upp",
|
||||
"error.not_found": "Markmiðið fannst ekki.",
|
||||
"error.network_error": "Netkerfisvilla",
|
||||
"startpage.app_desc": "Þrautalaus og sjálfhýst Git þjónusta",
|
||||
"startpage.install": "Einföld uppsetning",
|
||||
"startpage.platform": "Fjölvettvangur",
|
||||
"startpage.lightweight": "Létt",
|
||||
"startpage.lightweight_desc": "Gitea hefur lágar lágmarkskröfur og getur keyrt á ódýrum Raspberry Pi. Sparaðu orku!",
|
||||
"startpage.license": "Frjáls Hugbúnaður",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "Uppsetning",
|
||||
"install.title": "Upphafleg Uppsetning",
|
||||
"install.docker_helper": "Ef þú keyrir Gitea inni í Docker þá viltu vinsamlegast lesa <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">leiðbeiningaritið</a> áður en þú breytir stillingum.",
|
||||
@@ -1117,4 +1117,4 @@
|
||||
"actions.runners.status.active": "Virkt",
|
||||
"actions.runners.version": "Útgáfa",
|
||||
"actions.runs.commit": "Framlag"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -155,12 +155,12 @@
|
||||
"error.occurred": "Radusies kļūda",
|
||||
"error.not_found": "Pieprasītie dati netika atrasti.",
|
||||
"error.network_error": "Tīkla kļūda",
|
||||
"startpage.app_desc": "Viegli uzstādāms Git serviss",
|
||||
"startpage.install": "Vienkārši instalējams",
|
||||
"startpage.platform": "Pieejama dažādām platformām",
|
||||
"startpage.lightweight": "Viegla",
|
||||
"startpage.lightweight_desc": "Gitea ir miminālas prasības un to var darbināt uz nedārga Raspberry Pi datora. Ietaupi savai ierīcei resursus!",
|
||||
"startpage.license": "Atvērtā pirmkoda",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "Instalācija",
|
||||
"install.title": "Sākotnējā konfigurācija",
|
||||
"install.docker_helper": "Ja Gitea ir uzstādīts Docker konteinerī, izlasiet <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">vadlīninas</a> pirms maināt iestatījumus.",
|
||||
@@ -3043,4 +3043,4 @@
|
||||
"git.filemode.executable_file": "Izpildāmais fails",
|
||||
"git.filemode.symbolic_link": "Simboliska saite",
|
||||
"git.filemode.submodule": "Apakšmodulis"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -87,12 +87,12 @@
|
||||
"filter.public": "ප්රසිද්ධ",
|
||||
"filter.private": "පෞද්ගලික",
|
||||
"editor.buttons.table.add.insert": "එකතු",
|
||||
"startpage.app_desc": "වේදනාකාරී, ස්වයං-සත්කාරක Git සේවාවක්",
|
||||
"startpage.install": "ස්ථාපනයට පහසුය",
|
||||
"startpage.platform": "හරස් වේදිකාව",
|
||||
"startpage.lightweight": "සැහැල්ලු",
|
||||
"startpage.lightweight_desc": "Gitea අඩු අවම අවශ්යතා ඇති අතර මිල අඩු Raspberry Pi මත ධාවනය කළ හැකිය. ඔබේ යන්ත්ර ශක්තිය සුරකින්න!",
|
||||
"startpage.license": "විවෘත මූලාශ්ර",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "ස්ථාපනය",
|
||||
"install.title": "මූලික වින්යාසය",
|
||||
"install.docker_helper": "ඔබ Docker තුළ Gitea ධාවනය කරන්නේ නම්, කරුණාකර ඕනෑම සැකසුම් වෙනස් කිරීමට පෙර <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">ලියකියවිලි</a> කියවන්න.",
|
||||
@@ -2190,4 +2190,4 @@
|
||||
"actions.runners.version": "අනුවාදය",
|
||||
"actions.runs.commit": "කැප",
|
||||
"git.filemode.symbolic_link": "සංකේතාත්මක සබැඳිය"
|
||||
}
|
||||
}
|
||||
@@ -147,12 +147,12 @@
|
||||
"error.occurred": "Vyskytla sa chyba",
|
||||
"error.not_found": "Nebolo možné nájsť cieľ.",
|
||||
"error.network_error": "Chyba siete",
|
||||
"startpage.app_desc": "Jednoducho prístupný vlastný Git",
|
||||
"startpage.install": "Jednoduchá inštalácia",
|
||||
"startpage.platform": "Multiplatformový",
|
||||
"startpage.lightweight": "Ľahká",
|
||||
"startpage.lightweight_desc": "Gitea má minimálne požiadavky a môže bežať na Raspberry Pi. Šetrite energiou vášho stroja!",
|
||||
"startpage.license": "Otvorený zdrojový kód",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.install": "Inštalácia",
|
||||
"install.title": "Východzia konfigurácia",
|
||||
"install.docker_helper": "Ak spúšťate Gitea v Docker kontajneri, prečítajte si <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">dokumentáciu</a> pred zmenou akýchkoľvek nastavení.",
|
||||
@@ -1161,4 +1161,4 @@
|
||||
"actions.runners.status.unspecified": "Neznámy",
|
||||
"actions.runners.version": "Verzia",
|
||||
"git.filemode.symbolic_link": "Symbolický odkaz"
|
||||
}
|
||||
}
|
||||
@@ -74,12 +74,12 @@
|
||||
"filter.public": "Offentlig",
|
||||
"filter.private": "Privat",
|
||||
"editor.buttons.table.add.insert": "Lägg till",
|
||||
"startpage.app_desc": "En smidig, självhostad Git-tjänst",
|
||||
"startpage.install": "Lätt att installera",
|
||||
"startpage.platform": "Plattformsoberoende",
|
||||
"startpage.lightweight": "Lättviktig",
|
||||
"startpage.lightweight_desc": "Gitea har låga minimum-krav och kan köras på en billig Rasperry Pi. Spara på din maskins kraft!",
|
||||
"startpage.license": "Öppen källkod",
|
||||
"startpage.app_desc": "Steeped in your workflow",
|
||||
"startpage.install": "Deploy Anywhere",
|
||||
"startpage.platform": "AI-Native Platform",
|
||||
"startpage.lightweight": "Lightning Fast",
|
||||
"startpage.lightweight_desc": "Minimal footprint, maximum performance. GitCaddy runs efficiently on everything from Raspberry Pi to enterprise servers.",
|
||||
"startpage.license": "Open Source",
|
||||
"install.title": "Ursprunglig konfiguration",
|
||||
"install.docker_helper": "Om du kör Gitea i Docker, vänligen läs igenom <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">dokumentationen</a> innan några inställningar ändras.",
|
||||
"install.db_title": "Databasinställningar",
|
||||
@@ -1734,4 +1734,4 @@
|
||||
"actions.runners.task_list.repository": "Utvecklingskatalog",
|
||||
"actions.runners.status.active": "Aktiv",
|
||||
"git.filemode.symbolic_link": "Symbolisk länk"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
19
public/assets/img/gitcaddy-icon.svg
Normal file
19
public/assets/img/gitcaddy-icon.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="374px" height="374px" viewBox="397.5 371.5 374 374" style="enable-background:new 397.5 371.5 374 374;"
|
||||
xml:space="preserve">
|
||||
<path style="fill:#609926;" d="M526.05,605.17c-0.69,0-1.39-0.14-2.08-0.46l-82.52-37.42v95.65l138.07,48.38V563.78l-50.37,40.29
|
||||
C528.27,604.76,527.16,605.17,526.05,605.17L526.05,605.17z"/>
|
||||
<path style="fill:#609926;" d="M643.03,605.17c-1.16,0-2.26-0.42-3.15-1.11l-50.37-40.29v147.55l138.16-48.38v-95.65l-82.56,37.42
|
||||
c-0.65,0.28-1.34,0.46-2.04,0.46L643.03,605.17z"/>
|
||||
<path style="fill:#609926;" d="M525.31,594.35l49.08-39.22l-137-48.06l-37.88,30.34L525.31,594.35z"/>
|
||||
<path style="fill:#609926;" d="M594.69,555.13l49.03,39.22l125.81-56.94l-37.88-30.34L594.69,555.13z"/>
|
||||
<path style="fill:#609926;" d="M525.36,438.98c-11.01-3.42-23.22-7.26-36.22-13.46c-1.62,64.89,35.94,80.94,52.68,84.88
|
||||
c16.47,3.88,30.57,0.55,35.48-3.88c-11.24-14.06-25.81-26.6-43.43-31.45c16.19,1.76,31.13,9.62,43.99,19.89
|
||||
c-3.88-40.66-22.76-46.62-52.45-55.97H525.36z"/>
|
||||
<path style="fill:#609926;" d="M589.74,491.11c5.23,5,20.81,8.79,38.85,4.53c18.22-4.3,59.16-21.79,57.22-92.6
|
||||
c-14.2,6.8-27.57,10.96-39.59,14.76c-32.47,10.17-53.01,16.6-56.98,61.52c13.92-11.38,30.16-20.26,47.96-22.29
|
||||
c-19.24,5.23-35.2,18.87-47.41,34.04L589.74,491.11z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
1062
public/assets/img/gitcaddy-logo.svg
Normal file
1062
public/assets/img/gitcaddy-logo.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 105 KiB |
27649
public/assets/licenses.txt
Normal file
27649
public/assets/licenses.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -244,6 +244,7 @@ func ChangeConfig(ctx *context.Context) {
|
||||
cfg.Theme.CustomHomeTitle.DynKey(): marshalString(""),
|
||||
cfg.Theme.CustomHomeTagline.DynKey(): marshalString(""),
|
||||
cfg.Theme.PinnedOrgDisplayFormat.DynKey(): marshalString("condensed"),
|
||||
cfg.Theme.ExploreOrgDisplayFormat.DynKey(): marshalString("list"),
|
||||
}
|
||||
|
||||
_ = ctx.Req.ParseForm()
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import {fileURLToPath} from 'node:url';
|
||||
import path from 'node:path';
|
||||
import type {Config} from 'stylelint';
|
||||
|
||||
// Use process.cwd() for more reliable path resolution across different environments
|
||||
const cssVarFiles = [
|
||||
fileURLToPath(new URL('web_src/css/base.css', import.meta.url)),
|
||||
fileURLToPath(new URL('web_src/css/themes/theme-gitea-light.css', import.meta.url)),
|
||||
fileURLToPath(new URL('web_src/css/themes/theme-gitea-dark.css', import.meta.url)),
|
||||
path.join(process.cwd(), 'web_src/css/base.css'),
|
||||
path.join(process.cwd(), 'web_src/css/themes/theme-gitea-light.css'),
|
||||
path.join(process.cwd(), 'web_src/css/themes/theme-gitea-dark.css'),
|
||||
];
|
||||
|
||||
export default {
|
||||
@@ -133,9 +134,9 @@ export default {
|
||||
'media-feature-name-no-vendor-prefix': true,
|
||||
'no-descending-specificity': null,
|
||||
'no-invalid-position-at-import-rule': [true, {ignoreAtRules: ['tailwind']}],
|
||||
'no-unknown-animations': null, // disabled until stylelint supports multi-file linting
|
||||
'no-unknown-custom-media': null, // disabled until stylelint supports multi-file linting
|
||||
'no-unknown-custom-properties': null, // disabled until stylelint supports multi-file linting
|
||||
'no-unknown-animations': null,
|
||||
'no-unknown-custom-media': null,
|
||||
'no-unknown-custom-properties': null,
|
||||
'plugin/declaration-block-no-ignored-properties': true,
|
||||
'scale-unlimited/declaration-strict-value': [['/color$/', 'font-weight'], {ignoreValues: '/^(inherit|transparent|unset|initial|currentcolor|none)$/', ignoreFunctions: true, disableFix: true, expandShorthand: true}],
|
||||
'selector-attribute-quotes': 'always',
|
||||
|
||||
@@ -10,6 +10,26 @@
|
||||
</div>
|
||||
</dd>
|
||||
<div class="divider"></div>
|
||||
<dt>{{ctx.Locale.Tr "admin.config.hide_explore_users"}}</dt>
|
||||
<dd>
|
||||
<div class="ui toggle checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.config.hide_explore_users_desc"}}">
|
||||
<input type="checkbox" data-config-dyn-key="theme.hide_explore_users" {{if .SystemConfig.Theme.HideExploreUsers.Value ctx}}checked{{end}}><label></label>
|
||||
</div>
|
||||
</dd>
|
||||
<div class="divider"></div>
|
||||
<dt>{{ctx.Locale.Tr "admin.config.help_url"}}</dt>
|
||||
<dd>
|
||||
<form class="ui form form-fetch-action" method="post" action="{{AppSubUrl}}/-/admin/config">
|
||||
{{.CsrfTokenHtml}}
|
||||
<input type="hidden" name="key" value="theme.help_url">
|
||||
<div class="field">
|
||||
<input type="text" name="value" value="{{.SystemConfig.Theme.HelpURL.Value ctx}}" placeholder="{{ctx.Locale.Tr "admin.config.help_url_placeholder"}}">
|
||||
</div>
|
||||
<div class="help">{{ctx.Locale.Tr "admin.config.help_url_help"}}</div>
|
||||
<button class="ui primary button">{{ctx.Locale.Tr "save"}}</button>
|
||||
</form>
|
||||
</dd>
|
||||
<div class="divider"></div>
|
||||
<dt>{{ctx.Locale.Tr "admin.config.custom_site_icon"}}</dt>
|
||||
<dd>
|
||||
<form class="ui form" method="post" action="{{AppSubUrl}}/-/admin/config/theme/icon" enctype="multipart/form-data">
|
||||
@@ -95,6 +115,7 @@
|
||||
<input type="hidden" name="key" value="theme.pinned_org_display_format">
|
||||
<div class="field">
|
||||
<select class="ui dropdown" name="value">
|
||||
<option value="promotional" {{if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "promotional"}}selected{{end}}>{{ctx.Locale.Tr "admin.config.pinned_org_format_promotional"}}</option>
|
||||
<option value="condensed" {{if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "condensed"}}selected{{end}}>{{ctx.Locale.Tr "admin.config.pinned_org_format_condensed"}}</option>
|
||||
<option value="regular" {{if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "regular"}}selected{{end}}>{{ctx.Locale.Tr "admin.config.pinned_org_format_regular"}}</option>
|
||||
</select>
|
||||
@@ -104,6 +125,22 @@
|
||||
</form>
|
||||
</dd>
|
||||
<div class="divider"></div>
|
||||
<dt>{{ctx.Locale.Tr "admin.config.explore_org_display_format"}}</dt>
|
||||
<dd>
|
||||
<form class="ui form form-fetch-action" method="post" action="{{AppSubUrl}}/-/admin/config">
|
||||
{{.CsrfTokenHtml}}
|
||||
<input type="hidden" name="key" value="theme.explore_org_display_format">
|
||||
<div class="field">
|
||||
<select class="ui dropdown" name="value">
|
||||
<option value="list" {{if eq (.SystemConfig.Theme.ExploreOrgDisplayFormat.Value ctx) "list"}}selected{{end}}>{{ctx.Locale.Tr "admin.config.explore_org_format_list"}}</option>
|
||||
<option value="tiles" {{if eq (.SystemConfig.Theme.ExploreOrgDisplayFormat.Value ctx) "tiles"}}selected{{end}}>{{ctx.Locale.Tr "admin.config.explore_org_format_tiles"}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="help">{{ctx.Locale.Tr "admin.config.explore_org_display_format_help"}}</div>
|
||||
<button class="ui primary button">{{ctx.Locale.Tr "save"}}</button>
|
||||
</form>
|
||||
</dd>
|
||||
<div class="divider"></div>
|
||||
<dt>{{ctx.Locale.Tr "admin.config.api_header_url"}}</dt>
|
||||
<dd>
|
||||
<form class="ui form form-fetch-action" method="post" action="{{AppSubUrl}}/-/admin/config">
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
{{if .SystemConfig.Theme.CustomSiteIconURL.Value ctx}}
|
||||
<link rel="icon" href="{{.SystemConfig.Theme.CustomSiteIconURL.Value ctx}}">
|
||||
{{else}}
|
||||
<link rel="icon" href="{{AssetUrlPrefix}}/img/favicon.svg" type="image/svg+xml">
|
||||
<link rel="icon" href="{{AssetUrlPrefix}}/img/gitcaddy-icon.svg" type="image/svg+xml">
|
||||
<link rel="alternate icon" href="{{AssetUrlPrefix}}/img/favicon.png" type="image/png">
|
||||
{{end}}
|
||||
{{template "base/head_opengraph" .}}
|
||||
|
||||
@@ -1,3 +1,28 @@
|
||||
{{if and .PageIsExploreOrganizations (eq (.SystemConfig.Theme.ExploreOrgDisplayFormat.Value ctx) "tiles")}}
|
||||
{{/* Tile Cards View for Organizations */}}
|
||||
<div class="ui four doubling stackable cards">
|
||||
{{range .Users}}
|
||||
<a class="ui card" href="{{.HomeLink}}">
|
||||
<div class="content tw-text-center">
|
||||
<div class="tw-mb-3">
|
||||
{{ctx.AvatarUtils.Avatar . 64 "tw-rounded"}}
|
||||
</div>
|
||||
<div class="header">{{.DisplayName}}</div>
|
||||
{{if .Description}}
|
||||
<div class="meta tw-mt-2">{{.Description}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</a>
|
||||
{{else}}
|
||||
<div class="ui card">
|
||||
<div class="content">
|
||||
{{ctx.Locale.Tr "search.no_results"}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{else}}
|
||||
{{/* Default List View */}}
|
||||
<div class="flex-list">
|
||||
{{range .Users}}
|
||||
<div class="flex-item tw-items-center">
|
||||
@@ -31,3 +56,4 @@
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{{if .SystemConfig.Theme.CustomHomeLogoURL.Value ctx}}
|
||||
<img class="logo" width="220" height="220" src="{{.SystemConfig.Theme.CustomHomeLogoURL.Value ctx}}" alt="{{ctx.Locale.Tr "logo"}}">
|
||||
{{else}}
|
||||
<img class="logo" width="220" height="220" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{ctx.Locale.Tr "logo"}}">
|
||||
<img class="logo" width="220" height="220" src="{{AssetUrlPrefix}}/img/gitcaddy-logo.svg" alt="{{ctx.Locale.Tr "logo"}}">
|
||||
{{end}}
|
||||
<div class="hero">
|
||||
<h1 class="ui icon header title tw-text-balance">
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
{{if .Repo.IsPrivate}}{{svg "octicon-lock" 48}}{{else if .Repo.IsFork}}{{svg "octicon-repo-forked" 48}}{{else if .Repo.IsMirror}}{{svg "octicon-mirror" 48}}{{else}}{{svg "octicon-repo" 48}}{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="header tw-mt-2">{{.Repo.Name}}</div>
|
||||
<div class="header tw-mt-2">{{if .Repo.DisplayTitle}}{{.Repo.DisplayTitle}}{{else}}{{.Repo.Name}}{{end}}</div>
|
||||
{{if .Repo.Description}}
|
||||
<div class="description text grey tw-text-sm tw-mt-1">{{.Repo.Description}}</div>
|
||||
{{end}}
|
||||
@@ -83,7 +83,7 @@
|
||||
{{if .Repo.IsPrivate}}{{svg "octicon-lock" 48}}{{else if .Repo.IsFork}}{{svg "octicon-repo-forked" 48}}{{else if .Repo.IsMirror}}{{svg "octicon-mirror" 48}}{{else}}{{svg "octicon-repo" 48}}{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="header tw-mt-2">{{.Repo.Name}}</div>
|
||||
<div class="header tw-mt-2">{{if .Repo.DisplayTitle}}{{.Repo.DisplayTitle}}{{else}}{{.Repo.Name}}{{end}}</div>
|
||||
{{if .Repo.Description}}
|
||||
<div class="description text grey tw-text-sm tw-mt-1">{{.Repo.Description}}</div>
|
||||
{{end}}
|
||||
@@ -172,7 +172,7 @@
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="tw-flex-1 tw-min-w-0">
|
||||
<a href="{{.Repo.Link}}" class="tw-font-semibold">{{.Repo.Name}}</a>
|
||||
<a href="{{.Repo.Link}}" class="tw-font-semibold">{{if .Repo.DisplayTitle}}{{.Repo.DisplayTitle}}{{else}}{{.Repo.Name}}{{end}}</a>
|
||||
{{if .CommitMessage}}
|
||||
<p class="text grey tw-text-sm tw-truncate tw-mb-0">{{.CommitMessage}}</p>
|
||||
{{end}}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
{{if and .Repo.Owner (ne .Repo.OwnerID $.ContextUser.ID)}}
|
||||
<span class="text grey">{{.Repo.Owner.Name}}/</span>
|
||||
{{end}}
|
||||
{{.Repo.Name}}
|
||||
{{if .Repo.DisplayTitle}}{{.Repo.DisplayTitle}}{{else}}{{.Repo.Name}}{{end}}
|
||||
</div>
|
||||
{{if .Repo.Description}}
|
||||
<div class="description text grey tw-text-sm tw-mt-1">{{.Repo.Description}}</div>
|
||||
|
||||
Reference in New Issue
Block a user