2
0

Fix editorconfig issues and home.tmpl pinned org display format

- Fix home.tmpl to properly show promotional content when selected
- Fix line endings and indentation in all templates
- Fix locale file line endings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
GitCaddy
2026-01-13 08:40:02 +00:00
parent 430109b946
commit 7e7a413b78
34 changed files with 3736 additions and 3714 deletions

View File

@@ -3307,4 +3307,4 @@
"git.filemode.executable_file": "Spustitelný soubor", "git.filemode.executable_file": "Spustitelný soubor",
"git.filemode.symbolic_link": "Symbolický odkaz", "git.filemode.symbolic_link": "Symbolický odkaz",
"git.filemode.submodule": "Submodul" "git.filemode.submodule": "Submodul"
} }

View File

@@ -3250,4 +3250,4 @@
"git.filemode.symbolic_link": "Softlink", "git.filemode.symbolic_link": "Softlink",
"git.filemode.submodule": "Submodul", "git.filemode.submodule": "Submodul",
"based_on": "Basiert auf" "based_on": "Basiert auf"
} }

View File

@@ -3001,4 +3001,4 @@
"git.filemode.normal_file": "Κανονικό αρχείο", "git.filemode.normal_file": "Κανονικό αρχείο",
"git.filemode.executable_file": "Εκτελέσιμο αρχείο", "git.filemode.executable_file": "Εκτελέσιμο αρχείο",
"git.filemode.submodule": "Υπομονάδα" "git.filemode.submodule": "Υπομονάδα"
} }

View File

@@ -3946,4 +3946,4 @@
"repo.settings.pages.seo_description": "Meta Description", "repo.settings.pages.seo_description": "Meta Description",
"repo.settings.pages.seo_keywords": "Keywords", "repo.settings.pages.seo_keywords": "Keywords",
"repo.settings.pages.og_image": "Open Graph Image URL" "repo.settings.pages.og_image": "Open Graph Image URL"
} }

View File

@@ -2964,4 +2964,4 @@
"startpage.platform_desc": "Diseñado para la era del desarrollo asistido por IA. APIs estructuradas, descubrimiento de capacidades y contexto inteligente para herramientas de IA.", "startpage.platform_desc": "Diseñado para la era del desarrollo asistido por IA. APIs estructuradas, descubrimiento de capacidades y contexto inteligente para herramientas de IA.",
"startpage.license_desc": "GitCaddy es de código abierto y construido sobre hombros de gigantes. Basado en Gitea, mejorado para la era de la IA.", "startpage.license_desc": "GitCaddy es de código abierto y construido sobre hombros de gigantes. Basado en Gitea, mejorado para la era de la IA.",
"based_on": "Basado en" "based_on": "Basado en"
} }

View File

@@ -2229,4 +2229,4 @@
"actions.runners.version": "نسخه", "actions.runners.version": "نسخه",
"actions.runs.commit": "کامیت", "actions.runs.commit": "کامیت",
"git.filemode.symbolic_link": "پیوند نمادین" "git.filemode.symbolic_link": "پیوند نمادین"
} }

View File

@@ -1475,4 +1475,4 @@
"actions.runners.task_list.run": "Suorita", "actions.runners.task_list.run": "Suorita",
"actions.runners.task_list.repository": "Repo", "actions.runners.task_list.repository": "Repo",
"actions.runners.version": "Versio" "actions.runners.version": "Versio"
} }

View File

@@ -3591,4 +3591,4 @@
"git.filemode.submodule": "Sous-module", "git.filemode.submodule": "Sous-module",
"startpage.license": "Open Source", "startpage.license": "Open Source",
"based_on": "Basé sur" "based_on": "Basé sur"
} }

View File

@@ -3698,4 +3698,4 @@
"git.filemode.executable_file": "Comhad infheidhmithe", "git.filemode.executable_file": "Comhad infheidhmithe",
"git.filemode.symbolic_link": "Nasc siombalach", "git.filemode.symbolic_link": "Nasc siombalach",
"git.filemode.submodule": "Fo-mhodúl" "git.filemode.submodule": "Fo-mhodúl"
} }

View File

@@ -1384,4 +1384,4 @@
"actions.runners.status.active": "Aktív", "actions.runners.status.active": "Aktív",
"actions.runners.version": "Verzió", "actions.runners.version": "Verzió",
"git.filemode.symbolic_link": "Szimbolikus hivatkozás" "git.filemode.symbolic_link": "Szimbolikus hivatkozás"
} }

View File

@@ -1199,4 +1199,4 @@
"projects.type-1.display_name": "Proyek Individu", "projects.type-1.display_name": "Proyek Individu",
"projects.type-2.display_name": "Proyek Repositori", "projects.type-2.display_name": "Proyek Repositori",
"projects.type-3.display_name": "Proyek Organisasi" "projects.type-3.display_name": "Proyek Organisasi"
} }

View File

@@ -1117,4 +1117,4 @@
"actions.runners.status.active": "Virkt", "actions.runners.status.active": "Virkt",
"actions.runners.version": "Útgáfa", "actions.runners.version": "Útgáfa",
"actions.runs.commit": "Framlag" "actions.runs.commit": "Framlag"
} }

View File

@@ -2383,4 +2383,4 @@
"startpage.license": "Open Source", "startpage.license": "Open Source",
"startpage.license_desc": "GitCaddy è open source e costruito sulle spalle dei giganti. Basato su Gitea, migliorato per l'era dell'AI.", "startpage.license_desc": "GitCaddy è open source e costruito sulle spalle dei giganti. Basato su Gitea, migliorato per l'era dell'AI.",
"based_on": "Basato su" "based_on": "Basato su"
} }

View File

@@ -3654,4 +3654,4 @@
"git.filemode.symbolic_link": "シンボリックリンク", "git.filemode.symbolic_link": "シンボリックリンク",
"git.filemode.submodule": "サブモジュール", "git.filemode.submodule": "サブモジュール",
"based_on": "ベース" "based_on": "ベース"
} }

View File

@@ -1352,4 +1352,4 @@
"startpage.lightweight_desc": "최소한의 자원, 최대의 성능. GitCaddy는 Raspberry Pi부터 엔터프라이즈 서버까지 효율적으로 실행됩니다.", "startpage.lightweight_desc": "최소한의 자원, 최대의 성능. GitCaddy는 Raspberry Pi부터 엔터프라이즈 서버까지 효율적으로 실행됩니다.",
"startpage.license_desc": "GitCaddy는 오픈 소스이며 거인의 어깨 위에 서 있습니다. Gitea를 기반으로 AI 시대에 맞게 강화되었습니다.", "startpage.license_desc": "GitCaddy는 오픈 소스이며 거인의 어깨 위에 서 있습니다. Gitea를 기반으로 AI 시대에 맞게 강화되었습니다.",
"based_on": "기반" "based_on": "기반"
} }

View File

@@ -3043,4 +3043,4 @@
"git.filemode.executable_file": "Izpildāmais fails", "git.filemode.executable_file": "Izpildāmais fails",
"git.filemode.symbolic_link": "Simboliska saite", "git.filemode.symbolic_link": "Simboliska saite",
"git.filemode.submodule": "Apakšmodulis" "git.filemode.submodule": "Apakšmodulis"
} }

View File

@@ -2100,4 +2100,4 @@
"startpage.license": "Open Source", "startpage.license": "Open Source",
"startpage.license_desc": "GitCaddy is open source en gebouwd op de schouders van reuzen. Gebaseerd op Gitea, verbeterd voor het AI-tijdperk.", "startpage.license_desc": "GitCaddy is open source en gebouwd op de schouders van reuzen. Gebaseerd op Gitea, verbeterd voor het AI-tijdperk.",
"based_on": "Gebaseerd op" "based_on": "Gebaseerd op"
} }

View File

@@ -2115,4 +2115,4 @@
"startpage.platform_desc": "Zbudowany dla ery rozwoju wspomaganego przez AI. Ustrukturyzowane API, odkrywanie możliwości i inteligentny kontekst dla narzędzi AI.", "startpage.platform_desc": "Zbudowany dla ery rozwoju wspomaganego przez AI. Ustrukturyzowane API, odkrywanie możliwości i inteligentny kontekst dla narzędzi AI.",
"startpage.license_desc": "GitCaddy jest open source i stoi na ramionach gigantów. Oparty na Gitea, ulepszony dla ery AI.", "startpage.license_desc": "GitCaddy jest open source i stoi na ramionach gigantów. Oparty na Gitea, ulepszony dla ery AI.",
"based_on": "Na podstawie" "based_on": "Na podstawie"
} }

View File

@@ -3288,4 +3288,4 @@
"git.filemode.symbolic_link": "Link simbólico", "git.filemode.symbolic_link": "Link simbólico",
"git.filemode.submodule": "Submódulo", "git.filemode.submodule": "Submódulo",
"based_on": "Baseado em" "based_on": "Baseado em"
} }

View File

@@ -3726,4 +3726,4 @@
"git.filemode.symbolic_link": "Ligação simbólica", "git.filemode.symbolic_link": "Ligação simbólica",
"git.filemode.submodule": "Submódulo", "git.filemode.submodule": "Submódulo",
"based_on": "Baseado em" "based_on": "Baseado em"
} }

View File

