From e1a9df62f2ac0230a5b0458d659c4c772eed58ec Mon Sep 17 00:00:00 2001 From: nik_garakapati Date: Thu, 27 Aug 2026 02:20:20 +0530 Subject: [PATCH] fix(ui): map drop-style page URLs to markdown twins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copy page and the LLM actions looked for .html → .md. Production pages omit .html, so the button fetched the HTML page instead of index.md. --- build/ui-bundle.zip | Bin 548997 -> 549139 bytes src/helpers/md-url.js | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/build/ui-bundle.zip b/build/ui-bundle.zip index 495943231e201e097784c5d82710bf8171f24c91..68473e4162437b2370152baed34901e8bc119139 100644 GIT binary patch delta 2042 zcmZuy3sjUv6#n=B+1V=rF2sVsrn^3}I11`+3G!M(Om^7^ujRGNYKj^d7%Q5`e1T@> zBS7tHYHEV%MrmO#Qi))Ip^2bnCn*rIGV`c;sFcI0nJqM{-7_=a-1+XE@4x^3XVx?* zH#aIhOgh2Mm*arr*1MN`D0te3C|RF0n)QoamhB_>*WAnNT$b)J)L!$drs@+q?h74A zp@VaxNwh7Efzwr@+GPx^8O6sM88}tMABkdM`C-1x#jz3LPMqg@_aN)sXD`=x7&-11 zmW|>AaHj#lxl${1x*T)f6e6RUcXzjGsz z3?v4Mebg&f`vh5Y9k-j)L>$-2bDTHFar1KLFUT#jhrTd-d~wnIkUV=;dA;G}1nJt} zBAb-K;X|JA+c16abJxp4;4{-}vn%pvm498nY+!6_t8nYp$RUfS>$2BPDpOXpb=|yk z_skr>hKlm=4;0-m$~7Kw?JG?S_Dv5Gm3};vY}_`ob4Ax2P2lLvQy=akb3RP=i*rbcCJ{L-U=}7oJW!q;1Pssa>EeZ0zrJcK0F1h|)<3>f>(e3R` zFJ({uarusWSBHI-KchPTm6*EbrIyEg_nZrQyL8%=)|j)QJ8fgg4sCC3>05%mVDX`v zqosx~8xOemD-L=D%%8+5St6zH2n+hj<27PYMhu;7wrR%V9UJ(ry*gRqygC^!csrBSl9vPz5g#KA zRwmBSf*da=fG_j^EdeI7F<1*~Hqu2_1X!VkP+F+WF2^n{3}eQ-T6jvqimf;|Hel{2 z9Ji9Tk+dELf0e8HIc(6u1Q%=Z8cBLxGRGaJEqIVZ$I4Z2e~R9T5XNHa5H1e@O2}2uni;ibi)W0e}75l3ZuVUwq#!#$DN=}@lcrC3;yOh^$_Ud-q^7J z;?X#ctENr)5VxcG0oQB%B$IA1^FYspe|)6>(c0pU?FR72-3Ab&#qgKZJOjx2_N@CW zKCZOfzV<@IWvbH6{BNa0w=-%8drFa!x`y0j^N~aUr2|cDF-V04Mi|e?yV%@Pz~)Nq zG=e8HUS~$Enm{S_78`UqBua!)aa z>cuiFOoCwko+s`|g0YJKJ5dI+Sh?!F7xpAU6rV0dWio{GA4$=YOk;a_<2E+G>W$}< zLBp3kin0`l<<&CGNP!6cpbWRB(3+a%hixg8C-+D9RBFHEkI%Akb`Y*krEwO?@kA=+ z;bV9&mHJE77?lQLg7;HmR4x?z;)XP;)%i5mrqL&nIq=ss>V4XQDl;hGu!0+&GD9HW z^Dg$9VXCnHJ%XkIB126&b+f*Y^V6w#>mhtM9j1EYVZtq#S+wx^ne*+TvkD9B7@JMs zvVR5y3Yr>%>I|4Bw0uNx83PMz2{vayw9rDq29ONH5t$GyOgly}F%x2i{5pbV3>^QI z;Dt=OyY@K2pY;o?saypaWwLJbAu zvgy79O$3V>$ZRHfJevxrrr?ik%1Lb@7;OQ)ug!>if}9%SZ%^8|mkLWHpE0ztzVi63fmV6w38OV=zAo6@P|${d=BMco7& zav)x)x=e704W1FU^iYzG`cAn*g-nvjaJm_SuRYUF^oiO=en_ z>OQPC!!Qid!EnLSN6@H)09MX#|Z{PBp1iu=Gu#eFdi@T?7je8q&NHl6-!{WvaOOYeE^Pa$8J00000 delta 1927 zcmaJ?2~bm46#e->`TvzI!6j@_h={bbvIvd{DBxZKNk|}J3s4mWs)7k>ZA%$O7&~?> zTBsK*O2Eedg)`1S9y)S^uv{RV(?|Jv#bMC$GzxPvq zTv^(pbkM3e@i>Md3{xrI>fpuV(_cxS@ssIuoz1h|lLhhC!#2-PKGtQA_@qc&h2{{! z7wtEKsOBiz&-NeFqp{Y>M3spY#4Hmv6jC7W5k+e#SQyOK&!S*3pY68AbhWa7&ULI5 zdzh9l{JH6ZhG8Cnv`6Fyd1^wePwlu)8}WJy7crX>J+^Zb3>1Xj=kCm#sAJ(}+G>ALI;*8~%NDt`-YhIrWIilu^t3D5*40+`cF*PhwbHJY zJ-dJLzBJE%z2?l;Km1;+lAqW&?Y*Ab!uGQ_e!DYJbY^o+{7WvaKbqT99lpAon_xLO z{V&J8kDX^8-JP9XtL*c5GU@z1!;a9DFiXv@r~E#3q-jk+^_4?mQQOug-)z`$s9!Sj zLJ4!kRWKd7=yGmjj!a_Bk?|XLSP%5@n`O8$5cP;kRWQ~Rp`7FLtNG)e(jhH>SBq5lAf%>Fq=>6Isv!`%!@Kz7Kz&Fv$R+(Y7mbig7SWIB= zaM2BP<$CQ4D}5T`=tXz5-KnIaJshu71jBfa>OZuL#w-6-y{T^JlkWo=<}?nkQH&^e z33Of)D{a+7wU$g|RVrxGk}!5kEDUH#1X~{qGvmojc1#=;#FHrYojCY5p7?tG*UcW$ z-cy{QhQW9;i;dAhgbvwXYG9p?ggJ?{l4tin&kQ0x84DM5#GSpWghvU(H6+4qJqk$;;FEy+xJ_v=J`wqx1(FhR zE-rwN5=kVxcMV)j#CFIna5f;X@fN5JL~m&9(QMYQ*#7Y{&P z262Tv18&@=0Vp$&d2H|?TsB}Qk|*F|#4V6K1%r{y<02UWb{a_}_d6>L84D4HZnd3 (typeof url === 'string' ? url.replace(/\.html(?=[#?]|$)/, '.md') : url) +module.exports = (url) => { + if (typeof url !== 'string') return url + const match = /^(.*?)([?#].*)?$/.exec(url) + const path = match[1] + const rest = match[2] || '' + if (/\.md$/i.test(path)) return url + if (/\.html$/i.test(path)) return path.replace(/\.html$/i, '.md') + rest + if (path.endsWith('/')) return path + 'index.md' + rest + if (!path) return url + return path + '.md' + rest +}