From 9f4a4a323a1427ce382a8269fdcb387d74d19f8e Mon Sep 17 00:00:00 2001 From: Haowei Hsu Date: Mon, 6 Jul 2026 14:20:22 +0800 Subject: [PATCH] docs: update logos for dark and light themes - Introduce dark and light logo SVG files for better identification. - Remove previous PNG logos to streamline assets. --- docs/_static/img/pyodide-logo-dark.svg | 89 ++++++++++++++++++++++++ docs/_static/img/pyodide-logo-light.svg | 89 ++++++++++++++++++++++++ docs/_static/img/pyodide-logo.png | Bin 7802 -> 0 bytes docs/conf.py | 7 +- 4 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 docs/_static/img/pyodide-logo-dark.svg create mode 100644 docs/_static/img/pyodide-logo-light.svg delete mode 100644 docs/_static/img/pyodide-logo.png diff --git a/docs/_static/img/pyodide-logo-dark.svg b/docs/_static/img/pyodide-logo-dark.svg new file mode 100644 index 0000000..110b85e --- /dev/null +++ b/docs/_static/img/pyodide-logo-dark.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/_static/img/pyodide-logo-light.svg b/docs/_static/img/pyodide-logo-light.svg new file mode 100644 index 0000000..9192ccd --- /dev/null +++ b/docs/_static/img/pyodide-logo-light.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/_static/img/pyodide-logo.png b/docs/_static/img/pyodide-logo.png deleted file mode 100644 index 76d70385203ed33a2548aa1e99cb8d1870ab8456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7802 zcmdUUXH-+m+i&P1^&II4sE9~0h&1T}f?}jMX+b)nD!m0nL{Mo`6{*q=ARxUHl_tFi zL`&U2lIKp+g7_wVXM zAmq*9^XGHapv5n>`~`uKy+Ej`>1wK}U3%i_;ec?phd{2sMZQ(M-*)F>hm}FTSuvyU z^||;QIa6lVr=!9wIjaA#n)%#pAkd{rUKN7IK6m;0HLjyL{7qFEW7+dd`($&Ai+Q*! z0w-cZ)loaM^?d7Vifc1usx5tzB`z0-yfF_2=4`Gt2~)!_XY;8Lu3VAmeV3SbRW7zX zXn#MDecm)<@K}~On%)7)y06en|Kr-srOcUXhJnL&YvUxNIj=eKMCkpa?>-&#G6Php zRGFO8KZ*k8ZdN>Uvdxb%9UhG;jLI!8Flde6e6-NqVJc!`x}A9xk(1t9+2@nicK`8T zu=q==Dy#xY*8CbJ+OH#6@Llrzkrt@C&i0niZYqcsrSm`OQLT%D%UUf_A6##`2@QKoYz_= zzH4m-_u0Mt9lX}y$WVUReHg5iBHnop%m|lnagiMSXZ9xpEx8zI?#xnw_8h6^AYtsF zxwHWyo_(PMAODAhG3$T3O?ggTX4*SZ+Vv-M0)~x`ue`ciGCx0mnMQd(Y;iEF{ONpW zjf>^>V*ihz^%nGsXI$5Xgs#~M$E-2r-ZXk;%MXh*k#Oj9LN~_o$QNjRkX~+MQZ{sV zFKZ>Ph_JG<`b@OGh>UdEnElFi%PvYIhAV%ytVtW(p?i9AEMGk{-xcT5_f97cfjo6DtvR;c$KcRhH+~UUO3GE&{7qBxlag5S z3kzMo$6rp9c1v6A|4>LE5E#ql4fh&yJv}`oorW%*NT}g%-Z@8H5DP_I-Fa88m#gtU z6&~2_-!dbOUrLwtIx3SfEQPmBuKRjSROV}~R=HuC!3Yk2epXz5s+9ZjV_&}v))n+N ziHxqStPC8Ly2#0iaIgPG?KRi_3W`~3T5rXyuSU{yj@ZVg+M6yGmz3R-_x*z#Y8g%3 zZMb0-5D;*5?`6EICdCjf=zvgSb^IXJ()YdZ+Eh0gB3wu5;I4_q(+IX3W_g3krwUhV ziy9lvR?+2X+;HyBMjKN}YilbyE3&as&h6)C72D3}VUYR4v@|ZL_GyOtWP?}XHJ!{) ztK}%TRmgz=4b?eoN_h4Kp4(6ED4%S`)woZ~F={ZwgE!T+G8Ig-LWqd_?p9h_F~*-B z

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 diff --git a/docs/conf.py b/docs/conf.py index a8ac2db..d5a061c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -39,8 +39,13 @@ sys.path.append(Path(__file__).parent.parent.as_posix()) html_theme = "sphinx_book_theme" -html_logo = "_static/img/pyodide-logo.png" html_static_path = ["_static"] +html_theme_options = { + "logo": { + "image_light": "_static/img/pyodide-logo-light.svg", + "image_dark": "_static/img/pyodide-logo-dark.svg", + }, +} try: release = importlib_metadata.version("pyodide-pack") except importlib_metadata.PackageNotFoundError: