From cc151da7188e7a2b1b9893428cb06e7ec62b133d Mon Sep 17 00:00:00 2001 From: Pomax Date: Tue, 22 Sep 2020 20:32:38 -0700 Subject: [PATCH] build fix for news --- .../56533f47e73ad9fea08fa9bb3f597d49.png | Bin 11042 -> 11021 bytes .../5ce02cbdbc47585c588f2656d5161a32.png | Bin 11534 -> 11546 bytes .../fe2663b205d14c157a5a02bfbbd55987.png | Bin 12350 -> 12355 bytes .../8d158a13e9a86969b99c64057644cbc6.png | Bin 0 -> 9857 bytes .../c4874e1205aabe624e5504abe154eae9.png | Bin 11234 -> 12004 bytes .../524dd296e96c0fe2281fb95146f8ea65.png | Bin 30360 -> 30335 bytes .../24b6ead799277b0d73687d2fc5532a84.svg | 1 + .../b465a1526a406578c9806a9985e2dbd0.png | Bin 0 -> 3224 bytes docs/index.html | 170 +++++++++--------- docs/ja-JP/index.html | 168 ++++++++--------- docs/js/custom-element/api/README.md | 1 + docs/js/custom-element/api/base-api.js | 3 +- docs/js/custom-element/api/graphics-api.js | 8 +- docs/news/2020-09-18.html | 26 ++- docs/news/2020-09-18.md | 22 ++- docs/news/example.js | 33 ++++ docs/news/rss.xml | 21 ++- docs/zh-CN/index.html | 168 ++++++++--------- src/build/create-news-pages.js | 20 ++- src/build/latex/latex-to-svg.js | 13 +- src/build/markdown/convert-markdown.js | 12 +- src/build/markdown/generate-fallback-image.js | 18 +- .../markdown/generate-graphics-module.js | 10 +- .../markdown/preprocess-graphics-element.js | 15 +- src/build/process-locale.js | 11 +- src/locale-strings.js | 2 +- src/to-posix.js | 5 + 27 files changed, 427 insertions(+), 300 deletions(-) create mode 100644 docs/images/chapters/control/8d158a13e9a86969b99c64057644cbc6.png create mode 100644 docs/images/news/2020-09-18.html/24b6ead799277b0d73687d2fc5532a84.svg create mode 100644 docs/images/news/2020-09-18.html/b465a1526a406578c9806a9985e2dbd0.png create mode 100644 docs/news/example.js create mode 100644 src/to-posix.js diff --git a/docs/images/chapters/arclength/56533f47e73ad9fea08fa9bb3f597d49.png b/docs/images/chapters/arclength/56533f47e73ad9fea08fa9bb3f597d49.png index 49ff93c27cfdf0150fc2ec05a467fd709328c0fc..2029a315186e2007c2b8c4bbe51dd245f618f807 100644 GIT binary patch literal 11021 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ĜR5#7Ly}gT{vIAemy>2FD|uEzEG>z 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 literal 11042 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⁣$(nC%7}wd6%F4=`IXYHI1!3SFDL#!pH$T#&B|N$GL&tn1jgg=iXg!$q9c0pc zK7x|%A*~%afu<+N$6X)^2P{u1xOmJI9{BstP8o6viW0i?1ROn>T5N1ANV4R8ACH^Z z*|7sBu)Ma0^kDDq)c09&9{Hl&H!#q>_A}KZ89EH|h!k@G<|yw9<&_lJxmbI8deVfQ zX;ZjgmX`TN;lFCcBL8yraxr*La zQ!RKm-@?Ml={-;T1!`iVyH$}`quYiU;0gKsuiQa^9*^p2aJ{^`Vq{@?aDK2jW+f$$ zDdcSWe!6y}b8aqcM^EW#o+}@pu<&!4PQ$2}d;#$Y&c_=VBO`;qO|i{iCOh#$v9LNX zPl{{~x`S9)xR76z;orNuLhfJGEwHcvLFpZ_wZ+er*E2sNZL~E8AATt+GF$29X#zk? zPT$F2z{v!77V&q|cdZ3+eotbe_;z zxN0|9t5O*aX-5~qkMz!h^cD1>Q}2j7x*8UpI@^3Fhbv!N7aWy<2v+ISxxdgxVrqI~ zX8U5MN>?8WliL+lIXdO|l*^9dC6ViBjAXFF!ZikPgW&pNRg?3J(!!(o$T#uDjqY2F zZ{Cc!9{(|An|MK6b)kTjDR}!U?DCwWYBw~~&)?tW-x*hybfAH)h+}y(OA_gUD_eUP zLaxT^$N~n#N{$!}t&0-!JG6RjVG;8Cw-#8UIuUB#KV56>daxjQad81WW(foA@_mMg zE8`~#?~solNrbux$v90K2|j=ROn_DD&aB$!Ygv#6Y{b0(0}B>DehM8v;Xd_$G7bQ# z!7Y!`m(xhbQ$EGPLzscQz#*LZ;2C=|qlgGOxXGo_cqaKs*zAm#1Z`ekUNzVo2`Om} zX^NgU;J+Lk9C+O~wSbyF#VdoqbaHa4ZfJP!=O>YA{w@Nr9$j5s1f-<*dV*o$FYSel zCWSS-KRG@*nZ{Qii;9a2udNkmPHkHXBcL&BOKWUw%(Wi+1Z!}jnf&&B{70rE3+V<^XtNkW@}ot+5ygNXcmCZG+JDjdi!-Y4s6g0@5kRfS{^ znh#I6;8F355iF|rv8Ckux3~MeB3^{=X~boI6?xE0Ns-*%3LFOBod*JKwBxNHB?fdn zIyz@}#?xmr84plgHU?jtw0aS_Z47PzCxEd1TUywkbd#8!9j=-hFuv|!_pQzzZE24N zMOD?#Prk8W+`_`aA!NEXpOA(ID_zZBj$Y?!$E^>9QCkWFS{NBmyl;EsV=vq=WcK=X z=s}0(@3V3{l6Uf9Q&X20+huj`(-OnDV$(Q}IANjcnO%oxTrG~Pc3;sjC-OaZ1}`pF zO~F2~g4j=k9+XbV>97gPnKM8iJW#NiYh>~HOBoVJh2V8t$GH?4L#ww){u|_fw##sK z0FRuS67&{Vir`Z;UC4ws+t2>?d9NdJ6J6vAohm&`c$KztTV`d2Y%{d}WrPBSK98k* zN{WxaSBzOs2_^xMmmvb0gD>7frs8eghqkWIN}wcmg#Mlscanfy_?0IAT`U*Zk}l@3;oYg8(s^6;`UmcMUUd=%_6EsvH%j(?8n z1x-!;0tEzaTIqn|Q(En_Gsh!-5-b(?&SaJ1XyMt#t^gDO6K$V(9NguMLE-Np=RqJ4 zXsW3rp+jXWRUNlorTS&n<_HX+S@J9z?L!9TuwcvH_Y9Jf*)h{p%+k`*1KHw_eq}rb zJeaKB%9k`yrD2kgpk7#5pv?JN(f=VS=?D;>OuW1a03w$VSU;c1e;%(0XyO{HUzC+P zyjY;Ta~}`t9j5b+wj5;}J74fEA9+nRdvE}TEL_}k-z7O>0T&0S>u?z{TxV|xcJf6h zOX_n!s09JzJ^cF@S)wZ)ikK-(9n2DqTkVZs1@sqCfGDG^yMw>y=a>lIsjn<4J9?)- zW*fZ0_#O~eq&9yT$hwE0SafZiBqk&Tfhf0h&;cmH=g#FOqEIwU{E(IwaRBu42nS=Z zAtE9o^vuk7goH_dgr~<}J>sE#ZntgQ-Ch0%99yvP5fUA8eSK~2QVUj122tH9uO}ySV))V$$;V(~i4Htz9zD++5FR-6Bm80}|MWGc8ad zf4BX^9^lr~Gg>f$RC*P#yyAW$WSTj*51bD&+B_BUl1xd7A)Dj&BF*j;L22ZHmAbU4=JR*$;K)mnjs1fx zvyN1p1D2#&=F=qhzqT)1-aa*LZ;k)+M}YUK{;dR&G9mMaXgA((w4X_;e0oQXpfI78 zI9f@Zz-w0uaGl_Ki~a~V1BGwX3-21C;gH)z;YdO$EG)>*4Y)pfUJmadd&F%bvo}-v zRskK5U~Nu#HP6|QWeZ2Aw?X&ryt=x&^AX(dy9ayuj~_p}K0eV+$jZVK7ZTcf!knr)YLL3{{DA^%5+iF5=1|UE+|9qh-E2)aNr6ET z#l>wdZ?=0pRMtqyRH_}Oy;^-!BM%S#^^}zAtP*@#S$xiEBhu3RK^{b{@kwnRlna~} zT4l|0sUWllD3EA~cWaqCvfq_pn4*_)!(0OQkQ51m(-q*ClOXOX!>MgOb?FdFm z$p)`^mlrxlq2+8n`dEoBrp(dWKD*Pjxq>#KnFZ=Mr8v(BEDgIO=4-kZKtPGaSV zQytP{9Z!E2U|8zI)*K#A@t*Du8y}zRcLBU6V;lm(L)`ZQ#NYzo@qmeGZ^4|CC|SzH zgt5Q(bgMlo+UPyN3SPdN20qn|u!dVgPu1(#Sy|@h=Us2EJkl~VL5P}&iklD0W5nJ$Y4SZ6 zi-6Kayr{J@A1zb|Bu%dMTmog85gBprMZhOe*JlE7w&VH@rEcN3uFrB*^kf@>F1szB zRTljpl+*YNc&<*jVt_XvJ#kcuvrdriG*I|=wg-3@24dqYNzELh~`W{ycLoIEwZFs0Y@X(&v3*jo9qS_lSqt*|(v5-Woy*z}(pRru z(La8S38kG&jene|^!tl4v6pvTPsY=-VYQkfW`-}+rq7B@WA!)(5w_!4ON@V*~o&6&a7@IWmjZ`!=dcKEZ#@v~a0Cq3V z)x+bpUjMIO`l8qVw&JER7&$Q+S&va`DVz8~bu}+58(Z;+t!cYozgo6fvh7$gp>BiI zORJf0wy`kIl#V+f%tGya#pA~9r*vX`+w9Wg(s%K~@-kdyQYraKzw8hgo!kqkG7Y4wb`UVFdyfrceOXegv z1kAh8tqvC2@DRNB2M2~sX9eOL`?(rO*?zk3&!vOJlv6kmNlh{tvvRCe7x1%(vxReP z@AA+3I{(loNz41&rWSDtnr`zI9<8zLRgpe9=(roa`1j9{TytI|`e%7JSd#({hkFlZ za6i(|5fBs0sHv^B1e9;*KpJ0YqDsNqF-HrR3iF3IC&iow{ihQX6Dp%+vp@A3%H7=D zo*H3hR6eGoqq|&`l9Eyb>C(}seo!THxjcRyOCf+^*%SLcnZxjKdz{0&?nhtWeNO?m zN#lKY%2H8Izz3+b*P&U{G7whJ)@TtSC1o_z^Y`??b(WNri1?my0_}>R3%n+DocZ=W z6&`>Mb_&u$vz}NAo5{*-o#a-RWz>4d*$CiCHtox+VjAaTKp{@C~+Z>F^^oAI#Ep8 zeCp+oOg%lM% zrj_!GN=qYWe*72#61%mF#lSmBQ1U+7sp|OAA*#2Q+h|HsV$|{4GUa7N^36K%Hu#{q zW2_2J_mE1c+d9WTA}fnp&~^kp$L|;$n12*#0O(-zrFt$ek8TCxx{247Xo{*r`%zs_cFZSDAQawlN<*g?GC`Z8PSLn<vNxlVr&lQW8M!2b%PX1-cd*_{aa?MrmqtHPx|gU z^m#ljgQzG4@DJfI&YpL~k6i#ABjIz31vK%4W>Q854sCqoM1`>-x#74-X-YaH$iXFi z&&o&qNKMde)teVCG5l&XZ)3G0)Xhb`eKpzXp1Kr zi=g}ySHJdQCEw|V{a1X5P3tG4dWR=;pxr>=9##28m=jP@#eneqvt#_eUfb9x!h5$+ z?*{tL?mP10>7?&B_~*{`J)QJ>AmUW2%8Q3Hh3Zt7|I?f^od0}za}x^!*yTu|`bOVu zf&q=1Y^?QKIQDCx0A6UD?|IkQ7zqd)-GG-^+TVW<*w?i5^kwiS8#}uWRjN5T@V)H* zpFV#4_+}Jn$oC&VaEdgtyNb2*K_3%XTtkLEInQanS!FdjyP?#Z-RJ7`2?!~NAOwE- z^5wqD3n3sP(s6Rmci=05cSwOAiiD)3P>}kqfa_*=E4CR@9KX^h)g{Kp##T~RP8H+Wt6!ypZ>L?^jjWC#(>7B zRe=64mLusP5Kw2k*QMLrf6kXzSlHOw8HWA!UZ9V$z_Dgmf<3xG#2*BRk<(H=j~8Xe zn2-f~$+bU!a#d5gmvSV$i9l|#IZ=^${R`;WePfh}$2JKh7l@8r^bIpLHTCZXXE+|E zppul|QfKg51P3r{a&YD)AZwtjcoh8TK$<;318V~B0{m|NPTn&_L_|b@R@lRNWTF7# zPDsb?74G}@@5!IqeY}?b3nI+DN9mfHg5~Sx%0=Kkt1@j{T3QMM$Sn`l=!*5r44RIz zva^>#^BC~c0KXzeM{DPnU+8ZFxN;(=YL8_O+&N1yBmv5%$f_RsQdF7H8_FR8}WOW1?&X_ zk|pkm4-_pTGt)TyXmn)cM_hhCzniP;J=d+Rr3J}#pC2nT)O>vlQpCvgbc*}x;{9}h zoqz=0-u$y1E7rdFlcd?XdIY|IsKdW<%}h@}ag2GbPonC21#*M_BEyDqE>6xd?i~=* z3>xuCRt-HQ*ETj*flu5VD@nR)iBPp7A}23)Pc`d5Ja032mU9q2(BB`NnMq|~X*pa4 zmo~82-r1|0m l6}Dud1?_GB3#VR7f2E;X-3k1F4w{`I$_g6tm9l0b{|9x-;I{w( literal 11534 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 B7XttQ diff --git a/docs/images/chapters/arclength/fe2663b205d14c157a5a02bfbbd55987.png b/docs/images/chapters/arclength/fe2663b205d14c157a5a02bfbbd55987.png index 6190a5af3577d762a51c18b8a36b5bf3f899331b..99e40b6bf2200c5557e5a8fc8197554ff6457c8e 100644 GIT binary patch literal 12355 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 literal 12350 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 literal 11234 zcmb_?c{r8p`|k>w=cz?zLJ`Z5d8R0m5VnwoP|1*a&P?W1=Ak5n5F!hihma{_X33Z# znWx|V?(g~Moa=Yab^WgE?5*~`)>_{8UC(phpZhaB5jxuH6r{|gC=`m~x`vuA3U!7K z`9n+yuQ24#R>6M=Ei~2DP^ZYhS+%(dC=>_kx|*`SN80ZRPZz!UYQ+tQly^(x?{3OS zE(M2>-mfOVFB8b28_z@&KZ8=gOj?b~XAy3jyBaUxc=h5}75e5*+N%X=&m7~ulS*HF zwY^K0zHsqDg2c^~2d5{~!)DT2tZuuL*E4#I3stU9?LN3TwRXJbu6VZ@Lms4!VUBim zcVF+)lnrUk-n5l#WA4c*V;>(HYBlB*XNy*!lb-ZQr=(LM_M|3-zXkZUh&ceqJ-u!_ab8M^SeL0!#|J#%P4=(!OebN8?`tlh~V(i)Nr>-A2jg5_adwWqYZ=8+S z;Hf&Wl{;jGFPo-jYRdZSTRK^YO2F;xYnU2a$Hqtt2EB%bQM=^qrAFkDEqIYFPo}<{&doYFd~I*9|J9uu zpPCw(l!Puct{{zMygX}VZ=;HxohB#5fB*jdM!%-;%u7SFhER(0)NE`q+3K;g^#S

6&yOs7W;WXSEE$8kj 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 aeO1k@c5`F#SYfMKl#+rPrbO=kv;PGeV0@YY diff --git a/docs/images/news/2020-09-18.html/24b6ead799277b0d73687d2fc5532a84.svg b/docs/images/news/2020-09-18.html/24b6ead799277b0d73687d2fc5532a84.svg new file mode 100644 index 00000000..74ae8b44 --- /dev/null +++ b/docs/images/news/2020-09-18.html/24b6ead799277b0d73687d2fc5532a84.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/news/2020-09-18.html/b465a1526a406578c9806a9985e2dbd0.png b/docs/images/news/2020-09-18.html/b465a1526a406578c9806a9985e2dbd0.png new file mode 100644 index 0000000000000000000000000000000000000000..3197c1fcd012bf535b19f2c26f8b3c8b4536f704 GIT binary patch literal 3224 zcmds4dpOf=A79T?k{*XwAr&f{J<1`uB!q;R*~EB>mZ+4&%!|lrI=(`p&5UZPwK=VA zg&AX3NoWq4Nja9U3@^GHJg59WhJ0Tt9-N;D3n6sZZ4qJAL%}?lmG(#hJd*^`Chm?HH7u_ zyJpZb+jS}X;`=`ck^;M&dMv zV>)@HZC7Xid32NCEYp{p_MC1>s%t0P#}SO!39fbFmW6`j5+m7QTk~2_^bRAC$@LAO zjiJ9hy<7--{O3*O=fcXE{u6BFlW&xb7M48sYq`%VeU$74wnvESwoCrg`aj?Or$=`w z!v%-^^1YT4K<+V4Td>N|hDDR4r3A@7QXQcsMC~WF`DuCo2AIo_t4(}erSaJH7uV_l zc*i`C?7}Bv&zi***(LqO!MKiCQabrtw#3aqz64jdKhSvIEZ)T+bGI_pdUy+$pV{b@ zxFK{O!L&6$cAAhdy?xcTj|E+{9iXiR#yGI6l)9Eju+rdHx>rm zLPA2~L!83qEe6GVe0=cvw;bkbCLf4;3~8mRJjI(PI?+Z*q#O1*${oi)qq@ZzBp7@~ zH)-{=0*{lKs=SU_GRxQRB>IF-OiuPJP7U~>P?i%8p<#wb8>o*TAGKSREVn(~>Fw=( z%Lj!z|K+WP{p#{J?y5o#fnhKh*#w<6|G7AQx3Mv7-MV$jb8S$qLFG2aBrAx6T(7S0 z8yI-I1~X8SekLVej+Cgfw`? zqemjKfJ7vd8K3W^AhGbzk20?8LaibV~u@d*>&)tL=wgW z&{Da4$h`48rNBIxi7G{oPqO%bKd9gLz&WG(jG*Azg1Y{}vR=A>WXnyx-R9>0XU@=& z#SV<+q6RB)Dd4kGI}3%xVsu7#lkZ z9I><5kyTP+1c5^7RaGd1^yMcwsaOXlOdLroHNbs$%C%oC1guLdyIC|c!eU4EO$f~S zqRdUu>WJRm;lqPtSHJFslg!TJD)y=Ztg0K@@b(#j#R;ei>p1DIq~N7WW2Xi_I-@kw8Nx;1LNoaG{Gih5}8=gwspoqEqdzd;;Gqs0r^xdpeE{A{D%lm{=Jgn;S=^N z^F0w!QTbrg6Ab~8eazl#8+CkxgIO_eAGAE(5Cprj=2&gahxg~>B<;GD%gxz35La(q zWdWmqVBq0KfKdHiBMl!!20|>~jTBea!p0UBU5D-3IyEl-)r-g934uVkF@|gX{QLkR zqKRHQP@}mSr1?5&oC9wD;k_@O2n6pT;#F&F9vJiXu~Tz%vte{FAD0%tGyJXK88de- z#zIrm0_LJeHZ;(JA-77YmN1V@MRwO+8$)AT-?pwU5}0h4h|EyatBexfwu%J9$YgS| znCP!`YEdDdnQSpg7d0e(qpUMW*R(gaZ$dTK`?yM9%!HsWVIvFeMEC54(?f*RE4KX&*L zVD5SjsR01nt<}3~FvP}{gn7F7*~a_UX@{oBW&;Cz z$ToE9U3vVc*1x66#!GFJ=BSmGmDRYFjY@4w#+yaO50eP3a2AUuJx3gBqD7=gjy;?Wc8YDLO4Yd2qO# zk3BKcog_bF*+c83JCjtM$3N+oPesM!6ObP9L+3&Ocd;;kgp|>x2X{NWIfsDhz7Y^R zpCuNcyT7>)%CmJd3foVUqEoNvAK0-%KbYiV8^-|jg*BDIY$}dRN`i3m$ zlfa3i$VDAXwe(*TYU|ekbUG1}~Mp_AbM}e;f2 - + @@ -461,14 +461,14 @@ Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -509,7 +509,7 @@ Scripts are disabled. Showing fallback image. - + @@ -580,7 +580,7 @@ Scripts are disabled. Showing fallback image. - + @@ -748,7 +748,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -757,7 +757,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -766,7 +766,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -794,7 +794,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -878,7 +878,7 @@ function Bezier(3,t,w[]): Scripts are disabled. Showing fallback image. - + @@ -975,7 +975,7 @@ function RationalBezier(3,t,w[],r[]): > Scripts are disabled. Showing fallback image. - + @@ -988,7 +988,7 @@ function RationalBezier(3,t,w[],r[]): > Scripts are disabled. Showing fallback image. - + @@ -1092,7 +1092,7 @@ function RationalBezier(3,t,w[],r[]): > Scripts are disabled. Showing fallback image. - + @@ -1156,7 +1156,7 @@ function RationalBezier(3,t,w[],r[]): > Scripts are disabled. Showing fallback image. - + @@ -1165,7 +1165,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1212,7 +1212,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1648,7 +1648,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -1927,7 +1927,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -1940,7 +1940,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -2014,7 +2014,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -2126,7 +2126,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -2175,7 +2175,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -2189,7 +2189,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -2489,7 +2489,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2503,7 +2503,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2540,14 +2540,14 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -2595,7 +2595,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2603,7 +2603,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2628,14 +2628,14 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -2769,7 +2769,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2803,7 +2803,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2995,7 +2995,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -3026,7 +3026,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -3073,7 +3073,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3135,21 +3135,21 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -3223,7 +3223,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3252,7 +3252,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3267,7 +3267,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3382,7 +3382,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3406,7 +3406,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3438,7 +3438,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3457,7 +3457,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3507,7 +3507,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3556,7 +3556,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3569,7 +3569,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3637,7 +3637,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3686,7 +3686,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3701,7 +3701,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3813,7 +3813,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3833,7 +3833,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3889,7 +3889,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3904,7 +3904,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3975,7 +3975,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4006,7 +4006,7 @@ for (coordinate, index) in LUT: > Scripts are disabled. Showing fallback image. - + @@ -4025,7 +4025,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4049,7 +4049,7 @@ for (coordinate, index) in LUT: > Scripts are disabled. Showing fallback image. - + @@ -4389,7 +4389,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4421,7 +4421,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4795,7 +4795,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4809,7 +4809,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4841,7 +4841,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4855,7 +4855,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4884,7 +4884,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4898,7 +4898,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4922,7 +4922,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4936,7 +4936,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5094,7 +5094,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5109,7 +5109,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5161,7 +5161,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5176,7 +5176,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5214,7 +5214,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5339,7 +5339,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5573,7 +5573,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5652,7 +5652,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5667,7 +5667,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5712,7 +5712,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5734,7 +5734,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5905,7 +5905,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5930,7 +5930,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5951,7 +5951,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5974,7 +5974,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + diff --git a/docs/ja-JP/index.html b/docs/ja-JP/index.html index 6c0fc144..1df4c29d 100644 --- a/docs/ja-JP/index.html +++ b/docs/ja-JP/index.html @@ -33,7 +33,7 @@ - + @@ -435,14 +435,14 @@ Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -476,7 +476,7 @@ Scripts are disabled. Showing fallback image. - + @@ -527,7 +527,7 @@ Scripts are disabled. Showing fallback image. - + @@ -669,7 +669,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -678,7 +678,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -687,7 +687,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -786,7 +786,7 @@ function Bezier(3,t,w[]): Scripts are disabled. Showing fallback image. - + @@ -867,14 +867,14 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -964,7 +964,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1014,7 +1014,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1023,7 +1023,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1065,7 +1065,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1484,7 +1484,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -1763,7 +1763,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -1776,7 +1776,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -1850,7 +1850,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -1962,7 +1962,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -2011,7 +2011,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -2025,7 +2025,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -2325,7 +2325,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2339,7 +2339,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2376,14 +2376,14 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -2431,7 +2431,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2439,7 +2439,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2464,14 +2464,14 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -2605,7 +2605,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2639,7 +2639,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2831,7 +2831,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2862,7 +2862,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2909,7 +2909,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -2971,21 +2971,21 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -3059,7 +3059,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3088,7 +3088,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3103,7 +3103,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3218,7 +3218,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3242,7 +3242,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3274,7 +3274,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3293,7 +3293,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3343,7 +3343,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3392,7 +3392,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3405,7 +3405,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3473,7 +3473,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3522,7 +3522,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3537,7 +3537,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3649,7 +3649,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3669,7 +3669,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3725,7 +3725,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3740,7 +3740,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3811,7 +3811,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -3842,7 +3842,7 @@ for (coordinate, index) in LUT: > Scripts are disabled. Showing fallback image. - + @@ -3861,7 +3861,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -3885,7 +3885,7 @@ for (coordinate, index) in LUT: > Scripts are disabled. Showing fallback image. - + @@ -4225,7 +4225,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4257,7 +4257,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4631,7 +4631,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4645,7 +4645,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4677,7 +4677,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4691,7 +4691,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4720,7 +4720,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4734,7 +4734,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4758,7 +4758,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4772,7 +4772,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4930,7 +4930,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4945,7 +4945,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4997,7 +4997,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5012,7 +5012,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5050,7 +5050,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5175,7 +5175,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5409,7 +5409,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5488,7 +5488,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5503,7 +5503,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5548,7 +5548,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5570,7 +5570,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5741,7 +5741,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5766,7 +5766,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5787,7 +5787,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5810,7 +5810,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + diff --git a/docs/js/custom-element/api/README.md b/docs/js/custom-element/api/README.md index 4d5f7d3c..5d95b1e4 100644 --- a/docs/js/custom-element/api/README.md +++ b/docs/js/custom-element/api/README.md @@ -231,6 +231,7 @@ The following is the list of API functions that can be used to draw... whatever - `this.width` the width of the graphic - `this.height` the height of the graphic +- `this.frame` the current frame (i.e. the number of times `draw()` has run) - `this.panelWidth` the width of a single panel in the graphic, only meaningful in conjunction with `setPanelWidth` (see below) - `this.parameters` the collection of externally passed parameters (via HTML: `data-...` attributes, via JS: a key/value object) - `this.cursor` represents the current mouse/touch cursor state diff --git a/docs/js/custom-element/api/base-api.js b/docs/js/custom-element/api/base-api.js index 40eca775..5f8a603f 100644 --- a/docs/js/custom-element/api/base-api.js +++ b/docs/js/custom-element/api/base-api.js @@ -77,6 +77,7 @@ class BaseAPI { this.addListeners(); this.setSize(width, height); this.currentPoint = false; + this.frame = 0; this.setup(); this.draw(); } @@ -175,7 +176,6 @@ class BaseAPI { this.stopEvent(evt); this.cursor.down = false; this.cursor.move = false; - this.getCursorCoords(evt); } /** @@ -244,6 +244,7 @@ class BaseAPI { * This is the draw (loop) function. */ draw() { + this.frame++; // console.log(`draw`); } diff --git a/docs/js/custom-element/api/graphics-api.js b/docs/js/custom-element/api/graphics-api.js index fd090df2..373d5146 100644 --- a/docs/js/custom-element/api/graphics-api.js +++ b/docs/js/custom-element/api/graphics-api.js @@ -107,11 +107,15 @@ class GraphicsAPI extends BaseAPI { for (let i = 0, e = this.movable.length, p; i < e; i++) { p = this.movable[i]; if (new Vector(p).dist(this.cursor) <= 5) { - this.setCursor(this.HAND); + if (this.canvas.style.cursor !== `none`) { + this.setCursor(this.HAND); + } return; // NOTE: this is a return, not a break! } } - this.setCursor(this.POINTER); + if (this.canvas.style.cursor !== `none`) { + this.setCursor(this.POINTER); + } } } diff --git a/docs/news/2020-09-18.html b/docs/news/2020-09-18.html index a592f73d..e760c3c7 100644 --- a/docs/news/2020-09-18.html +++ b/docs/news/2020-09-18.html @@ -27,7 +27,7 @@ - + @@ -142,13 +142,33 @@

  • Essentially reinventing (a limited form of) Processing.js
  • Writing a custom build system, because I'm exhausted with Webpack and hope to never use it again.
  • Using modern ES module code that runs in both the browser and Node.js.
  • -
  • Chapter content written as easy to read and write markdown format.
  • +
  • + Chapter content written as easy to read and write markdown format: view this blog post's source file. +
  • A custom <graphics-element> element that turns a src="blah.js" into an interactive canvas graphic...
  • ...with that same source code being read in and run by Node.js on a canvas to generate fallback images.
  • + +
    + + + Scripts are disabled. Showing fallback image. + + + +
    + +
    • Real LaTeX code, that gets compiled into optimized SVG using xelatex, pdfcrop, pdf2svg, and - svgo. + svgo:
    • +
    +
    + +
    + +
    • "Lazy loaded everything", so that you get what you need, only when or even just before you need it.
    • Localized content based on a simple filenaming scheme.
    • Nicely formatted HTML, CSS, and JS thanks to prettier.
    • diff --git a/docs/news/2020-09-18.md b/docs/news/2020-09-18.md index 1619027e..f67feb7f 100644 --- a/docs/news/2020-09-18.md +++ b/docs/news/2020-09-18.md @@ -13,10 +13,26 @@ To give a bit of a teaser, some of the things I'll be writing about: - Essentially reinventing (a limited form of) Processing.js - Writing a custom build system, because I'm exhausted with Webpack and hope to never use it again. - Using modern ES module code that runs in both the browser and Node.js. -- Chapter content written as easy to read and write markdown format. -- A custom `` element that turns a `src="blah.js"` into an interactive canvas graphic... +- Chapter content written as easy to read and write markdown format: view this blog post's source file. +- A custom `<graphics-element>` element that turns a `src="blah.js"` into an interactive canvas graphic... - ...with that same source code being read in and run by Node.js _on a canvas_ to generate fallback images. -- Real LaTeX code, that gets compiled into optimized SVG using `xelatex`, `pdfcrop`, `pdf2svg`, and `svgo`. + +
      + +
      + +- Real LaTeX code, that gets compiled into optimized SVG using `xelatex`, `pdfcrop`, `pdf2svg`, and `svgo`: + +
      +\[ +\begin{aligned} + B(t)_{cubic} &= \sum^{n=3}_{k=0}{\ P_{{}_k} \binom{n}{k}(1-t)^{n-k}t^k} \\ + \\ + &= P_{{}_0} (1-t)^3 + 3 P_{{}_1}(1-t)^2t + 3P_{{}_2}(1-t)t^2 + P_{{}_3} t^3 +\end{aligned} +\] +
      + - "Lazy loaded everything", so that you get what you need, only when or even just before you need it. - Localized content based on a simple filenaming scheme. - Nicely formatted HTML, CSS, and JS thanks to `prettier`. diff --git a/docs/news/example.js b/docs/news/example.js new file mode 100644 index 00000000..fe4a8f72 --- /dev/null +++ b/docs/news/example.js @@ -0,0 +1,33 @@ +let bg = `pink`; + +setup() { + setGrid(30, `red`); + setCursor(`none`); + setTextStroke(`white`, 4); + setFontSize(18); +} + +draw() { + clear(bg); + setColor(`#30F0D0`); + circle(this.cursor.x, this.cursor.y, 5); + setColor(`black`); + text(`Frame ${this.frame}`, this.width/2, this.height/2, CENTER); +} + +onMouseDown() { + bg = 'salmon'; + redraw(); +} + +onMouseMove() { + if(this.cursor.down) { + bg = 'orange'; + } + redraw(); +} + +onMouseUp() { + bg = 'pink'; + redraw(); +} diff --git a/docs/news/rss.xml b/docs/news/rss.xml index caf64291..a0d3cb4e 100644 --- a/docs/news/rss.xml +++ b/docs/news/rss.xml @@ -27,10 +27,27 @@ <li>Essentially reinventing (a limited form of) Processing.js</li> <li>Writing a custom build system, because I'm exhausted with Webpack and hope to never use it again.</li> <li>Using modern ES module code that runs in both the browser and Node.js.</li> -<li>Chapter content written as easy to read and write markdown format.</li> +<li>Chapter content written as easy to read and write markdown format: <a href="./news/2020-09-18.md">view this blog post's source file</a>.</li> <li>A custom <code>&lt;graphics-element&gt;</code> element that turns a <code>src="blah.js"</code> into an interactive canvas graphic...</li> <li>...with that same source code being read in and run by Node.js <em>on a canvas</em> to generate fallback images.</li> -<li>Real LaTeX code, that gets compiled into optimized SVG using <code>xelatex</code>, <code>pdfcrop</code>, <code>pdf2svg</code>, and <code>svgo</code>.</li> +</ul> +<blockquote> + <graphics-element title="An example graphic" width="275" height="275" src="./news/example.js" > + <fallback-image> + <span class="view-source">Scripts are disabled. Showing fallback image.</span> + <img width="275px" height="275px" src="./images/news/2020-09-18.html/b465a1526a406578c9806a9985e2dbd0.png" loading="lazy"> + <label>An example graphic</label> + </fallback-image></graphics-element> +</blockquote> + +<ul> +<li>Real LaTeX code, that gets compiled into optimized SVG using <code>xelatex</code>, <code>pdfcrop</code>, <code>pdf2svg</code>, and <code>svgo</code>:</li> +</ul> +<blockquote> +<img class="LaTeX SVG" src="./images/news/2020-09-18.html/24b6ead799277b0d73687d2fc5532a84.svg" width="401px" height="97px" loading="lazy"> +</blockquote> + +<ul> <li>"Lazy loaded everything", so that you get what you need, only when or even just before you need it.</li> <li>Localized content based on a simple filenaming scheme.</li> <li>Nicely formatted HTML, CSS, and JS thanks to <code>prettier</code>.</li> diff --git a/docs/zh-CN/index.html b/docs/zh-CN/index.html index f781937d..a82bb7ea 100644 --- a/docs/zh-CN/index.html +++ b/docs/zh-CN/index.html @@ -33,7 +33,7 @@ - + @@ -418,14 +418,14 @@ Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -456,7 +456,7 @@ Scripts are disabled. Showing fallback image. - + @@ -503,7 +503,7 @@ Scripts are disabled. Showing fallback image. - + @@ -639,7 +639,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -648,7 +648,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -657,7 +657,7 @@ function Bezier(3,t): Scripts are disabled. Showing fallback image. - + @@ -752,7 +752,7 @@ function Bezier(3,t,w[]): Scripts are disabled. Showing fallback image. - + @@ -829,14 +829,14 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -919,7 +919,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -968,7 +968,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -977,7 +977,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1021,7 +1021,7 @@ function RationalBezier(3,t,w[],r[]): Scripts are disabled. Showing fallback image. - + @@ -1456,7 +1456,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -1735,7 +1735,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -1748,7 +1748,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -1822,7 +1822,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -1934,7 +1934,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -1983,7 +1983,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -1997,7 +1997,7 @@ function drawCurve(points[], t): > Scripts are disabled. Showing fallback image. - + @@ -2297,7 +2297,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2311,7 +2311,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2348,14 +2348,14 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -2403,7 +2403,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2411,7 +2411,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2436,14 +2436,14 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -2577,7 +2577,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2611,7 +2611,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2803,7 +2803,7 @@ function getCubicRoots(pa, pb, pc, pd) { Scripts are disabled. Showing fallback image. - + @@ -2834,7 +2834,7 @@ function getCubicRoots(pa, pb, pc, pd) { > Scripts are disabled. Showing fallback image. - + @@ -2881,7 +2881,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -2943,21 +2943,21 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -3031,7 +3031,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3060,7 +3060,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3075,7 +3075,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3190,7 +3190,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3214,7 +3214,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3246,7 +3246,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3265,7 +3265,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3315,7 +3315,7 @@ y = curve.get(t).y Scripts are disabled. Showing fallback image. - + @@ -3364,7 +3364,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3377,7 +3377,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3445,7 +3445,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3494,7 +3494,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3509,7 +3509,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3621,7 +3621,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3641,7 +3641,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3697,7 +3697,7 @@ lli = function(line1, line2): > Scripts are disabled. Showing fallback image. - + @@ -3712,7 +3712,7 @@ lli = function(line1, line2): Scripts are disabled. Showing fallback image. - + @@ -3783,7 +3783,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -3814,7 +3814,7 @@ for (coordinate, index) in LUT: > Scripts are disabled. Showing fallback image. - + @@ -3833,7 +3833,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -3857,7 +3857,7 @@ for (coordinate, index) in LUT: > Scripts are disabled. Showing fallback image. - + @@ -4197,7 +4197,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4229,7 +4229,7 @@ for (coordinate, index) in LUT: Scripts are disabled. Showing fallback image. - + @@ -4603,7 +4603,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4617,7 +4617,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4649,7 +4649,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4663,7 +4663,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4692,7 +4692,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - +
      @@ -4706,7 +4706,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4730,7 +4730,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4744,7 +4744,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4902,7 +4902,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4917,7 +4917,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4969,7 +4969,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -4984,7 +4984,7 @@ for p = 1 to points.length-3 (inclusive): > Scripts are disabled. Showing fallback image. - + @@ -5022,7 +5022,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5147,7 +5147,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5381,7 +5381,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5460,7 +5460,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5475,7 +5475,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5520,7 +5520,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5542,7 +5542,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5713,7 +5713,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5738,7 +5738,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5759,7 +5759,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + @@ -5782,7 +5782,7 @@ for(let L = 1; L <= order; L++) { Scripts are disabled. Showing fallback image. - + diff --git a/src/build/create-news-pages.js b/src/build/create-news-pages.js index d2e223f1..bd0fcbd0 100644 --- a/src/build/create-news-pages.js +++ b/src/build/create-news-pages.js @@ -3,7 +3,8 @@ import fs from "fs-extra"; import path from "path"; import paths from "../project-paths.js"; import nunjucks from "nunjucks"; -import convert from "./markdown/convert.js"; +import LocaleStrings from "../locale-strings.js"; +import { convertMarkDown } from "./markdown/convert-markdown.js"; nunjucks.configure(paths.html, { autoescape: false }); @@ -15,8 +16,9 @@ const locale = `en-GB`; */ async function createNewsPages() { const start = Date.now(); + const localeStrings = new LocaleStrings(); const files = await getNewsFiles(); - const details = files.filter((f) => !f.includes(`draft`)).map((file) => generatePost(file)); + const details = await Promise.all(files.filter((f) => !f.includes(`draft`)).map((file) => generatePost(file, localeStrings))); console.log(`Processing News posts took ${(Date.now() - start) / 1000}s`); generateNewsIndex(details); generateRSSFeed(details); @@ -37,7 +39,7 @@ function getNewsFiles() { /** * ...docs go here... */ -function generatePost(file) { +async function generatePost(file, localeStrings) { // get the post, and the data its filename implies const filename = path.basename(file).replace(`.md`, `.html`); const postDate = filename.replace(`.html`, ``); @@ -45,7 +47,17 @@ function generatePost(file) { const dateString = new Date(postDate).toUTCString().substring(0, 16); // split off the post's title - let post = convert(data); + let post = await convertMarkDown( + { + imagepath: path.join(paths.images, `news`, filename), + modulepubdir: `./news/`, + file: file, + id: filename, + }, + localeStrings, + data + ); + const title = post.substring(post.indexOf(`

      `) + 4, post.indexOf(`

      `)); post = post.replace(`

      ${title}

      `, ``); diff --git a/src/build/latex/latex-to-svg.js b/src/build/latex/latex-to-svg.js index ee459350..a1255c6c 100644 --- a/src/build/latex/latex-to-svg.js +++ b/src/build/latex/latex-to-svg.js @@ -4,6 +4,7 @@ import paths from "../../project-paths.js"; import { createHash } from "crypto"; import { execSync } from "child_process"; import cleanUp from "./cleanup.js"; +import toPOSIX from "../../to-posix.js"; /** * This converts a latex block into a .svg file by running it through @@ -15,18 +16,18 @@ import cleanUp from "./cleanup.js"; * so that the document won't constantly reflow as it loads images * in. */ -export default async function latexToSVG(latex, chapter, localeStrings, block) { +export default async function latexToSVG(latex, pathdata, localeStrings, block) { + const { imagepath, id } = pathdata; latex = colorPreProcess(latex); const locale = localeStrings.getCurrentLocale(); const hash = createHash(`md5`).update(latex).digest(`hex`); const TeXfilename = path.join(paths.temp, `${hash}.tex`); - const chapterDir = path.join(paths.images, `chapters`, chapter); - fs.ensureDirSync(chapterDir); + fs.ensureDirSync(imagepath); - const SVGfilename = path.join(chapterDir, `${hash}.svg`); - const srcURL = `./images/chapters/${chapter}/${hash}.svg`; + const SVGfilename = path.join(imagepath, `${hash}.svg`); + const srcURL = `./${toPOSIX(path.relative(paths.public, SVGfilename))}`; if (!fs.existsSync(SVGfilename)) { // There is no SVG graphic for the LaTeX code yet, so we need to generate @@ -80,7 +81,7 @@ export default async function latexToSVG(latex, chapter, localeStrings, block) { // Finally: run the conversion try { - process.stdout.write(`- running xelatex for block [${chapter}:${locale}:${block}] (${hash}.tex): `); + process.stdout.write(`- running xelatex for block [${id}:${locale}:${block}] (${hash}.tex): `); runCmd(commands.xetex, hash); process.stdout.write(` - cropping PDF to document content: `); diff --git a/src/build/markdown/convert-markdown.js b/src/build/markdown/convert-markdown.js index a631ae49..a7873981 100644 --- a/src/build/markdown/convert-markdown.js +++ b/src/build/markdown/convert-markdown.js @@ -8,11 +8,11 @@ nunjucks.configure(".", { autoescape: false }); /** * ...docs go here... */ -async function convertMarkDown(chapter, localeStrings, markdown) { +async function convertMarkDown(pathdata, localeStrings, markdown) { try { - markdown = await preprocessGraphicsElement(chapter, localeStrings, markdown); + markdown = await preprocessGraphicsElement(pathdata, localeStrings, markdown); } catch (e) { - console.error(`Unrecoverable error in ${chapter}:${localeStrings.currentLocale}.`); + console.error(`Unrecoverable error in ${pathdata.file}.`); console.error(e); process.exit(1); } @@ -21,7 +21,11 @@ async function convertMarkDown(chapter, localeStrings, markdown) { // uniquely named templating variables, referencing keys in the `latex` array. const { data, latex } = extractLaTeX(markdown); - await Promise.all(Object.keys(latex).map(async (key, pos) => (latex[key] = await latexToSVG(latex[key], chapter, localeStrings, pos + 1)))); + await Promise.all( + Object.keys(latex).map(async (key, pos) => { + latex[key] = await latexToSVG(latex[key], pathdata, localeStrings, pos + 1); + }) + ); let converted = convert(data); return nunjucks.renderString(converted, latex); diff --git a/src/build/markdown/generate-fallback-image.js b/src/build/markdown/generate-fallback-image.js index 55ffd3ae..f59ea06a 100644 --- a/src/build/markdown/generate-fallback-image.js +++ b/src/build/markdown/generate-fallback-image.js @@ -4,6 +4,7 @@ import { createHash } from "crypto"; import { generateGraphicsModule } from "./generate-graphics-module.js"; import paths from "../../project-paths.js"; import getModulePath from "../../get-module-path.js"; +import toPosix from "../../to-posix.js"; const thisModuleDir = getModulePath(import.meta.url); @@ -17,7 +18,7 @@ const thisModuleDir = getModulePath(import.meta.url); * @param {Number} h The sketch height in pixels */ async function generateFallbackImage( - chapter, + pathdata, localeStrings, src, w, @@ -25,6 +26,7 @@ async function generateFallbackImage( dataset = {} // Abstracted from the markup ) { const locale = localeStrings.getCurrentLocale(); + const { imagepath } = pathdata; // Get the sketch code const sourcePath = path.join(paths.chapters, `..`, src); @@ -40,18 +42,18 @@ async function generateFallbackImage( // or not we should generate an image or whether we already did that previously. const hash = createHash(`md5`).update(code).update(JSON.stringify(dataset)).digest(`hex`); - if (locale !== localeStrings.getDefaultLocale()) return hash; + fs.ensureDirSync(imagepath); + const filePath = path.join(imagepath, `${hash}.png`); + const imgUrl = `./${toPosix(path.relative(paths.public, filePath))}`; - const destPath = path.dirname(path.join(paths.images, src)); - fs.ensureDirSync(destPath); + if (locale !== localeStrings.getDefaultLocale()) return imgUrl; - const filePath = path.join(destPath, `${hash}.png`); - if (fs.existsSync(filePath)) return hash; + if (fs.existsSync(filePath)) return imgUrl; // If we get here, we need to actually run the magic: convert // this to a valid JS module code and write this to a temporary // file so we can import it. - const nodeCode = generateGraphicsModule(chapter, code, w, h, dataset); + const nodeCode = generateGraphicsModule(pathdata, code, w, h, dataset); const codeFile = `./nodecode.${Date.now()}.${Math.random()}.js`; const modulePath = path.join(paths.temp, codeFile); fs.writeFileSync(modulePath, nodeCode, `utf8`); @@ -78,7 +80,7 @@ async function generateFallbackImage( console.error(e); } - return hash; + return imgUrl; } export default generateFallbackImage; diff --git a/src/build/markdown/generate-graphics-module.js b/src/build/markdown/generate-graphics-module.js index 22dab777..05317ab3 100644 --- a/src/build/markdown/generate-graphics-module.js +++ b/src/build/markdown/generate-graphics-module.js @@ -3,6 +3,7 @@ import path from "path"; import paths from "../../project-paths.js"; import splitCodeSections from "../../../docs/js/custom-element/lib/split-code-sections.js"; import performCodeSurgery from "../../../docs/js/custom-element/lib/perform-code-surgery.js"; +import toPosix from "../../to-posix.js"; // Get all the values we need to ensure our generated graphics code knows // where it lives, and where it can find all its dependencies @@ -18,8 +19,6 @@ const GRAPHICS_API_LOCATION = path const IMPORT_GLOBALS_FROM_GRAPHICS_API = `${API_IMPORTS} from "${GRAPHICS_API_LOCATION}"`; -const RELATIVE_IMPORT_LOCATION = path.relative(paths.temp, paths.chapters).split(path.sep).join(path.posix.sep); - /** * Node does not have a native canvas available, so we need to shim a number * of objects and functions to ensure it can generate a "first load" snapshot @@ -38,10 +37,13 @@ const canvasBuilder = function canvasBuilder(w, h) { /** * ...docs go here... */ -function generateGraphicsModule(chapter, code, width, height, dataset) { +function generateGraphicsModule(pathdata, code, width, height, dataset) { + const { file } = pathdata; + const relativeWriteDir = toPosix(path.relative(paths.temp, path.dirname(file))); + // step 1: fix the imports code = code.replace(/(import .+? from) "([^"]+)"/g, (_, main, group) => { - return `${main} "${RELATIVE_IMPORT_LOCATION}/${chapter}/${group}"`; + return `${main} "${relativeWriteDir}/${group}"`; }); // step 2: split up the code into "global" vs. "class" code diff --git a/src/build/markdown/preprocess-graphics-element.js b/src/build/markdown/preprocess-graphics-element.js index a70edbe6..75797245 100644 --- a/src/build/markdown/preprocess-graphics-element.js +++ b/src/build/markdown/preprocess-graphics-element.js @@ -18,7 +18,8 @@ function formDataSet(data) { /** * ...docs go here... */ -async function preprocessGraphicsElement(chapter, localeStrings, markdown) { +async function preprocessGraphicsElement(pathdata, localeStrings, markdown) { + const { modulepubdir, imagepath, file, id } = pathdata; const translate = localeStrings.translate; let pos = -1, @@ -57,18 +58,19 @@ async function preprocessGraphicsElement(chapter, localeStrings, markdown) { let src = terms[3]; - if (src.indexOf(`../`) === 0) src = `./chapters/${chapter}/${src}`; + if (src.indexOf(`../`) === 0) src = `${modulepubdir}${src}`; else { if (src[0] !== `.`) src = `./${src}`; - src = src.replace(`./`, `./chapters/${chapter}/`); + src = src.replace(`./`, `${modulepubdir}`); } // ====================================== // this is super fancy functionality: // ====================================== - let imageHash = await generateFallbackImage( - chapter, + // Note: this is a URL relative to the public dir, **not** a file system location. + let imgUrl = await generateFallbackImage( + pathdata, localeStrings, src, width, @@ -77,9 +79,6 @@ async function preprocessGraphicsElement(chapter, localeStrings, markdown) { formDataSet(remainder.trim()) ); - // Note: this is a URL, _not_ a file system location. - let imgUrl = path.join(path.dirname(src.replace(`./`, `./images/`)), `${imageHash}.png`); - const replacement = `width="${width}" height="${height}" src="${src}" ${remainder}> ${translate`disabledMessage`} diff --git a/src/build/process-locale.js b/src/build/process-locale.js index 898c5433..f67dfa5c 100644 --- a/src/build/process-locale.js +++ b/src/build/process-locale.js @@ -39,7 +39,16 @@ async function processLocale(locale, localeStrings, chapterFiles) { localeFiles.map(async (file) => { const chapter = file.match(/chapters\/([^/]+)\/content./)[1]; const markdown = fs.readFileSync(file).toString("utf8"); - chapters[chapter] = await convertMarkDown(chapter, localeStrings, markdown); + chapters[chapter] = await convertMarkDown( + { + imagepath: path.join(paths.images, `chapters`, chapter), + modulepubdir: `./chapters/${chapter}/`, + file: file, + id: chapter, + }, + localeStrings, + markdown + ); }) ); diff --git a/src/locale-strings.js b/src/locale-strings.js index f6724828..a39ce2e5 100644 --- a/src/locale-strings.js +++ b/src/locale-strings.js @@ -67,7 +67,7 @@ const localeStringData = { // ============================= class LocaleStrings { - constructor(locale) { + constructor(locale = `en-GB`) { this.currentLocale = locale; const strings = (this.strings = {}); diff --git a/src/to-posix.js b/src/to-posix.js new file mode 100644 index 00000000..06610c6f --- /dev/null +++ b/src/to-posix.js @@ -0,0 +1,5 @@ +import path from "path"; + +export default function toPOSIX(pathstring) { + return pathstring.split(path.sep).join(path.posix.sep); +}