From ece80a8153d3af2e3c66ecf3d1d8dfbc22873980 Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Thu, 13 Aug 2026 12:00:00 +0000 Subject: [PATCH] feat(wiki): accent color + favicon (#0050) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Set the blue Docusaurus-style accent (#2b6cb0 light / #63b3ed dark) via injectCSS on the app UI — the login page is excluded because Wiki.js renders it without custom CSS, so a dark login card is not themeable and is left as-is. Mount the ThreadNet favicon (favicon.ico + favicon-16/32 PNGs the browser tab uses) from the platform-branding ConfigMap via subPath, overlaying only those files. --- .sourceignore | 3 +++ apps/production/branding/favicon.ico | Bin 0 -> 24279 bytes .../branding/favicons/favicon-16x16.png | Bin 0 -> 709 bytes .../branding/favicons/favicon-32x32.png | Bin 0 -> 1740 bytes apps/production/kustomization.yaml | 3 +++ apps/production/wikijs-config.py | 13 ++++++++++++- apps/production/wikijs.yaml | 15 +++++++++++++++ 7 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 apps/production/branding/favicon.ico create mode 100644 apps/production/branding/favicons/favicon-16x16.png create mode 100644 apps/production/branding/favicons/favicon-32x32.png 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 0000000000000000000000000000000000000000..bd78d50db23b42751fbedb52bb4b08bdb9de47af GIT binary patch literal 24279 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 P7a1AR2Zi*1l+ynI(IxA% literal 0 HcmV?d00001 diff --git a/apps/production/branding/favicons/favicon-16x16.png b/apps/production/branding/favicons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb0a8028bce5c49c95f6225c423591b0c562d37 GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&Rm5z@+c#;uvBf zcr?g1BREjR?)kmh-zRe4cy$QZn72I|@vrH%gj_3N#a;>u10HuwnfYX`w%T2mjPA zdU??+{=SBJmxF}rb>#yujBiZ<^$qVL?SzT}Af-JN%KMcUSR&#g~mta(0X?cc(^Hb&Pn z49ns(&DPEQwab3;+4mK#3pgIVI^f`4d}P-V$!%4${G_Iq`JddlZsyMKjOo`urdpj9 kfBbRR{EX|q|1>}9f8~3)U;9D)J5UnxboFyt=akR{0M&mqc>n+a literal 0 HcmV?d00001 diff --git a/apps/production/branding/favicons/favicon-32x32.png b/apps/production/branding/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..cb916c69aedd28df7b7daf7b104d797a68e77a79 GIT binary patch literal 1740 zcmV;-1~d7IP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$_Hc3Q5R9Fe^R%>h&RTQ54n8(iU z+CsN1E#MZYrGg|vfuKBWDfF?l0#S?sV-%vGMof$l^pBWmG$cL|MS?$&KMEQ_p|r)) zf>;u;M8Tp$AwXe)mTqZx+qpAyXT~#&TS|eZ{L&xX?99FQ-0z%w?m6GNvx0E9-HpJ1 z904?t{f`zE<=PIvS8$x0@D|7uQ%ogUd>^cp^EBH`omr>4no&G6zfE`4U1okaq|Wnvo{T54JM)dB(2YFZSJ}zj==X zM~m`vGi3E$jBt^Jk*Yhk#vOZyW>^PPBL$Ul@Cyvu`)v(sxS5?*MI#WOEp<$GYcuMvD=0p`V%_|y_ z;)px_l#cE&%z9w*F^SL#gCzM$!7;KLqgP8kl5H896Z7~6RmhlxE;06AtET;6+m;Q~ zYs;&vYjTZWEDx7Z0nf1n1iu6^uwRr!N6;t2^3*dWv*)ME%Ew(6{|n}Th34USMXDl> zZe`m0i@K^-*VPI9lk9Byu`$^jhN_-t^i=O7p`BGPK?ysq7OFHEC=fb6%1B&!CMM!AVjRuL}EZwqCW$vt)hBFyM4ss+8zIJ!2 zMsGz#iD6on4GOuy^4u1tZ8{#)=Cx2ty@amxQaVzm^rCoKa&QraW{YYG%DoIMrFxDS#k7Uma+nH-iW4E0pTW3P4mux4FZtDGd@XNe!O`0?D|==hF!OHjf{kl(UU#F zEZ`<^_Zt5b9Eft`BbAVH4-r>w&CC0GYA}#56SCMZiVK01=eVH1Js~AHP9kIrC=T~v zEW}LX`%c5ykgj;PrHkrHuy?wX>2D48C|gJRynEW1{vkNBUr>EH)&_UMdbnta#`PyU z87pjN{Mk#UeF%)}8LGF0+4e8l)ivAOSoeeu!zhd!`gg72aL&o%;&CDta&*h$SD5x1 zoSi{cc)_2<;S(>{OYj6k8LFM8Fez&2o4O2h>n|rx{rv2iGi=|?nIqvw9340Lr&+uA zY;*C+)*LQ=C#thDrkS6)GE?ADB%swpylOf0DFK1FCl}h8UJtq-{8?D|BSvUFd}U4p z{Q8IEd|By7K0;<*V%i(IRW+5#4cs2ml9E3x*a%r`JK5S^@bJNd(cbIHaczFSGS=_i zlPc2bQPbE5VLyrCW`mGNT3LMKc({0ySm@p8+t-)?Bexvojt;!8PhBS!n!_b41B$%1 z!!-YZFm6YJ%_+qQ{)jZ6h_P?rKS2C!S@Cn3vS(wfu6>ocvuX+GT1oxe^*s*U4v>_u z0gso=Eq&EP@M{VoL09e`K?Fj!n??h-?L7*i%RppCw9ZL=PV2&N*#_)DQoA-kFOaPU zGfZkDY;r;|S*%jJ0v-{r@Mv7OmWL`UZ{SH%_g4KKJ8&x_zZDdWBO)GYa_!i}z4d2r ig}E!c8-f3A1pWaoJDSxk+*0fS0000 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