From 725e9972aa231908a50e632212b70a6cf4a4973e Mon Sep 17 00:00:00 2001 From: Michael Harp Date: Wed, 12 Aug 2026 11:10:41 -0400 Subject: [PATCH] Add favicon set using the official OpenVox hexagon sticker Every page was 404ing on /favicon.ico with a blank tab icon. Uses the OpenVox hexagon sticker (voxpupuli/logos) so the tab icon matches docs.openvoxproject.org, but vendored locally instead of hotlinking GitHub raw like docs does. The upstream sticker SVG is 244KB with an embedded raster, so it's rebuilt as a 1.9KB vector: hexagon polygon in the official orange (#eb8521) plus the official openvox_bildmarke fox path (identical to the site header logo path). - favicon.svg: the vector sticker - favicon-32.png: fallback for Safari, which lacks SVG favicon support - apple-touch-icon.png: 180x180 on a solid light background with rounded corners, since iOS touch icons should not be transparent PNGs rasterized from the same SVG with macOS qlmanage. Addresses the favicon finding on #14. Co-Authored-By: Claude Fable 5 Signed-off-by: Michael Harp --- _layouts/default.html | 7 +++++++ apple-touch-icon.png | Bin 0 -> 9561 bytes favicon-32.png | Bin 0 -> 1512 bytes favicon.svg | 9 +++++++++ 4 files changed, 16 insertions(+) create mode 100644 apple-touch-icon.png create mode 100644 favicon-32.png create mode 100644 favicon.svg diff --git a/_layouts/default.html b/_layouts/default.html index dd186a4..8e9e14c 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -3,6 +3,13 @@ + + + + ihb$mWCoW1{nqb0KisOlGA=2+y4_Zl-H~H3<~e-0QA&WlmRr( zQXIbC2z@eCwpCXLu)faG0Kiy#0MdUZuR``J0006Q;eR#lV8s8M|M$?FvRxJcV3<>u zlh*YEo|vHq5x}lWt^wiv2uQk4y7uv5(I1h4ClJ2~zD-sjJ^m50v!i4OOz z%ZF)dC)MU}lAqw) z=4uPM+p{N%urO3)6fHMP8q5H&BGpO*Led~M8jl2?wQ@S50!5gcZ1cr1)+wh)f|P73 zrfNK)w9j(n_mJsPAey(5WvU5MpEg3n>;#_et9jNQAgZ^OuX75)Y}!Fy+Py`WgH<&C zGJqUMiVz(e zga%GP<@j71B4eO$A!4dL2_sE`f(gf+c;F<~jUauZ_Un+5gvAyq>^9)SK%8GX2;dYJx(+-13;BEcP)N-v(>{ueT;+)tW zMRZiu3Ppx!qdQ=tA1|gbViH*-2US|+gQ<1Rjh>@^Q`NR?%zSAiYD0ndRsp}W3g7;8 z)v0*ELGpK$eIWoqC+R99k`9UniZ=O>4yO?E`xQnvvDIYsTbHTJ=d2OUXTf%+uveql zX$nYliRTA7fNJ}8eoE#G%*)H;cle8T88KKSVt$ZIAGZOd4?m!b-0p-Qg6qT$}=+w%uw;Ifc$@Bm;-Kml`yb56C601Su1@* zW-5B%yv(8&xNJ2hU7SfJ{GX`;cib_&c#xFuXx`at!IA+~x$~wmu__*gh~!I6)mD+H z3&k6OUc|I?gIihn{8frrumon48jz+)hMAgb?Ez3Ptn0=}HyhpT#_ zTAd^wU=-^r#FgF;#zScDlnFh5t^6qG570#j9+MP~{D*VO3d!<|UWH$;6;DQ1cU3e1c6 zVlS_5MwXd*;VFu-nMzl5WT2OT}r>nQUyii{R`{V_)=pw^M0AZapKxA%&|eu9I& z^!>8keCT@{ZI@DW+|RBnsZ|W`=AUq{Jy}7EX@L(@!qQHAXs>q6S>1L|sV-ZcNijHN zYHOV?FzVgxK9l7#^saAO<;(+nGJfHaNlbk4pb=mDcCR_%Z9+;BpNgMNvy~80FFdOE zp5^Hzywx-o?VLOu7U}8fppli9_Ji`2Xfe z>ESzRv+<4E&$-`8kb@5vwpv--)yWu379i2k+Sn8_Wv+ooUg_m*24v&3aMv7;a{SSl zxAi2(7*`x5boCwqt(~rlcWqayprsU2{!pEFgh$Is@q{*G^?6?7X1>C! zm0QJjN2CE~#RJEUR5FrHCQKB+PG=mUyXGy&+gCVvKeiWT$ohD*mX7BLC0x76T`b?< zQ#inSv(CFo$<$e(wY9bU{v&b$q0d1P~7N6}D%PNpq4f9w<5rWK1j1I{F?hnsM| zfLIc-L`{h&{-h%A;*ZwW13UhZOIkHXs65sXLcQlv#rMp#w9?<6x=B)GA)W-{n=LrV zsCr4o^?_)pg6tfAUz9N_n~cy>HAB&#%fH z(Cz_}%xw@>*e9dz1mc2!|9}6_ta&6I)=QmX69>Wlq?3`w-_Y6m(w6Nia6&xvsg3 zYvW7RUVs_w2Km1VedNAPEmEm5yMnIjS ziJ|I>wg6viKR-WVwGP{v{A92Fto^_BQZKF-`;+xSN4v_D)}z9^_JC0lRNneFThL86 z#2a^y5nC9U@fu}Rcb`X1AjR96L%?ZKDX-yW;Vk5Ywq)f_IQ-dp90z%+=hKxfZRDB5 zw`Pq_bJJh8hSle`66<~l+}wFzkJ}w0W}Zn1IsYe7*0+=YqB&azs(-7Du0$6)>gQ$ zwKdF`V_xS+?mBp-@g&V(`aTN(Ws3XemTTAgw~@?De%5B`Td!CCOOxER(3e zWWCPaxx^+Q_vpc7cAh<^*0xoptn%Oh#8|)@wMK4P2jhfF)|iTF4)-I{ZhP4 zQG~lbgE*K+0tLP}keKqm0$4SfFqYE!*{Y7ixYIKC$f@^Vwn^QMIz%1(@(kztG~DI! z&x00G#KIT_?(}o0&j2c4|V&1jY z$WFo4_vq30R6ntc0jJhA*SFamt~C_bHLI+mG?2;KFQYwKe1Xu@j%nF z1?Kj0#0n2Ndhe*YVM%${t8*W7Sr=1JM1A#Zr3`w2@9AYr5dTRQHh5lvF%JmGSRSS{ z`4rq)_ZI+Gzup?XTq9Zi&^L=}8OgOe=8iFblhkob;d^Ev%I$aKiG5gy$%YC?I`y4D zibqBPGgfpv&)r2PQ<;Ac^14N_o_VHN^`GC-c=lKpCR=F;Gw$YDg!={1a;z51qj%{y z{j3Kz;s4nnuQn_V=ntNxG7$@@H%2DYPn^Wy6GFmWei2%3lwnDz&cK?rQpJ2u+Nwb)u=|sUGn|IgFPpooGfw1gg<1sDMO-~Sj%kKRae|Hsh3=K)<)sM8zb2`c2XMU5$Kn*XOs}exW4=6P znM(Q2YL@8~hIEBEZ^di-ZhIH?er-o+@Hp%X7QTKY{@xp3apZ2$IYbUwJZU9UnKZN1 zlxli%64qbZS$~N;jp2SN&_kJjuPT&RZpu3#75O1onAqvNN2Z<6oahkWxn?XoNt`3e zEEzSany>r48PuS!4ZXLCt^GYq$!P%B_jm5)g{98IEXem_lJDB&5jLAA=hrBl8|L@0 zinZS^i;bdFOMk21=)X#E=Fzwb3N-nOy!o_gA2P;!Q)5=n8>=H;>#@?Tj&bep17;;0 zNoSR1*^fU=D9T2|gClc&>DpeO2Wyf92I+?-aQEKb{`U8pLsi~0j7Onh^WXpX4gC7@ zo_ENr@zm6O8l}9La;CTiZ7OvD$iq-&SSs7^-_FT1^990XyXHQ#Hb#{f#qNsr=}PZ1 zmm@z2?3QWmadm2g8@khGm2nL&>3$Hh+M2**G>Sp$4MObG`KR`8hdT@>xhc<_XFuMI z(mgKi*KS#H^t_BN2!8(<&{$9tN6N>fT_n)af3OIVti-39vgNu zMw-BYNw!rFegy_*0{)X1b1aqNU#>kvLOcX9KpS6w=O{)-}Tc+!Qkw(Wb!lh3q+NVJHJh0_@hTE@J`FQ;Nr@-nJcvH7e4uX_qs2?JQ#)p4(|>6^xp^5U6m4m-FrzA= z2D5LyrABn-yZL!g?27U{!)#eT&Cea3gt-G1O;dmAnjK?>l0KsifO5G0ise;_#Wb`g zI6_ZSqWMl@ER92z%2g^(+$;La%3&cnr5^@|K!Y8=Hr$$72+7R261TzD=aE+YBF{WG z(l7JRrdgL*UGUw%NkfIo9N3qc?iYnN{`=## zrHH}5g*?p7^+Df5<>o?)>sM+!?&PZ$^)HA3%f*+Zt6U+L9Ze>+!GnY#H)Me>lSSf} zYlE)>yWyTuOB55d1m(-xI*3__`yKWq3JzaIcCLQ~gl)~XvWj9!0@|$0U05z5`@5i>dtwm(q(&Ny~W$;Vo)^@i3l0iJG-3ClfR!y@Rf1yC3M^o zu}(Pgr=r8nvh-dgGTRaoV=(_A;^!&3`LCVGpZ5-I$K3=VapEU)uoY0+zmvKFAR8bU zXVNUx&IHZ{jhgz(4w#y$a4%n$z(QkyXYOmDh#!0j%rsty~+^r{^o_1VBDLA7-+j0LHeIB=hC zWYToDv&l6SR~jH`e>`(cKNwu=z9hOUto!P&)%A zsv0d+K*$FQ(_$?DRw{1dO%ZDbjJ#m#s}@&=Hd$C=q7x;gPYPLLgpWab>wM}z_9L^u zT|!#;Y2Y&*K;5hw*d+bs6Fg-7g7WTPKnil}QL;pE5AFgQ|C`cLm0#?8m+WZ1?E=W> z@%0j1uibISTXITY-v{zSVp(lcR5f}i-pEUPTX$g*KA?gIIzOPlDRI(Lw;Ahjm6Bj( zruS4|{H4Smi7c^yPM&FMuAh4`0P(?an`d1>X~jc=3DR~}rz$zH5|k-=w#`-#%@Z9kkLy>)F((d| z0Fqj}ctCn-^{JAL^%>P>$g~#%cH%c@4$}gojs#hxn$6?zOA_evw$<_DJv!NiI)=JM zfrfPtznnY?o^JEelS?{+&85%q)#6p226$M>0N;;J>2Lrm%HWb#({s=J9_9l9Oot&V}@&`MvL(q|wZ8 z1ZB{SV|$oD2dxA#g#k;}hw5i8$CT$))m~R^NT|rn$R}I>^e8GE&U_3he7YwPSfWD` z91!Eg+@pT2hf{5(HE;|Cfoa|}LzPP15~mD~_tJ4qNW74KeJGW18A>zBEQyp_jTUSB z?YY6YJsHu>^xODRI470`nT#H%W0Wx5e9Yxf?SQpE4=67SUt2Ftir#zq@7l+M03voF z|8|18yb&$UD!VD(C#t+Gz|pu`Uv~LNxoGZ=;FYzP8?=|Sb0!eW@`Ve9#^0=?$85dzoNFaaLqDqwI*A|Qnc4js#wuwyhmTSN2RT*i) zHx(jco?BDJ>Orac+o6MY?jBc8_fx}$isd2U^E%N5p~RUJ7oWwgGcDN59fN8&{N?9! zHX9@Cy#3v4(C09ANHunaqqH~!S&NHnY_z?>cPL(;%hXNpt^V;{To38ta}Ha{A4?f; z0x9Oujyok&?d?EV#gJ_yRs`I`x4JSGXC6sTSj2>+Ey~U zKi?d0t?VTg{)jbt(b%`Ztzp%o84=nuq)==(oe&Y7w3M3_F@hs+F(kn6g;7u3OQ ze_h(Yf5mwC)68ktWCT*mCL_;ql%X76Aty9+n^$q@IH|s^w+({`Lf2X0&5m8Y821S@G-FTuEWkE@y+g=Fw-x}jV9P;R+jVVr*? z{@g+K4Fo~`IRqfv2(seJKm7n}3R(vBMO)mHQS+e-$UGJwEv+zCJ+)zKJQ}d+s(YRL zoP6TiRSp`=m5ffis1SRHe;8P*4ekcv-vQ@-TXhYlPd4(~_Jm0pHXo04?%D4})MT`_wx(DM0I+iK&22WkT7-G1+RLjyE{kybb(S4#n^Yx zd-~|GlbbW#@d_!EB)XBdLPC%!P6y(qXx6#sW>E{(1Z&-!kU!y_Q>UGR zF_}ls0$97fzx>mLASUXogMOt!o`m6dm3qiVUP$%G=M(^z8;KP6&M$heKWY=}xEltl z^sb-Fsv8Mk@IiA~51kaLBJCWK1iwUyEYO6!V^Tj6WMeGS>7qNJeteWM>h8Ec>cyhf zs)2vnRw*Mr`RB34gJalzw(>6|G@Gn=?>J$kpxWDxUZnE9iCFtJQ>@Xzy9vcuqhK6^ zzBlsipoi3lk2p%CLSw%V0nEM~hq@sz@72Zk=5 zvqz4`%%Hi8xQz*-QfWxc;?4dWw8dyb41%FGGxSRdl6kxu(mI-QS<~iMz8%!;8uqE_ zl6N~&HRH(o2=nRjPI`6bGw}IHi!>@B39W0mWPku?RQ9(ZzAJZ zyGZS8Ps+9V)Sz=cpKha2`qTEZUZaX+V-0p>Jn8OH0GV%--nHTyWW>2cevagT2}j zn@qo?wSe0S(l)yvd+PbRQzm+Anc>9dtxhZ)CM|{e0)T^Q0(mN4>p-w52vDdh72v$C9F4!^s%9nbTz;&AwK?~sB5$A>vtVy zdf78hg$_NNQ#lm%@<+F&C;xj<1go{#$MJ2#r?TgpT2$gc7xJt-1a>ui62Z>1c zni^&m6499A;AejfoW^Hy`)#)%$YiFIb92?p7QtDzbGgd8`pDvU?c;$ zaq5-#u%A5Qw;H%K?r``4#UCZqF*VG6(26bg^KBvq-Bf10qW9|uKdukUG#B3$IFoZ$ z3wHR{Bh9S2Rqhncn40@v$Lq=f8SuqdUTE|Ay;;AFk0;;+nib5UwNLg?u5~Ryr6cX( z*&GfTGq+T;jPH}}obvWZVmNw>GAJfQKik=qgRYZ{M1C9_>}x+jnwHGqGuRSLP|J7P zNbJwod}LF6KJzT%A%Mym^Bpnwzkf4)XDK5xO$=pR8|QQ-CUWa4|Hfe3^Uh5?Q3VY# zwSn&|q#%)iBC=iqFQGv^xWWBsz zwib*fM4+t0@f6DP5A+K2^G#p03!FO9N>p~=;5w80-$ji5Dc$If)Wtw|(%f{=+J>J7 zo|fA4RV~OTk@sCR!WObDUW4sT!ipgk^y5C+>@aa=-J;uDiZqbdlDQ+PBeqIrFR^P) z_>Y?io>UV0P*x!5yauiB@vQaC;oJ+lyx|IAgpy$Sk!;%+@`oT)R#Y5}F-2hh!y4d; zFa9E^ZOAI)8;&bD6e;}5P0+5{cLD1uO?h7A@FOdM*cOpyGZs1A?4`EDqC5UC9Z$WZxM_nauSDR$}dR- zzLJFmLA*$-STyXNJ_|QQa;5L}M0mCF+ z5>B!zVy3KStRW~LOVroJa`sBSH4R;TpCtuBjQvJuSw|gm9*$SF+HX#()&c({u&CPa z(D!`y3T;30MfdKH(4Dm~6>C`*89wGEsj)zhXwH5PDDqr68xEQ~xBk2p!_~RT24&Fi zTNOdDEQ`!~ee|Z?8rIr7{c-tDa*e^T@aKT>F)`D?mCOgAFvU$nY)x)D@uVu^G5UlDN zb%U(Q@?Z-om1n_bl4dY)E&| zs8@Fd8v{%IkW$u}qTZ?FL02NlC{3Y22unrIcQd#P0WRlOR}n9aM@FCqOw?eT;g}~s zVEeM(Z$~qLFwai25s?khIobLmnA9tfzk_92_uZ*Q>SRP-v^A<(qXJbbA5ejrx+{e0 zfE23*fPb#+Iex>r7n)A7FXis;F04j~?$NGG&J8OlBds#77K?VFwWG}+JY=7F<|%4L zYSv(I`e0QgE&U~$<;Ry$y|XKi)X|e!On%*DI_avix)5fIeroL;^&);FJS^q@DVnd#qY7=Cev#f7==}| zU^i1yJP`0xRGrE*46&{^TxSY7zk!lr#uvwJE?fto6YRJthFleJdu&v|cC=VqJ|t2? z%`KI4z41q`=QlU1Wh18W;2&mUklNz>>NYnnr3jC(aGq7&Z<4BBDdCqECMr9_eTMji z1kZy2|8#2#t$K29E}kq*exKbPJX1Hxlhq#8!*=Js&eOB?UGcgE=`3tP1P(j)b9wrwb&@~XAPky4Eqae@Vvd70$gvibD-+2rnKpsIY z*%2QZ27lER_s~U!M8l99=|Inn0`6VT>r!6x-j1EqC>9y?`_(_l4VThLoNHL@hpwygb;0 z2s^YJAX7BAVo%E0*sAFw{vF5;V4KhDxbsy3yYobm4FlffRe!2n_hmx0%-1Ol!l@x$ zy7PYBXc7{PYA{JWSoQF-=sn;#I8xuj7QRl*n*IGacZ0C?<{92cU4<|_dNAzmE>C!8h~f15x5r_kcanQ0tsN4o xA$P<$L-+_cz?V#<_(yTH2MuF()9vvWM0NbP)Px#IAvH#W=%~1DgXcg2mk?xX#fNO00031000^Q000000-yo_1ONa40RR91AfN*P z1ONa40RR91AOHXW0FO>U$p8QaUP(kjR9FeER}E}aRTTdEyLRp9*w!)`5J5(8z{X_Y z7D0_9TVfD86bTw-CSxi?2@DYekr77_CX4);$wq`kW6;fYn#kNlM1(C0$SAP!BZ@HC z=qTIh?m$PDTY_ zu~@LFVjT|uXhLa@7td#Cgt`&OKb*B==P?;(6d18`O*sq(LqyrI02qcr?XGIn?)VtS zbOvwasGwHFwp^SZA3i_kg6U!$ic8B-T=Eu_O64FRg8(!)H=|V^MwdHVzGp!GYg?=UBW&8GM*JQW>IH zb+8W`T5h4N@g^4R?H1ZXXAgtaAu{ay)5gztkhwSaSwd{^OfsM!mOow%xiq-*g8<}% zL#dSeBSDR{U3TN>-@!st(>lPV$v|qs`5O$(*W7shiypF5;)OoLjwOL<$RJdr`5MJlI z(+;@ruxK>f;UH_{OgDo$wbyaryc7K{A1Z(D!!H+uQQ{S&4DJgcdqf<@rYJZQ1H?(o zIS0(7;?Z@w^xIxo9X^hisP>y`{l~@0MDZEIx-S4KJwH1%4KGa4fGlY430Qk}tQsYG z{%CDG)CUSy42c3ja~nwQPb2~vsY-4K$cc8*v;=IMn}T$`0>A#{4?kV7xm8zC(QM@w zXEY$9%3NBa9MeauaQKo7j2HO+j2&|`wYYN2gGJ=4#~J)3cIC{Wpa)WW7sEw|7N6y& zUbHMui-T{*Ne*8DR?y}Az)YZTXY1dMPV9fA<9aN!+H|- zG@UG@V2Sol1Y-g~7vgZ@j8f+f5B8n7jky=`QgAJYE*f=UkviW;7C}!9(o4^Ry1KyT^AlJ<6lD|M=HU z&RyPZaMajz5S{8gyjIVE?%zn1u2;p&W;s8e(qCKRqtP^nyaXzor~|ySDf{k-8ll zIUEj_TtwNd^fY$U90R-AXkaIg8^O&{UaS-|fPjOpt}b@*qN4wOJ^v2^>Tt>wy-rO4 O0000 + + + + + +