From e9104935898ffe3c446dfb441b8d4f351c41f428 Mon Sep 17 00:00:00 2001 From: David Paul Graham Date: Fri, 7 Nov 2025 16:42:49 -0500 Subject: [PATCH 1/5] add SVG favicon --- ninja/static/ninja/favicon.svg | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ninja/static/ninja/favicon.svg diff --git a/ninja/static/ninja/favicon.svg b/ninja/static/ninja/favicon.svg new file mode 100644 index 000000000..4279c04a9 --- /dev/null +++ b/ninja/static/ninja/favicon.svg @@ -0,0 +1,26 @@ + + + + + + From 500a7ab296ae23d70979d9c5f1096afdf04320e9 Mon Sep 17 00:00:00 2001 From: David Paul Graham Date: Fri, 7 Nov 2025 16:43:09 -0500 Subject: [PATCH 2/5] replace existing PNG with PNG that doesn't have the fringe effects --- ninja/static/ninja/favicon.png | Bin 6234 -> 1557 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ninja/static/ninja/favicon.png b/ninja/static/ninja/favicon.png index f7045446bf16db76764743020a2fa7c25401f97c..5166b832ef6ee5c2ca58dc850b951fb2227b5eb4 100644 GIT binary patch delta 1540 zcmV+f2K)KiFqI6DBYyx1a7bBm000id000id0mpBsWB>pF8FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H11)@nrK~#90?VM?-RaF$ne@m_Bl;V&+6U@w~X;LTvws0z4v|)-W-896=KOsB zKI|)8pXc0rhQ04Q2mHh4!M|9_k&?iQu9T+2Nqi@?~ zd4sMYo*Zzo>9G)o%R45L1xw$cq&8FW}ki( zmLT9oU`U2`gM2#CdGePEl_7XM(1Lq%{eTW&Kd=W_5Bx6aXiB{;z_S_MYRcFy5~&F? zvwpyRz@4}uctD*d9cH!;_#RjeER?jnhJFLyBYQ{pWo#D>Nr?(D0hj|E0+ge)150sl z$jAsgPk-dpKR#)n67@R)G2?*Gfs;8Mk1Ia|&*0+Cg}{NFQ+UlW(Qn%zx}0;C0*xQfABzq4c!bd}ZHzEH3_x z2F3uF1EUB(E%^sniOa;tRct3k2QWg?R_|UVOcMJ7Q*cS#C%|_6#f{Ct?NlCCmCdQZ z>V!I$_>Mh^6U7+9x&hY%?*oT(kh2jOR_DR|lt9mnLJ`!d6N7=5frA+cx-o(N(bP^> z_kRMt3rkQ{N1A~TQjoJMh3+qE=y@{~Ig}Jqp|gY)jDOhZO4LWCgsFLQiUV zADJXA044%o*AY##Msy^meh<(yg`U(1GIUGY1>6d}Q9~@vRHh}SelXBxW}lha)hYBP zN67CNc%Jy!aTpkyKu1s9&PI~BwiLIR*MC&FARW`WdU?#;1Ugueo0HJD?>~*Cf64!9NK`%oymbP1dYqt{zu?u+`ing{O;65J8pAyilp_C5&;7A zQL+cf{lKUyeFK4~Nw%t(wtNX((tpsYMx{e}oSs=jcMI-B{ckz+9|Yb7CU(hG!^}qF z)|s=Q6_}<3H+RhJBH$)myqk#Ii8(JqbO*2jmnkm>zLRt)jZ?k}Y61Sp(DWp5rKHt4 zZ1={U5IGfBccdjF3ciQ=0~y=R$wLl+q{G0bJUXJ_`weO$-BKzQ`LU8Vdw+ApBfJjt zl8)g{pryf_qLKq)@}N~IWQAM#D=b0~lx90;k)*W&eDH=41T9Y?8{|ZWPk3K2tK1IU z0-Rq*^cZeeW4~7iJR`)$;c?*O1fq+IP7Z`S^D~?Jqgg4IWJB$&Zo`pO3rj=T_KlF+ zKD}_W@Cgw=?*y6^%D6`aJAGCs=?L%;(V2B?8OVXa=ME*U0cJ-0v@)b!p9p?mOwvc3 z8IRV4w(AQGxwBfiS2iDaBnIGONgIM2_JD?6>NT?gxb@~{p#Rwz)CrRI;r^Y?^0JTv qU2rYj%mzu?(@>*1Q0RN}MZo`z$y;1jg^UrUt>pS1`J?B23dpY-gpZlEOtSn5pIFE9IKp-wN zQ$rizZMy#)WCQ-~KK^b30x=nr&}b_|qqAorb}DMhYQVVc8@#(aubHAO1B-QcXLKpZ zaZ*BT5)+ec+@o8by@s?u>wc;^ojra(0ZGE{kEJP=PoH9;9^t^MgERu>Iu?QMhYCXxe;)}Ge5 zn9-u+wZ*K4C*KQU1c`S%vt+fH(QR2m&4A z+kcoq*9(L}paVN3j3d?2{45Gj_EW+V$T*@>s9yj;4FYNFg$7{pK13=6NAx85>p(w0 zX@){b1Rbb@x;er;08R8FnTAt{w&4~Se7FxDNr39Ol2$YHn;6I zlYReQD679wAZYad!XP2C=2$$*e;-D>M&IVMp+Z3qKZ;e zRzRqt5Qx7>%>id1V5!)DMocD#>fdOV6cP|VSl@p~-It00AS!zh z)d7h=9X{Zp@wLCmLkOWm66hgqGJjfJ3EZ{68KddJa9^mf@ zh5SnzG})I-F((rMn*&_`)o%u*Pzu?DY^TPof6dO!d`QBzVNu*6|M zgz*1MgFtNXf0zHCImrLF{67th_rm&n5`k0;hwf_x-%m<^Ef4&EuiT$w|CYf1CI_^-)n##bN93W>;rk z6kC@VL*?a9YoSn_a5((=GN#<#yfJLucyY{o=z-i-G31vi0R{U|^E{O{^3Ve(gT{8s z!fOs&b)(!Wxg_XKy=Wy~KEAevjvTul1x#6yrfEUz_IBt+i`nt|!05WFD#q8<)e*`c zJ3*N-1RL5&=-k%lDIpSxByV~|LYF^V!C|Og!Z~R0zTIHR+dJm@bs|F(U7ekZ3quv> zKc?AXSjiN%fKDjD;b{7a37#P$w zvcZ<)SQDqUqkcFp6u;5^es;Vu%r*;t-tDgLq_d^NsMK`=+CV?-6-ww|VaXJNp~Mo)Nd( zr?W8)Rm$JWFd$sXne?iO@o@~Tjy(0y_=F!j`cOm2=bL`k{?vun0zACDv&(aHs*5jE zM2%~UZCFfsVdo_xH_~4lZ7vTFU%wLC{b}OKIl-+x*txn;u4AYT&$O?x@ymyJ}v)6*tj||G4WpiT}uhmE)PXbg&^9Z z{5&tXe5bg>3ZBhs^>MUTp#T+hzxvJ`R7y%`=j%tGtBb)VLQx8~pkC+Db&2R7)n23Y zdl1hw+8O9#K|z78L#3Nv@zUeuygYx%O6|&49BWxoJgK+%^7WfNgGu=pmfT`u zV$Qd=wq}idzJ*SRpV_Vj^~?Hyodgv-9$%wCa)a#H_|+lItQK;q{3V4Ne*h{DADyq% zj@;QGnvL7vVY-jGm*Gxls_cmz*eD4woSWi0s#X-dGrar9_X_%wrk>suGmd`bS*o(J z+C?(R4Dn&$UWs%yy{H&eQ&YoxGI&M!u3t0Av_R)#-3k4q82_CBri^a_{oI6w;&YGu z@1HPBH`yw(Z*iX}iWZ|T36ab{fBiU?u$al8BS-U+q>D47t8~B3^V#`zyhIHY8(m=z z`na{R)Ia-ZD$4db+>WLN=|)WDNh1p7O&=(hrH2Nk?`X5P-j9#yYzSSQjyXN8p`n2r ze(0)uCP(RGu_Xv(cE$6}%{*}k2dAenE`{JMQkV}7tV_@(aXEyxUvhGCQV+lnukK9* zEe|zeN{qSegl!HA3R#b6R>Y4#f1`LVH$VUPV2miQd!23^^R04$vtNlev@%OCIYve~ z4*XEY@}^ia<~h&Nml5x~Z^Xi#!RJ|lsM`Dx#>(b=oJ;!YU9(JS6G_gkxa2?*EZNN{ z8@)Zd_g2Vgo{=t9G9$maDZ&p+zwIU;T*A^Sy6|9K`tx`_o`Y*P)k>RJsNAaHvcM3W z9-oz!WwAX%>c3;ox*|d|V{~_OvmE>m8ij3a#VbL=4iXfvtNYv;x^hj?sm6WoWeWEW zxA*qyjLfQy`n6tA@u408(<~ssAGtm9cU`@yb8&~nC$CPN{~@t)@WpQm169kPoA)f1 zQ3Ex^4)@hg!T2z@95co2&2%Y~T^-MEF+DUzXVtL};4uKb@f>sk#G3FfB~M90NJyy0 zdr)2?2OJ(BU4X#0@H-bh7Qd05?R}(T)bi3^6_}gyb$juLf3K<5m;tNic4OpD|zUfYX-PL7>R&rpY|7Jz3kmNM3K4tc;$Pbp-ZXL!a zW~{^9#(4cXw?j@>SNEaL#jn1g*r@8zwb_V96sXj`2P*Kf=b=k|A5v2CdHi(tf^l{# zqc-^4mxbt8@70`A6bF=@?hN*N8>fm_#2)WIabQMULNF7)E|}J@OX&Ts2!pjH@<UK5)tEkIFD@|tULMJ2BIpb@( zJ^Cmz@Lh5PnMV8a{ZYqQ!-;b3yj|1j$@>%e(-l@iLOE8T`FPpKi><%$!8Vus?ZQz50dO*1C7^-ZlGAHinhnS=VPAF=&xd zQBfJNdL0wA*kjQ3RIXcVj9xm|p4z{VaUtp4g-A)7n9o?9AL=`lF@HApR1{wK)hV%c zl~`#9%9*D5*H>)nGd9=`3nO0l_O7*Uugx_NX3a6&p9LaI=)(2i<9L#PhlO1B;w|s( z?VSkUSga;=<|vv^ z(&G=1hcx)Xx78>ROqMfTo=;6pu|HEBb* zq;A1Y7QIY|+->OfGDEG1?bXlP+S*qIf^@$zhrd@4??_?OE|k0}*hcj5_ss?N2z?NO zy`5C+t`)p8LYCys;lnr=DhqN2QIxOC!cVWir!DqdO@DT|WT+st7wQ`x9^O7MFyP;| zsTsW+5$)(Awk;iVO{&u16E<2g|Dg#>WiBZ&TATc~hFF5Vp#cfgESpQ1S4G>NsDLHL zCJnW$GDO~G99E#6T`6tu7*%PWdJP$+1g@M`~dA(G$3m8 zAL`4s)$^9{8bD+M0=0aO)49#nz1<2fOP5Nb!M*f{npHIntL~t1yoTe2{5bX_#vva^ z)$xopNy&q3qG=&I9{RUT7H`KLB4tMxE#?JXf8+?o=4-hR6}-lo zv6lM94}&7aK-s&=-$k%%CMSbFWF3eJW12H>D@P3*uf4u3AHB*Aary+IWW6)Q-}h~=kv@96b;$HvBDKFv%T zxaOSoBF-zihTyVpzkFr|(ZY1RdbNg`zH+~i88*0;%f5EfRrHk@s8)YuH(@)U4iudg z7+9icHF3sy>LnL@`_*HC3f?k55=Ks;(K*n{4Lib!2H{1?aSCDTYW$>d-=+7#!NDXU zC6}t0?)&zm&ql_^nlCLxaHWnKE0;&?EZt=bIX!&o%HXT+?qFqlAyAUT>2!JlTT`Dn z%HuUqC%S?~%%6^)VKLBsH2UTZSsv=DbZC40>@6!U(NW>aH#c>bnJ+l@r$yOUy8XdN zsUj)ZKXC6|$+~;@J=h=1By&}tuz^0>J1YF0`_QsRB7!%FQ&L1~!+;9lHc(Ib%YbanY8V79z$Df>z zUf_EC{{3UO!#leic`dgtU1AMNj}<{1DA`X3vaz&c=I38!Hf`uc_Y@gCiHwN&;j}Z& z)p!4108y8rj?|UBM5FK&`^S`*FEfMe4%rYKfs=Xj{5;_t>-C1~(uubnXNmL$B*<=A#BhK1dp>F(|6 z#z@n;!k&tQs4H7%@2Tm$Ch>F6b_zsrTIC3W!3ZJyz`~QZ9NZn!ijiJ6b2Y3T27L!4 zbiy~pz71jn7}$oB5@ZP6*w{EpB5K=U;%Ym-ejH76N>4k}aYDMhuC5L+$#pRMB}KQp z>ug8F3phiZP7mWIWo(aqOGGsf*QJ?UDaj8gUQ}VtTi{A^r-;Z{OH|ygdQ9}fYiS2e z>)#X~S50}?_WYG-&P73_KHAIlr`;uI>nhGYvXIgj)1sRYyuI(s z%J~%$DM+*alEc#MWmErSX?kV4J)0(nJ#C6B43b3zmn< z9msmmd+VxRmYG%yiX`uN$^TeppH~|bRDfMzRGlW-YRU_W?kBp zs_J}^^tr(<+39?G{!s{X98gL&al&;}tS$1}rLsGsgm6S^AZQkb7ZzSP0DVJ~GCVm2{#^xB=WI6o@If6s)}8l%nPFxCVd!kygQ+?X=rglo9I&G39RpmBipMCWcH zQ}D{!c{S%BKHB^|r3e0SeQcf?1>6QOcq=9SyEsln_YOLWs0~#%@(=H_ANk;08({s! RdjGE4%*ev<;VJjn{{bJP(NF*Y From 89a134d7dc78d7f6c56218e5d82d0c199ac4cce3 Mon Sep 17 00:00:00 2001 From: David Paul Graham Date: Fri, 7 Nov 2025 16:43:13 -0500 Subject: [PATCH 3/5] replace PNG favicon in docs with SVG favicon to test this out, serve the docs locally change your brwoser's dark/light mode. you may need to disable the browser cache --- docs/docs/img/favicon.png | Bin 6234 -> 0 bytes docs/docs/img/favicon.svg | 26 ++++++++++++++++++++++++++ docs/mkdocs.yml | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) delete mode 100644 docs/docs/img/favicon.png create mode 100644 docs/docs/img/favicon.svg diff --git a/docs/docs/img/favicon.png b/docs/docs/img/favicon.png deleted file mode 100644 index f7045446bf16db76764743020a2fa7c25401f97c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6234 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 RdjGE4%*ev<;VJjn{{bJP(NF*Y diff --git a/docs/docs/img/favicon.svg b/docs/docs/img/favicon.svg new file mode 100644 index 000000000..4279c04a9 --- /dev/null +++ b/docs/docs/img/favicon.svg @@ -0,0 +1,26 @@ + + + + + + diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 77d5fdcde..974a8f9ae 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -33,7 +33,7 @@ theme: icon: material/weather-sunny name: Switch to light mode logo: img/docs-logo.png - favicon: img/favicon.png + favicon: img/favicon.svg language: en features: - navigation.expand From fe5c4744d48a778f2d846a39f6d15eaefc6b920f Mon Sep 17 00:00:00 2001 From: David Paul Graham Date: Fri, 7 Nov 2025 16:43:15 -0500 Subject: [PATCH 4/5] replace usage of favicon.png with favicon.svg, with the PNG still as a fallback --- ninja/templates/ninja/redoc.html | 3 ++- ninja/templates/ninja/redoc_cdn.html | 3 ++- ninja/templates/ninja/swagger.html | 3 ++- ninja/templates/ninja/swagger_cdn.html | 3 ++- tests/demo_project/db.sqlite3 | 0 5 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 tests/demo_project/db.sqlite3 diff --git a/ninja/templates/ninja/redoc.html b/ninja/templates/ninja/redoc.html index 14c3ea449..4d211b97c 100644 --- a/ninja/templates/ninja/redoc.html +++ b/ninja/templates/ninja/redoc.html @@ -2,7 +2,8 @@ - + + {{ api.title }}