@@ -2987,4 +2987,4 @@
"startpage.platform_desc": "Создан для эпохи AI-ассистированной разработки. Структурированные API, обнаружение возможностей и интеллектуальный контекст для AI-инструментов.", "startpage.platform_desc": "Создан для эпохи AI-ассистированной разработки. Структурированные API, обнаружение возможностей и интеллектуальный контекст для AI-инструментов.",
"startpage.license_desc": "GitCaddy имеет открытый исходный код и стоит на плечах гигантов. Основан на Gitea, улучшен для эпохи AI.", "startpage.license_desc": "GitCaddy имеет открытый исходный код и стоит на плечах гигантов. Основан на Gitea, улучшен для эпохи AI.",
"based_on": "На основе" "based_on": "На основе"
} }

View File

@@ -2190,4 +2190,4 @@
"actions.runners.version": "අනුවාදය", "actions.runners.version": "අනුවාදය",
"actions.runs.commit": "කැප", "actions.runs.commit": "කැප",
"git.filemode.symbolic_link": "සංකේතාත්මක සබැඳිය" "git.filemode.symbolic_link": "සංකේතාත්මක සබැඳිය"
} }

View File

@@ -1161,4 +1161,4 @@
"actions.runners.status.unspecified": "Neznámy", "actions.runners.status.unspecified": "Neznámy",
"actions.runners.version": "Verzia", "actions.runners.version": "Verzia",
"git.filemode.symbolic_link": "Symbolický odkaz" "git.filemode.symbolic_link": "Symbolický odkaz"
} }

View File

@@ -1734,4 +1734,4 @@
"actions.runners.task_list.repository": "Utvecklingskatalog", "actions.runners.task_list.repository": "Utvecklingskatalog",
"actions.runners.status.active": "Aktiv", "actions.runners.status.active": "Aktiv",
"git.filemode.symbolic_link": "Symbolisk länk" "git.filemode.symbolic_link": "Symbolisk länk"
} }

View File

@@ -3664,4 +3664,4 @@
"git.filemode.symbolic_link": "Sembolik Bağlantı", "git.filemode.symbolic_link": "Sembolik Bağlantı",
"git.filemode.submodule": "Alt modül", "git.filemode.submodule": "Alt modül",
"based_on": "Dayalı" "based_on": "Dayalı"
} }

View File

@@ -3185,4 +3185,4 @@
"git.filemode.submodule": "Підмодуль", "git.filemode.submodule": "Підмодуль",
"startpage.license_desc": "GitCaddy має відкритий вихідний код і стоїть на плечах гігантів. Заснований на Gitea, покращений для ери AI.", "startpage.license_desc": "GitCaddy має відкритий вихідний код і стоїть на плечах гігантів. Заснований на Gitea, покращений для ери AI.",
"based_on": "На основі" "based_on": "На основі"
} }

View File

@@ -3727,4 +3727,4 @@
"git.filemode.symbolic_link": "符号链接", "git.filemode.symbolic_link": "符号链接",
"git.filemode.submodule": "子模块", "git.filemode.submodule": "子模块",
"based_on": "基于" "based_on": "基于"
} }

View File

@@ -3299,4 +3299,4 @@
"git.filemode.symbolic_link": "符號連結", "git.filemode.symbolic_link": "符號連結",
"git.filemode.submodule": "子模組", "git.filemode.submodule": "子模組",
"based_on": "基於" "based_on": "基於"
} }

View File

@@ -30,26 +30,48 @@
</div> </div>
</div> </div>
</div> </div>
{{if .PinnedOrganizations}} {{if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "promotional"}}
<div class="ui container tw-my-8"> {{/* Promotional format: show marketing content */}}
{{if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "promotional"}} <div class="ui stackable middle very relaxed page grid">
{{/* Promotional format: large cards with prominent display */}} <div class="eight wide center column">
<div class="ui two doubling stackable cards"> <h1 class="hero ui icon header">
{{range .PinnedOrganizations}} {{svg "octicon-flame"}} {{ctx.Locale.Tr "startpage.install"}}
<a class="ui card" href="{{.HomeLink}}"> </h1>
<div class="content tw-text-center tw-py-4"> <p class="large tw-text-balance">
<div class="tw-mb-4"> {{ctx.Locale.Tr "startpage.install_desc"}}
{{ctx.AvatarUtils.Avatar . 96 "tw-rounded"}} </p>
</div>
<div class="header tw-text-lg">{{.DisplayName}}</div>
{{if .Description}}
<div class="description tw-mt-3">{{.Description}}</div>
{{end}}
</div>
</a>
{{end}}
</div> </div>
{{else if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "regular"}} <div class="eight wide center column">
<h1 class="hero ui icon header">
{{svg "octicon-dependabot"}} {{ctx.Locale.Tr "startpage.platform"}}
</h1>
<p class="large tw-text-balance">
{{ctx.Locale.Tr "startpage.platform_desc"}}
</p>
</div>
</div>
<div class="ui stackable middle very relaxed page grid">
<div class="eight wide center column">
<h1 class="hero ui icon header">
{{svg "octicon-rocket"}} {{ctx.Locale.Tr "startpage.lightweight"}}
</h1>
<p class="large tw-text-balance">
{{ctx.Locale.Tr "startpage.lightweight_desc"}}
</p>
</div>
<div class="eight wide center column">
<h1 class="hero ui icon header">
{{svg "octicon-code"}} {{ctx.Locale.Tr "startpage.license"}}
</h1>
<p class="large tw-text-balance">
{{ctx.Locale.Tr "startpage.license_desc"}}
</p>
</div>
</div>
{{else if .PinnedOrganizations}}
{{/* Show pinned organizations */}}
<div class="ui container tw-my-8">
{{if eq (.SystemConfig.Theme.PinnedOrgDisplayFormat.Value ctx) "regular"}}
{{/* Regular format: icon above, title below, description below that */}} {{/* Regular format: icon above, title below, description below that */}}
<div class="ui four doubling stackable cards"> <div class="ui four doubling stackable cards">
{{range .PinnedOrganizations}} {{range .PinnedOrganizations}}
@@ -88,7 +110,7 @@
{{end}} {{end}}
</div> </div>
{{else}} {{else}}
{{/* Only show promotional text when there are no pinned organizations */}} {{/* No pinned organizations - show promotional content as fallback */}}
<div class="ui stackable middle very relaxed page grid"> <div class="ui stackable middle very relaxed page grid">
<div class="eight wide center column"> <div class="eight wide center column">
<h1 class="hero ui icon header"> <h1 class="hero ui icon header">

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,75 +1,75 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>GitCaddy API v1 Reference</title> <title>GitCaddy API v1 Reference</title>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<style> <style>
:root { :root {
--scalar-color-1: #609926; --scalar-color-1: #609926;
--scalar-color-accent: #609926; --scalar-color-accent: #609926;
--scalar-background-1: #ffffff; --scalar-background-1: #ffffff;
--scalar-background-2: #f8f9fa; --scalar-background-2: #f8f9fa;
--scalar-background-3: #e9ecef; --scalar-background-3: #e9ecef;
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
:root { :root {
--scalar-background-1: #1a1a1a; --scalar-background-1: #1a1a1a;
--scalar-background-2: #252525; --scalar-background-2: #252525;
--scalar-background-3: #333333; --scalar-background-3: #333333;
} }
} }
.api-version-bar { .api-version-bar {
background: var(--scalar-background-2, #f8f9fa); background: var(--scalar-background-2, #f8f9fa);
padding: 8px 16px; padding: 8px 16px;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12px; gap: 12px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-size: 14px; font-size: 14px;
border-bottom: 1px solid var(--scalar-background-3, #e9ecef); border-bottom: 1px solid var(--scalar-background-3, #e9ecef);
} }
.api-version-bar a { .api-version-bar a {
color: #609926; color: #609926;
text-decoration: none; text-decoration: none;
padding: 4px 12px; padding: 4px 12px;
border-radius: 4px; border-radius: 4px;
transition: background 0.2s; transition: background 0.2s;
} }
.api-version-bar a:hover { .api-version-bar a:hover {
background: rgba(96, 153, 38, 0.1); background: rgba(96, 153, 38, 0.1);
} }
.api-version-bar a.active { .api-version-bar a.active {
background: #609926; background: #609926;
color: white; color: white;
} }
.api-version-bar .back-link { .api-version-bar .back-link {
margin-right: auto; margin-right: auto;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="api-version-bar"> <div class="api-version-bar">
<a href="{{AppSubUrl}}/" class="back-link">← Back to GitCaddy</a> <a href="{{AppSubUrl}}/" class="back-link">← Back to GitCaddy</a>
<span>API Version:</span> <span>API Version:</span>
<a href="{{AppSubUrl}}/api/swagger" class="active">v1</a> <a href="{{AppSubUrl}}/api/swagger" class="active">v1</a>
<a href="{{AppSubUrl}}/api/v2/docs">v2</a> <a href="{{AppSubUrl}}/api/v2/docs">v2</a>
</div> </div>
<script <script
id="api-reference" id="api-reference"
data-url="{{AppSubUrl}}/swagger.{{.APIJSONVersion}}.json" data-url="{{AppSubUrl}}/swagger.{{.APIJSONVersion}}.json"
data-configuration='{ data-configuration='{
"theme": "default", "theme": "default",
"layout": "modern", "layout": "modern",
"showSidebar": true, "showSidebar": true,
"hideModels": false, "hideModels": false,
"hideDownloadButton": false, "hideDownloadButton": false,
"defaultHttpClient": { "defaultHttpClient": {
"targetKey": "shell", "targetKey": "shell",
"clientKey": "curl" "clientKey": "curl"
} }
}'> }'>
</script> </script>
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script> <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
</body> </body>
</html> </html>