diff --git a/.sourceignore b/.sourceignore index 3ebf04e..1ba9dc9 100644 --- a/.sourceignore +++ b/.sourceignore @@ -4,3 +4,6 @@ # so re-include them. Negations are evaluated after the defaults. !apps/production/branding/logo.png !apps/production/branding/alpenglow.jpg +!apps/production/branding/favicon.ico +!apps/production/branding/favicons/favicon-32x32.png +!apps/production/branding/favicons/favicon-16x16.png diff --git a/apps/production/branding/favicon.ico b/apps/production/branding/favicon.ico new file mode 100644 index 0000000..bd78d50 Binary files /dev/null and b/apps/production/branding/favicon.ico differ diff --git a/apps/production/branding/favicons/favicon-16x16.png b/apps/production/branding/favicons/favicon-16x16.png new file mode 100644 index 0000000..8bb0a80 Binary files /dev/null and b/apps/production/branding/favicons/favicon-16x16.png differ diff --git a/apps/production/branding/favicons/favicon-32x32.png b/apps/production/branding/favicons/favicon-32x32.png new file mode 100644 index 0000000..cb916c6 Binary files /dev/null and b/apps/production/branding/favicons/favicon-32x32.png differ diff --git a/apps/production/kustomization.yaml b/apps/production/kustomization.yaml index 451d674..d73b1df 100644 --- a/apps/production/kustomization.yaml +++ b/apps/production/kustomization.yaml @@ -97,3 +97,6 @@ configMapGenerator: files: - branding/logo.png - branding/alpenglow.jpg + - branding/favicon.ico + - branding/favicons/favicon-32x32.png + - branding/favicons/favicon-16x16.png diff --git a/apps/production/wikijs-config.py b/apps/production/wikijs-config.py index cf0c24d..182c531 100644 --- a/apps/production/wikijs-config.py +++ b/apps/production/wikijs-config.py @@ -47,6 +47,17 @@ ADMIN_PERMS = [ ] READER_PERMS = ["read:pages", "read:assets", "read:comments"] +# Akzentfarbe fürs App-/Inhalts-UI (#0050): blau wie das alte Docusaurus. +# Gilt NICHT für die Login-Seite — die rendert Wiki.js ohne Custom-CSS. +ACCENT_CSS = ( + ".v-application a{color:#2b6cb0}" + ".v-application .primary--text{color:#2b6cb0!important;caret-color:#2b6cb0!important}" + ".v-application .primary{background-color:#2b6cb0!important;border-color:#2b6cb0!important}" + ".theme--dark.v-application a{color:#63b3ed}" + ".theme--dark.v-application .primary--text{color:#63b3ed!important;caret-color:#63b3ed!important}" + ".theme--dark.v-application .primary{background-color:#63b3ed!important;border-color:#63b3ed!important}" +) + def log(msg: str) -> None: print(f"[wikijs-config] {msg}", flush=True) @@ -195,7 +206,7 @@ def ensure_theming(jwt: str): 'theming{setConfig(theme:$t,iconset:$i,darkMode:$d,tocPosition:$tp,injectCSS:$c,injectHead:$h,' 'injectBody:$b){responseResult{succeeded message}}}}', jwt, {"t": tc["theme"], "i": tc["iconset"], "d": True, "tp": tc["tocPosition"], - "c": tc["injectCSS"], "h": tc["injectHead"], "b": tc["injectBody"]}) + "c": ACCENT_CSS, "h": tc["injectHead"], "b": tc["injectBody"]}) # Site-Titel (oben links / Browser-Tab) aus der Deployment-Variable — nicht mehr # das hartkodierte "Wiki.js". Reproduzierbar über WIKI_SITE_TITLE. title = os.environ.get("WIKI_SITE_TITLE", "Wiki").strip() or "Wiki" diff --git a/apps/production/wikijs.yaml b/apps/production/wikijs.yaml index 4a14a10..e32cf37 100644 --- a/apps/production/wikijs.yaml +++ b/apps/production/wikijs.yaml @@ -66,6 +66,21 @@ spec: - name: branding mountPath: /wiki/assets/img/branding readOnly: true + # Favicon (#0050): serve-favicon liest /wiki/assets/favicon.ico; der + # Browser-Tab nutzt zusätzlich die PNGs unter /_assets/favicons/. Einzelne + # Dateien per subPath überlagern, ohne die restlichen Default-Favicons zu verdecken. + - name: branding + mountPath: /wiki/assets/favicon.ico + subPath: favicon.ico + readOnly: true + - name: branding + mountPath: /wiki/assets/favicons/favicon-32x32.png + subPath: favicon-32x32.png + readOnly: true + - name: branding + mountPath: /wiki/assets/favicons/favicon-16x16.png + subPath: favicon-16x16.png + readOnly: true readinessProbe: tcpSocket: port: http