From e22197aa1e706ce84f324f8ffcefdb87e549f681 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Sun, 1 Nov 2026 13:55:28 +0800 Subject: [PATCH 1/3] docs(assets): add project logo (full banner, square crop, favicon) --- docs/assets/favicon.png | Bin 0 -> 4770 bytes docs/assets/logo-square.png | Bin 0 -> 18894 bytes docs/assets/logo.png | Bin 0 -> 31816 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/favicon.png create mode 100644 docs/assets/logo-square.png create mode 100644 docs/assets/logo.png diff --git a/docs/assets/favicon.png b/docs/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..2fbacfeebb89e2219e00486c1c37ef4ca1590b07 GIT binary patch literal 4770 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

14b5~aSxIF7obBq1Ef-0lsB!~XK( zyz6*6iyAm5oNX30FNDZv_VIMX?Z*eFWPU8sG&@sYUR(?b(?~VzvFg-a=AjaYFgAYHvwZ2sqP6Tx9(R;!E?_)ubd!PRS;&v zxpc6fZ6;65HXX*4NrRZYICwH*1UnsoY(cj*0Z}};a{0E)jU3hv2%vDWVu|^Njw-0m6Smc3is&`}oH{dB0k%*GleEqqI0*D-TbQ4}dE@$E zIE=#aUTd#ft4kq-kYPC9+~?4xmvw;;r#i9`9;_B z-~Q1LR#y*2lfn1jd}Hm%Q6Xh2HklsQMDg|OAOGmBpOi|~O37JnR%c4`^-~L{jx1KH zHP`h(%B%#r5PGLYBI(!>!I?UM_f2BT6Vwa{Lb|T&m&#|4Ep5Hx1$y-xe} z*I!doeEyYJmE%&9)T@b0w!HtMwL zRYrk;6y3P?@tZ$<+x5zoz&$WmFFW|m!TNK@7X4D$aa|z=0zW>mBW=8xe~45t&3S|F zTdt1~}-_uR#cA4TJytJ0jiL01HwZujFW zmwUawc`^V>Ij#_5dwc8JjZaQKbv%w@N_Y|_al-5O*Vi9BSX(>1ySwd|%82sgYu8s+ z4^_(Ldw1`}QS2%;8IM1?dFv-1p5JYC?%&^Nb$SViaTIIKQaR&E7>1KL4jo5IKTJaAo)O}Z+T&=$T%u1wB+62qqop!5m6utDFJD|>a=^4-XyA4N{Oa~#sTUf8&~HB1;D>lwbhqCPC*yjp{@}s->gu80?d_%2mBC=x?e=T++P&L%=H}*> zR#yAHUccY*T&ENSQi?c^gHqY}_sKX^N;!^cp3m1Wel)+d*j!i|jRrSw+&F&pNTWG> z^XBbVw|i)1ISgZ^oNBG+2h~<VDu0A+ticg2aRiLyRy_Od#4BGO%y2K4JP~-tCz*h2wF**InOiy>W5l z*7isvKHMJcvr%P$^Td#YNUiQ+^`$yyuno8u|~OyUHP1q#w6l^`M^q}JN> zWF{h|Br}uN0uk-dViQLrrSpr?V3<_Vpp+tJ(g`3+p@@vwUJ4Yk)&fm80n*F@B?CKB z3`3;yKQiBR?qb8Wg$>Xg;Mwq&X#3&7`FORwd^B+)-Xxv#;uz=3jM%s)T)J? z2NF@C&maSW879Z3V~-JGgB<~psxv54)KZ}}O;K5Z0Gf!jZ4af1Y>Y&lkR}E)fhjOB zDk&U^+glr#FMag(Pu?X^<#I6JC@(atK(w}0`s%aGhnMFnwOUXLgp`mL$m3(fkFvJX zwl8*?l~Cz|=53s^q1F2jf7Xx|SpfRJ4}b@Wzls3x==!6Fhn+*f@9Lqn+Kh7gQ@{e_^&%E&HtL#DVfxo?AJ*)F@YLK@bQjQ%?<#smh=T zZuZB4?JzEMrb$!f1-5m+03hp@2%zJ5JR0}=y+=FkAAh`g>3%QLz(iZ^akn?_4@XS# z(@z~edF>MM(I=nf2J19HOf+e67EKcQ-dO><_0mvNf?Ixes{0cefRq2`MbT&C~+Ls?T>dmqwZi5hGSR4 z(@z~eeE8_x!tzYL8ODiG3Ylq#ux~sQJ~rp6famgvG@Z{1g)U}>fKIm**&!f~>~}lc zTN~@^cR#*{aUrutoij?pc7s5@%f|mSDs#;pP8vtYkuHQFX;4q$F%R8sp%pt zH0I(b&EqQ!nM2#ejrY%t#e#XZEs!;ZVc75Y`@P=9+uP^vcJA$sl~hTh_qwC*VAAW4 z!f;X!oV6o|R}QQ!EgqO_&TGUt(Y804?NFWS+6vWI1(TCA^_aJz!{Sj&g*qsNa2@Fi z*xTKCwE1XbSd*5qN9V&(u+sx&powNt5&Pkn&){!h?FJC zM>!Tg;XMCr+Z1F;#xx|)*EH{lj>QSQj}M2>jZ~)c*AzwJa4;MU`?nwNp1;%n_(6Y^ zfGfp#61Do1{$Mf~45KJ=l{|cC^}yod?A+Yk+(Kh!HX)7^opoD7glvJQ&qXG5ow_&9 z77{@S;V9`!(eAc8t=+x7-A9kM?yNtUgo)!g<#JG~cr#T$@O`bdr})%L^@X+O@s(z| zQY}|1p66xh<(#L*!ZdW88dr#g@_{LZh@BZ*s47Wk;o;+Ob>H-4Ooyu>GZX0~8I4AR zL4U8^yLfx&@<#vO-be{YN--LR{o$lP3j4#!WE>$U&Doj7h2~sywpyE+n_HNfnen_J zN)jT{L_}7Sk(Y6&rz<;4LZC2>y@ha;jN`D|?(FRC_Pgz!z1_Xt*5+=TQ3k$WD+kq* zTMpbx*^3jcwLaMN&#cy-Uz?wwt(7X(N~t6r2Zca^R2cf19a`K!_8useIhYYlSs5N8 zVtX7F=SKk)I{zW=pB7sjOOtwWi@KPBS!*3mCd1)y(C^>gXkC8Lxv@Fk9Yl_lQs6j@ zhNEaOj)%i=FdWB8D3R*5>ik@@R;`w+m0G1-F4w#uD3{9RQbkIc>S-<0DeQx0O?o^U z4Tgg_oQ#IUZofYm^n1O*?p~|a?P>z0oN_6sRQzh-R!eTlcTGWKv*H|IDxY4hA6so! zD%Eni;`_do5===B=M(t2aKLfjDBir2e9;mz$~YnZr7D4}AVjK<+8Oh)5)JPC)RagxMLq?D*tDwT5J zx~}gBf#*4n5>ncgw7u+zfmrJ#jwfL_nS@cCjK||ne;CCYg;YwF13&QHQs4xhD*2A* zIEmJY)-_)pTMUjbRZgxpXX@2bxe}C0uA@w*zK~%siOGCg-2TD2c@Fl;bF`+5v_lmcpq% zCYhMJxPh|n;{`Gv02&4WHK3zhNHn=XK-)3zup?J?~FD(QNrjb;RpbL zL~|I&NkVZ#Q9?S=aYC_9v}R@?3l0RBK|Y95pp?Rq(osSxR6;q9Py&5dDJ6+P6DOJk z>ZO{0a6UNH3=S{U<{Fi9sZuJHJl~f}NhziP=40DudNpnCoU=-wf(L@B@yngD7sB9SJYB$LT_JRXlH<4%A0Xt%%F4j;Bh589LVAWB#Y zL@7ZT8WWi`6Om>+kHAK!8IhY(WX3y5X&MGFGm~cXSB;9Z+VECqgQZ5WJXdK{D}E68 zrNDQ6$905|W&(yO94^2c%nE6yNRLdKm)4;YP7mpvo_(5QseS7O1&Eth;J_2GDo+{S z$E=IJ3LVEu7>1L{B%F*#<8iAy-06<@`q5T*vegUs`te|#pj2k?4I&GHBAejLS=~@J z@4}|(*$kl2R0-s4*F_NQK{2|I{log_)3lPHR!C`#fej^jxb569tX5|5)K zN_3J?l;~JPLad2^7!f6cltM^wrSz2Wl=NI#DtQ&(^<2ks9LIBA*K?Foj;oZCQkuHA zbO2{zJiwDiU>6~yY3xOhl`8X-CKO`<_G4!f=UT1oUr5t{``#D#&FkAYlPl-po-n+d zr!A1tP>|MICtBMz*0K3Qn~p?UGm({K+fD~U*cm=j2vkZ+=_sX?QqnA;QbI~41PF^| z3+=(--?1(CO&u+25_vx)|CEWG*&GSZxu`;6ORh$nn#h^YTqzuY;y7cRzH%-yMOoBr zg`EN!P@+`I0R{rinuys1QcPq%F{~OV@Gu)j3)v`_0&~Rq1Af9`-M?S=QSXR3Ih$&QAE%J= hE-+K|dH?|M{{xv6CP32)B`yE}002ovPDHLkV1h`A&z%4O literal 0 HcmV?d00001 diff --git a/docs/assets/logo.png b/docs/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..66c32c3ac43f3203c78f8f62c1bf14d76e241c2f GIT binary patch literal 31816 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 Date: Sun, 1 Nov 2026 13:55:28 +0800 Subject: [PATCH 2/3] docs(site): show the project logo in README, header, and landing pages --- README.md | 4 ++++ docs/en/index.md | 2 ++ docs/zh/index.md | 2 ++ mkdocs.yml | 2 ++ 4 files changed, 10 insertions(+) diff --git a/README.md b/README.md index de853c6..cd98205 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # FortranCallJulia +

+ FortranCallJulia logo +

+ [![docs](https://github.com/openEarthModelling/FortranCallJulia/actions/workflows/docs.yml/badge.svg)](https://github.com/openEarthModelling/FortranCallJulia/actions/workflows/docs.yml) [![cmake](https://github.com/openEarthModelling/FortranCallJulia/actions/workflows/cmake.yml/badge.svg)](https://github.com/openEarthModelling/FortranCallJulia/actions/workflows/cmake.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-informational.svg)](LICENSE) diff --git a/docs/en/index.md b/docs/en/index.md index e4084a3..c8151ee 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -3,6 +3,8 @@ title: FortranCallJulia sync: 2026-10-31 --- +![FortranCallJulia logo](../assets/logo.png) + Embed the Julia runtime inside a Fortran application: Fortran calls Julia through a C bridge (the `fcj_*` C ABI), and Julia solvers call back into Fortran -- one process, zero-copy arrays, every call exception-checked. diff --git a/docs/zh/index.md b/docs/zh/index.md index 3dadcc4..7587ff7 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -3,6 +3,8 @@ title: 在 Fortran 中嵌入 Julia 运行时 sync: 2026-10-31 --- +![FortranCallJulia 徽标](../assets/logo.png) + 把 Julia 运行时嵌入 Fortran 应用程序:Fortran 经 C 桥(`fcj_*` C ABI)调用 Julia,Julia 求解器再回调 Fortran——同一进程、零拷贝数组、每次调用都做异常检查。 diff --git a/mkdocs.yml b/mkdocs.yml index 95de359..0c3546f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -4,6 +4,8 @@ copyright: FortranCallJulia - MIT License theme: name: material + logo: assets/logo-square.png + favicon: assets/favicon.png plugins: - search From 42f27ec1d1e2a2ebbc6d422ea31ada52600c9892 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Sun, 1 Nov 2026 13:55:28 +0800 Subject: [PATCH 3/3] fix(docs): resolve asset URLs against the Pages subpath Root-absolute asset links (/assets/...) are left as-is by MkDocs, but the site is served under /FortranCallJulia/, so they 404 in production: every figure in the zh annex, and the interactive architecture iframe plus its static fallback on both locales. The local T3 preview served at the domain root, which masked this during the docs-tree QA. Switch to relative links, which MkDocs resolves per rendered page. --- docs/en/intro/architecture.md | 6 +++--- docs/zh/developer/annex-figures.md | 16 ++++++++-------- docs/zh/intro/architecture.md | 6 +++--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/en/intro/architecture.md b/docs/en/intro/architecture.md index b5d6486..1ddd155 100644 --- a/docs/en/intro/architecture.md +++ b/docs/en/intro/architecture.md @@ -78,12 +78,12 @@ call ~12 μs) -- see [Deployment modes](../user/deployment-modes.md). ## The full system, interactively -Open the full version +Open the full version in a new tab -- it supports search, path tracing between two nodes, and a guided tour.
-