From cd4905cff8816582ec8ff2b0315a1b879d8fd707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Fri, 17 Jan 2025 19:15:00 +0100 Subject: [PATCH 1/5] feat: add blog post to publish on GitHub Pages --- .../featured.png | Bin 0 -> 71543 bytes .../2025-01-20-quarto-github-pages/index.qmd | 344 ++++++++++++++++++ 2 files changed, 344 insertions(+) create mode 100644 docs/blog/posts/2025-01-20-quarto-github-pages/featured.png create mode 100644 docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd diff --git a/docs/blog/posts/2025-01-20-quarto-github-pages/featured.png b/docs/blog/posts/2025-01-20-quarto-github-pages/featured.png new file mode 100644 index 0000000000000000000000000000000000000000..f9032c0ce603bb42874085dcd30919e1eaa8edd3 GIT binary patch literal 71543 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

yt<7WhC$v1F+yp%yoT>ps#7#M@0S z5y1oeF^Rb~qI-M#h8l*0ZscB&4V!B0Un&mz6*?v~Iv$F7g4r&{sz<=EiMhhz z^>CR)b;C*!0A@jsu={I*)zkaDz|&EuYO7(d=c|}vU*{0#TSxw!G-?0iwc1sZqiM0b zmZuS)htv*hkWgE0zY~SwaZQft2H=>M*S~)4$j+5P^};OgY6Ai0($@yaV+Mih?Uv06 zVpBII-8r+I7TjT}l-it;>(dpNDpFfD;xaxmyU|h1r1S6_h-)70kPJa^g-&^$XWt>0yZfNn49y*G zwjGR@em^>y{O7MhfbzlJ7_&zJ_@oW0h&8a%WLH$*pGupT%F!g(llk_K7|7}*WPM(| zd*L*1x)E4ya;{^#zf;LVB`Zh}2Jh4ei3CojiMb8bnTJg`EH+H5O^nTAW5b%F;Z60y z-JdH9ixL@&yS3Ag=5R#*fx=*&h&0MMQB+_NWGAAr(@A?8BNV(oKRzyy$~@YLM6vn0 z4f`RoQ~M*HAp|{_3^B*g5lri|LKA}`Ck4MdTMvAfBvcvTq67O85*E`=#!5a=>?Z2c zfmHqoG&y3R(tU~lr2XT9e;MQQ%1QxOVDh{#_!I|=;-M2C?q6O{gUQCnHy<1i4+?Kr zKV-NDQ7Y*@kGS+?CypOxyE7-+BqKta)F&hsLs7Ppy7PCc5siR8lDc1VgfWfEe>be& z^)q&7sUdIqo-!k8+*#||`otdm%TTluRzk5Zsqf*n()j1zUdqvLhN*^%@o!n^guj#53y*>t~{o#*a+ek;JfAk~_9cE-*W9X*c+ zmTN;t1(FBp?xJ=K8)>4t*TS+ePP3?-#Y__4^CWCFT^soWWZAia}&h~rE<@~#OGtN1-QTPoit#l zV>#D?t}1}LfckkE8eEPRdvubAXhc%Y|7t)YY#9Ywh4 zBbHbbr`>W%@>A!#k&CkH9<}rDcxZr0X2=mtR%Z3r8K-M$Q&-xGm9i?ZCJwvh8okbE zO;;?~Oderua_em=@cfLPF~vCj{)8M6Wjh?6s+ow0ahYZiEYE~5#$HZjy zdG9+`+tgQ&xV%!5%3oHdcnL#k5B8DhxtlqyhiV%PyJh&|a|RV9uFV(aXoqQc)B382 zTD*4;moNS9vL;582DjD9p8s0!TwPK?``B)TED)r{GH}Ze!asO*#2@=lRPm{<6ymIr z^IVEP>ezonlHytC5;G%1M*@Sw4Q7&oO|a*reRooj{)=%e&=uzbZ#9H}a^J4;(0ntz zAbwb#U$41%vnzK8(jt%vxjeI!BIq?&tX1V-lTxjv|3AF|to^p)-M?}nj1yV2XA}v>V-Nh6UD1Z#`f`62mo{#>kz$X=0R%$=htf4{9**t$GJISYe zS6#XuAFSqLBj^0G98D zHT>%d3-I^hY2?Cv*%RQZQz~ae(d6}~G&;ZnHzS-w9~TQlNU%Bg}Qa?Q2thp-C zFdmq_s37cFDO0i7py2?nDOKjp$!_?!wlC!d_gI_gd*R75<@@SM#E@Nbt!bI9!p@a< z1%JJv@g6c}$8Y+rhNCb=T+Q+G%Zj-osjC4eoNVd5$bi>1MaQ?9PU@rC$HxXCPR$@a zI$?s!xD6U6S5KdQ&z7!V=Di(H=v5q>BwDIJP*Jl??^gAn3VNbv*Q54?q1fyg$@>z} z%8l=72GM#-U7BpTRgpu#dXK;}?3>$;cUEhCl?WuA*Cz>G{}m{D+rZM)5qa$12X`VH zc~Ixs^U2m|p7Fu)^x6|gBV^vvrjUFr!euRS(`W5P(Q#tVP^)e49JKeg#}0Qt$!ZlV zrj!k1mE$Mfx)6#_(;kw$6697ATVC(Gn-+l9utf>m!26X~q7n2l+ksJwsfwk%DDCkA zql7r@AvAv9K%$TKzbmwARP)N3H@+IkwlWEzW&v1EplmTMT9frZ(nq2kwR|~~ zF&>Ryv!`F`EgZqSJ#E(OT!b2K+=h67qqu{Pk@J5YH&PRQ4boC4vazmU8FS6r06w)8 zWgx0?1kn|e%p=^ggsZN&f%8E9c?SN>GI05)MfiR{STtRkn3m}d<9tqD$0?3B! zYJBrmh=%TY7?bz@-k2CS3ZGmk6p7#-E(m~!Ar}|KZb2JyooVanyrogrO)GIy25Vm> z@57bp+N!tsyDTB2vS74~Uql*db%!T*l9GJj2#-PUe|M_m=06lI_8;OY1pFWIH(=gV z05ojqDWR?^R*9s3K$WnfN3@Q0d3=4Pr`)LVPX(!b1vf8Nm!x2Xb!`1j5Xs4XKg~2{ zCKw%LOmWV^e)Y?&_{Sirav(swEBE;^c}}l*%q4QDKB$|Zue5SlA-r2(WaQBqncR1A z_3VH(Fi%OVB^)F6l%ZlLWk`S2jhg*~ea>P`Y@@5u6h^{PVbJ8_o#Ihogi_cM7T>Be z_&`NIYuP8)H?>S`wN=^Dt_yF|Km`Bql_>Da&!Mr6Qk(fG4JZ}^vo!fxTWM=`G^n-L zcl!K)CY%ahr&du{z0@_^rWO)0C940S#VIn6EK^6@iNcz z60l_61~8xK$w@cHyE|=v`b>&^mr^ip_*)4fK?V3}C+JK~xLWTI>~_SxBAyv47ZI^E zN>8&ak!-Tm_+L}WP1?vMf(+Dp*dHIS2n$RdI3gF<6&Xj|*xS`l?ReI;OLUz64TC*q z__rn$g7fZM67+yQjXuKg~F)>Awx46dYDU$k$WGxBd z@^fW6trg?t*H4plaq%srrC$R=G?1XlA?@5%6=Xjp!abaT-MgQyhHyvA#va zX~XnsHAsH(zX~!^2CMV_`^ozb!}xi3OA5o|_9%6uvMUZlI1wCdy+{1Kff#gA;2%Xj z!#^rK05*Ip8hVZ&H`m+2(VahIPP`EqD{=JD%Vu4r)o{;ApW|bU_libvk_!ITTS&_W z{vu|R#zS+GQ%+Q9&O7ZUYiMGCTZy+n!t!Bi5mETid{)j#b+O@t{ph~^3$sgT0L!K9 zb=tV&!Ah$vRO96|sG(<_4%aY@GfV%N1@l1X&HtPo88~$GS)OxHLTJJ`E|k|e5~M5% zueA324s8(H0<{OpmNAJHKDO{M#8EM8Np1z~mR__UCo*l*=D#`h;cp;Uhr9p1UCmm{ ziITT0nW{POd?8huz02-x5%XieiVf9)sPot>9$P&&I_a#xt$lp)B{ybpF=X^~X#Cz} z!aSeiv`hPpXFwK@K?gfdUNJ4%Osit~?oM>f(bw!^x&q;I+<$9+8fL@hG+U%{u0wBs{RpKOxi;3s z;eBD0GkM_W-;$4x2UUDF{2uI2A<1xg&&6(CjF?ps4#VFEi~nQn1~lcrzly&nyl_;& z1IYd#`X7Uwwc*G|srUhB+y?9qB#5MV$Y;r_SR-2ExhVsF9sz0iS$MVNIywgOp|;XW z2StRiIcg#JWo>E1&nt+;4$r;8qe=J7!jt^0@Q7Xno{0bPff0};#JGAWQ8q7cevSgW zVN@(D>z{QOudqSsT*#4JypxGm=HdcHx!+;Ydr%v$<9M_2(`M)A>fJEp;+$~ll&@27 z(sY#b=WF262RZ-SQu1Z||7WSe*g-h|KVK#O?>PUjjDQaOAM3LIzv-u&C~#gI-G3;i zD$xcKRZ_)Lf6_*j_FxFDl{NTk4g_uP06Z9(KS;J>;9Pv`coL z=m}Pym_GljFg-PN{GW@ND;R<&_d!}HE8MK%dW`kk8E_#1RKs{z7L+eid7MJEt2J7Z z8?~lJU(1K$6RG7w_2w+bvC1g(h@$7?{*=ma8yKKBPm4tTs?S4MJ}Nl#UrgjP4+!_B zE2<=ADUI3|^oHsbWo(hEy$!69P@$q_yL}S{ge?@i4tH_4UXoC(^{KIIUTK*21~7~K z;`afx;P+W8NT#XBrtJo}G3$j71q+9YX$gIgU1pMo{F-tDn%vxtoc)h897~paUkrY| z_}NSv2xn{GD@e+wJhQ8e5QsxX!!Kr=fM$JHuY~>J(W{^*5?^)!jo)1S01vg_mG8=& zW%=&(9y28(G!Q3G5ww7X9*yNXG%l(_m;RHQhr)s{R?FB10EusUee?|*Xbpw4%D5E7 zkiw%>%eP1ANk^p~ANf5z9z_56lVfe4?AzJ|>zS4=L9SmQ8A0F5#-o!ml?lhaRtr%< z-^I#ay(8bHb*tBpqE!{U#y0C`zruPL8EgGJ3U8;^P>1kaJkSeySU&@A+7dO2}S#VK`DqL)Nc1`Bz zKz}E9n`Y)ob)-m z4Uh0>xVZhn?P~E%Nko3+ln`a-MX8==RUz2k(FMNLI71HY`C1x@>|>6P2OW07Dkn@b zYH1juV^0ndKVVFJIZf`vCuypq%y$7#paGTu!3w=BnuaLd*g;5UFY_|2Rr!}m9_Yb> zbtG$?4T~1Z407C`Db;z*l}2(GkZN@O?A>|fpf8m0W{jeKd#Z~65@eL6B)chpq`_)? zroE_-*W7s1vGt7JpAe~i5^uqf!;#|MMVvbIU zy^AX!AVLFgA3mHgu+V^+wI8+=R^ns;`_%&Mmzyt4A}U=yY!fJmx(%uW=0n&-_VzTf zn(bP)T4q#(;N9N_N___97IST7(&t5k?N*l|Ew40`Tuxq$Yp02M_5RFl1uiWb5K6|^ z;9vm*VA65(UjZ%mtjc~OFTlJZn7`I-?qm|GmzBGgf;-169qT+(!F9HZR(@$=kL z9eal)JKcFe!y*AhnO3CC&T;doYgJ&vOJ`6Gz~N6YP{jO@Qfo1ni8zYzI$`oen(6nS z8@OzX?r$g^BUmYD`)lh@P=9}fb3A%L1IZX<_+ztFVM*?A^e*=um=mB+A;zIPe#`CJ z!-&Apj`;vf!zm^z|z=py+=&hIQZYCNyAt$p3_vGEMCDOoUV(`eDK zI29S}R-IR({8z~sGDA?nl~=Zr>KZU8w$TmT(}skkq-2RymZX^vU&Tk8RkYr^kCQq@ zAsb2j(7R}CGHr8~Xf9fvU)N<>B(T!vY?8FYnjHvQ5eQm*@-MX1-^Y5vA79N8`f$3B z_urq<-?WNW%MjxyOZAHjmIf}pDLy z3nBmO?Qt;;t34vgP4zB6Qu@Px906lsHRE|1M2^HK#k91#8qo?5Q_Tx`=Df}vwNZ+R zPh>E*D9{+?2pUhwAwkdg>&}VYpr*^@4MFq`hPYi^dkI= zh(~KfnS(N#364YClB-uM0^7$8dXkTStn^q;?ry&H3m&5e{`auPvq4mAZKG{ofZZii z;d)y^>owVF*_dAJA#ipQ$+Ajd1}E|a=$xx4`*}ZwF|p~=$peYIM&ZXhe^!JY&&F+I z&$_4DeOF{pdB<9M0$czpS>pM^WlWAlW*Q+#ndrY>-K5FNZOoeWgucMXN$E!}HxQdk z0Oflpz_|^4xx@stCsKLa3{t`0O{b-_xhKC`0KUfU+K4{ z)MH1et{DLn%aFlXAfr}a9RB4Q%Nav2_4_x#3q|O(c}`}ZgqC-_YH5~ASbb4YWA)-! zON!C;FZN3DgJ{F&=8`~I+^fYBlExA9bQ?Q(5oA9mc5d3>xGK0JTJh9j&Sod)2Faz@#99)Dp^7OYSzHqw(E0y9`p|e zK$BNg9dCz!ZbobAAG+%-!-dy#OnUKCH3;Jt&D{g6=Cr7o88!4J< z=moA$ncV2{G$~JM>G53Hoer3cl>l%th=1hY5{=ILyQ?(0#8Z~*zg}mh-T3Rr3H+2= zfT{C>&py!qXyp$qn4hsX-O!y%!Z<_RUMtSuxLZot;ck&EK>c8s$7OqZYN{%aE_4+Z zO(b+sy;nw85FG-FP#zPbsTcm?+~P8ox;o3U*w%a3!n5*~@JQ0B=?2l# zE|r6UDh#%Lx*_RCCOkFm(5M6?IuO5DCE6tW=%iKBq-524qjm4CDRqP*dZUh_`OQ=1 z^6XodYy+WXE3jhY_Lm20yG{Y8_CHzSIUs|c%V!=df@kZla(zyH9xn$7OiU|(<{ zBDk=q&9p`5!N&}R#+QD|l_zi(99BQ8(|t<=&5r#+tz7YXcE`U}yR#?BA0^w>t+J<3WK&(bLq7keNhp zz_rB*zz$HFCi*E}?ey!HCf;r>`e?#Zk{ZSmex{xbHWmJn=86+Pu42hu^j1pvPb{6k zJWhBjTG-0}L+}tkI1XW0=`MBWTb$vcubC<&a1}gfTofNz@dv0ai6c^rTYh)zep6ZL zN$gVRI{jpnrXD+EdJG}^sS12Rdg1>F&{1rqQz2$!1%}3cK%AW-jTJooNfqaqRvyiCErU`Bh z*84;RLb`12sRjJV@Njv_3%u$}y{oS*|K61u{jS=7%Bp{?2GT9+I_S@HTAv`pMo$L(;>Q%k}F7N)ds( zg_jbpPU0BKtcA*##!R5EsWaBSmptjW1sP9&%kXI);k+1p(54OSKRFRiMSd9HQ$4Wp6uV!z68Ww!8IrF?QxErTcQrN;$YBAB$o z1{n0J4&Q}1p!4A44$xhaI;bEvx+wwdG?(ET_y8TR{HhYrHEOO5W<+2=sztIbMdwT$ z#e8&Jhcq_Yyj&ELJIF?8H-?&+3)_pAsZeiQw*C;>+G&@Q>sdfR1#7=0TSH1Kt6)^g zfQp2CgT^{+(&J03YyZQj^+S6zImHV5br^U(xbf&DM|L$Hs6KyqB>+=bL{CvWG*uNxM{V z%!?=5BvU8rO+Kt%Sw2~J4zTTgXM8{i;ulFdIh{*bZ3(D-&LifO^c($y($GKXPnB5F zAA*kVMnl2paeI5&jRk)guUjYDa6)_xJYFT7y+0fkEm}>}X#@JaBO(z0WdGFJ=7O;2 zb1pm}j@;34^wD5Tju*b?(y*Au9qHi32J-G9*sql9nBIF z4;meUhu&&LO}YPrh@fG8hhIICM!!c2?g5fh+Hi9w5JedOU)XH`sHgU5?Jq^|nGpb9 zf|~$^FIUy0`*){`nu>F-(MvJ$A7J98DpbPZOu}hEqt)hUBVP@mEg`=;OgL(u*+twa zJVHNcDEdL8ckLhYDQ1^Qh$apFy{Qy)9l9>^tdaOnc&TRd+euF~mJn^YS@qfa#9A4d zJe!lw(vXt-S*Mz>Au!;HV278<-mPJ#3b39L6aGP`PKl%dK>|_+0~_zh%7qHfSB8i7 z4Yw5?u$`jt{iVvMyGxDWdb1WkYJ$_*wPt1T^;`{#5E0d<5`T+E;YOk#6AvJSAO0oNL$r0=CE!(3?X}cb`5j zJN(OVeil5)5{iji@->wE2PXgS@5xEc=C6|m`fOjvC)=GHDl02L;5noURq8N-gPfhq zZ!ag?5m2$tw(p3^REM1+U3qyX_B3XfC2SUwgmlllTSay0l+}Usr?za1L*DMjVNcI4 zRKE>a4Fa>`Fl4r}c?<o#dL{_WU6S2A!2p%ap{#6fEC4ac0eS-n2W5{EL5G>yAaect9Aw^=7`pJf#Kr2X3OqIJT zxaluE9CyY`9|65|iQZ_R*|QLtSw36=eDs3=_l(e@C+wuQ2KnJ(Q!v;_^aAsinsx|) z#}TT*Wt@0tNEF_w9TiN@sX$1pVX%&Y#S8_hPwaL?=Pd4hGC5nE7x|^SBt3!%K3@O4 zeS^;&4?V7aM1Q>bt$UM4Kk$`Yo30*C_)DvCq>4lYz4;mwdSr3FodpIkyXJSj-M$r= z4khMu*iWPV)JXypc%Ze8^4(zf#i}ac+^%FLO&TQpBgkL8CBR`1TbIC$Q@fZGghLMu zXKA|{4eP05I`4XK+bt*+p3G76r7|Kth2%i&Qz&{UF2~RpFmQ{DJF`dD4gmv;uMpb@ zM0S`@^{lhhcVr;VKF--$L(q3!DsIO#eRsVOQ;Cz;KQhG190=HOth{8}E` zlSjU#3=4i>;HWTzD_w}utCP!bXN5lxwC*x|cf0kRjY4cEs`T*kMx!E*r~=0pcNl>EeJiLx#(Ar1$xx77vB)_G`_Pw#;S;#YXwWXa6lu7wkUn9bV)?zzW0MbdaI{yz z(@dA7k4@}v!rosyt0(du&BlR#)*gFo1lOeav#?;yuYG-H`cQi{dlzL~k^*YGotsuj0adZAXz?R0-@^Y%DzHAXGD|r@L1j1XpZaXi`%S0Z7T$WWUkSS$ z{jylKXgEH7n7>b79Hct7HN=~ye`+i7s98s}VSqI60sPg4e^k5$dAs%sBKUQ%#oYG& zd&lJtjn8O>&{atnf>!9rQ$SLIV7bMs-M}SFtFuOTRIV@VC)C28#kd*+ zNh6&bnYPh=mis5B@Yd(%Sk`oVs5kZ9I=6!uX50fy^4^#wj))ZS<9_hz$#QGs*bhW5 z3~N4jA1sa72^&2MOw8GP7oRf|BM|<1+Z+6<8foxwG=Ho5e)0so;_v3Dt!pb|`CEaq7YaRdGB=rZzr4H2#$T%TV$wRoXwq7&CaL=zAZ@M?B~8% zZRcsnL^F;FmkX-)f`#<%36id|tk+Ea0CS~_V`1BiQK=0WXeJH9Dckx28r*JA33r$Z zV8?q}QAT`W@xUOB1Qpqo4%btP-;=PCt7&Zhb<>W3R(2%1`?x`|=r zPGzk3wOonf3DPI-!NV?2?Ye0$J%wV>IhA%170wEn;9Qud-NDY(GT%AYF1>6gcq5?S z*`zhd&4C;qJA@*Ln7uKuQc_vj5-k6ICjc+-JZ25zAfIZiWC+qY`8{E3pQdyAbw@gB zk!}&D$a?Nr4{?-@9pg&nIf;RyykbfMTU(-|$Ux*?9aC~!=`aYAfHZwsT4Tk({F4Wc zwreJgYr#UoD5T8ADF9uvb4^FYC5CA4hPcSw?Q*SSr+lc+okK@5=} zZ)QB1nEP#kL>TT=jH~}i+O^6(lRY(WJF_9WUlkR~afeGXw6E~FLKwciWj0IXe2WR^ z`z}`m)=XlD4dKBb<)=Nqzu@a=bRqL2#zWN9N4~73(pw$%VSFu|d{I+T+vi@s$=B;D zN}`xT{Hm~(KzVX`#L@9vh=R1+RSjw3V!4Y`I!aw9IDSXjJOed-c<^~s7@B1zp@iGR zb!=#HY$#lHRzZAYZO(m@=~$%V|I>$`nR$!eQUXLux|0K;{n8`-2c0%%14C9gI3kSZ-hP7_Z&guQNZ_wABoD+zYM80K(npBe9&F)davB;i z9nXi=W4>)Y-z$67 zjKtU{TwOnM4vSjI_G*I}Emu9Tlu$0RX(^9aY+hgp9Em*oe9?k|6-UxXXl(ptZ+7sR zoLpNkHhP+8^wtv;wa;PF4k#&?&U+A(f53+bz*ZlWsbjxgp-VN2=-EYq%SND@U$h zOxf^*-rHMo^{3w_t9ZUc^B;ee=Y47Jkr{5w_RH>x@$Pg#$lR`a8f0Se`z6Z!^mB8m zbzGDY&I0kkBhNiUvGHoJVEjH?C)*#juJx4+l0JwQpGh>>MRfgrF?u4kD!q%vKk5TO zp8WY`;y_>~qR5~ReCHy=27tV^g^-vgbPo`rR_t1K+>YNJVkd#OCNeUh>jVs|hom=r zuusJlAB;Sja%fyTek*s8h&cNDa`farE33d@19*48# z;&|h=Bflc<6giXZFqQcTxdXzUL2s0L_BlvK6h}UzT`@r~=hE@X`c z>`*?xuI03mH#c!Kv$T>vPVyc0EJn5kkt@yc^_#I|kI#o}*369U&UM#U7nVZJc8G2EuXUY`zTiY7SjIK26Q_gcn{ z-49iw`$bUZAjUr;ri6+OJ9J_$7;qT)_3-C0rHyQfgNd^{y{BB174C+_+U%z!@WTot z#!IO&go~FX{HHU{j17PW)o79>Ku-{LK-YDG{cne|hTRm5-%)(jK?tH-v9+2JV=QBQ zaNvj!NxuxU=?^!L&9^FhF4qCC-0kAyI7hyjg3hyc7==|#ARo%PjhgAD+2JaX&*Zb% zQKWgVLYYC|LD&yx%Q=8sQ%k`QxT%{?zs#0uY2A1)qmd$i$+--{+`6l1XJewv(aK45 zjD(Xy`gT>8-O}9q-H;BT%@Pa!hm7wrT**2Wzs|k9Ef2Ue1pd8Ty#(auSwqWZDq(bO z2N3v8mI%~6-@M#`ngLmK`^c3fJ<|wA{)E;;_iJO?p$x7x0(@+Wa)*;ox{td>!#5R{QaV16%h)JC&1D!*`%!IK)e8zS$7-1ETua*{x8&{j$}$S2{Y>yU zoK-tgx?<#~&AWhYQNin+=GstPm~=xE8Wb=nnt!r3%?kAtn&YRBF60-cxe_e;pJR z{U=VGsQyk)@t5!sP!ELaV`Z;25SU%)G%AM&MC;p~(vMS4wv0e;+V9T1AEK!j33voU#R69bvt`?2HbW3pWY^TEmX^`Y^B>v=$e;xyrEaC2qAkA^!Be10S zYAv6Pdo|xVj4Ux^AXm4Y*DPC#p6g?4i*?A(Av@lHTtvv5D7whqAK2f))xg!)q&?^* z(#AV&q&E-f5uMZpO?~Al=DK!;BvcaLiZoz+J%dHv`C3BkQRe8LdpmBy%kGFf@3$&S zhU2ozO)nmNoIvoio>oBV8D3Jl9_VSshmNw`+l?9wlb{9NuFBhQ4^iOj!i}l3a^vbz z>5jq=_#VZ3pNcw!E~B!CR}rG#F(FOfA+8kot-n|Qx0(787c~&m7G?Di(tGa zL56#KpU)O`8K??w4QVJAaV;-C9OfHT)1EuM%{@NiTr^Irdp)7ilSW&oekm{QGCNy( z7qEhL@ZOxV!{zz4A7}`pq#EcfaMz=LL*CRI*FuU}Xxqvz%U)Yjom}SIeDUQbXeZTd z`la49?|ZzCCHPw{Lc30FtA+O0Ht1>X&d^p0&%1^;VZ^<57}jw7rA|t}D~9?&hZF4^3*N;6DF3>m*s=QpZmbx1{>S&&9x|l@N z#AtNr0Gns(Oi1YJJH_sn05k5NInySkz{+$0Ki^YrYu{er`4spFUMT#o&2nNh1jECl z$eY5$I=kg}+^n3nEv|r|Zlja_K$^zgyL~oBY4}8Ye-@U`+L^=K$fz^jA%)vvYr*^9P8@^SZWZ%yfc4RqT2y9d?zfjxr}^{{{&ClphFNvQp^~)3lk5R=y z0(*~i1gS2d+WJR&u7UndzT=?99*gDUMd&2QttpkC{~u@E;Odxw#=IjLS`>q=1-iQj z@d6w|@WU{Pj~9OF4^iT?eAsTX>wo;&d4eU$S*cU}CUDvjj2gkF9G{*&4$-|{geaG~ zI9)uJqXiNC%$s}T^XOaze!=wpr{Yy+WMJjS(|LZclFj(YdJ3U&6QQcEp2&fSXuN7r zT8dZZ5Y8$)==8_u9O+&{da3I`PzMpK8Q*}t(*?I2EaL?sR!%(iz?MF1HW|6PSG9UD zRC+#3o+naK8TK${h?C_W85_X%`999>1onVF^Ki|OW51k3ciF*qrO}LHktmrrPJ!!|B`1y?ER1-(fV(JYS+m8w{^1kwi-y3q; z8K-U=d-kfhJsA zANsq@V^mY1;$%iN=Eps-;ihjil|NSrgnDr_VAouh#YEa{4pTdx+>~~i69^y4zd#?l`NJ>HOqbiII!KobBdN%)K zYt(hRJ7w6SjrudqFRyg<#^WjW3P7jCk9FnlPYjiu+xC3~!VO}Mrl*^+QA9P_l?aS~ zIFZ%TW;#y#R7VsMD8twx`y^31$n=C3012`s@}PD0p0=v6yC0w5c6+^i<>#Xd5GXiq zM#$w5SH*5Yex*l){%Ilno(Fbs#1zbdTToQCFs`n1ph(rQ85Ea>dQ8pN9w_vggCQ?0 zU8XlCqg=R4Fs@*!NAS0yya3}z2R9L*fY6j?!$kyJ;;*H0ztHf7F z^nD|ENf-S6-d@cxWJeC32q7{S;1gIj{qz=S0{f+{GVtZ(j=>-O-s@HYlmT=8?NlLB zEB`z*>iVIxmyRBe!Kv5tHJvKa$5`nVWyLc57}6BTlt;p@N`B?LC24fB{0BXd4+)UadyGSsY}6Fi9;{P0fu%b*W7&|m|j z=wRe$88Uwgj|OwTmhy#Hzv!O&4~qOuVMR^8&msEA01+49vhT{jd{hH|YBtd3x~ASS zmi~U%S-s2XW~Y2f>4fqDb)ciptYC5^6HNt}Kp85m6tCpsS8FyMHA;*{Q*o{$RdG9C zbeiu@576XnQ6{4so%aG!i;U!H$v<9e=s$7wznHB#JZ_{Nq`iBtqV@Bh4xv|0byOf7 z@;y`UH@jj#?$LX8T)_;NQ#D8bc9NkqkQGubC6HHNv4pJkxOL7YKw<$HT||EMUh?{z zbqmo^+!rlnMsMPN;Q)!7a$N5_?bYn{ygr~Fl>&fhWs=FCTrL<>?)<5C=Oe^J^;0w- zlHhc_ercFJp?(co76}1wQk)2`{QOq=0;N?DZ^Iv$i>BEk?-%vf1Vz%nGqY7Ff4Dwa zbM(sAO9S~4hkZVIMfO)Mtqw08xX4!B!crl1GV*?3g3xNJOfM&YVHNN7)$DJH&^to% zBCVfY0{~h|D#fkj1+I3{g@NGX=CmQLb3~HyJ(aw%V&c zpzu2HN&-61(iV%pe=VpCN1$iQ>)t2!M(W%Vxshg8y1e=4Izc+}gQ9QpdD&izXLtJR z!`?q3*(Ku5NFjcQN&Tq2N-3!lPf&@RU}UhP;ZqI0^b6Bo&a59G6DVvVt|x!Z5=uwn z)mnCY*@MsN6F~Q@$}Zq4TjA|{j(Jd?5OP0gmfcSQ;~*q5{YMFmcXPT?6wz_df*c5_ zSoz{6pm~vaH|SXZrcFF_GaQ|Ki1K(7X*}n3*g2G0XpmCML9+R=C^*1vB|Kfd`m=>q z$M$s0R4>a^=L^fsYGK~1FvXpE2*@p_aQ_MDrxVVnfe9YN`>5;5w1P4FJ8e=UGx$rw z@x1K@g|~_udUgI-5Ren^TfOnOLXh^iQSrliAlkggifRT+cdUQ8HPkap{wg=~gy0-& z1<`ZGSb~MDnI_}3Vc|>Fcu<9q`xZ2gF72;9^lE=xVUX*DLUE-q8OMQ?Pqr}hKQBPu z72~vM@y+@>cHfB12%wV?9I@vmAsrbUjT+dlC#e00f(|2*YNxhGzL}Tl2LX;58P%G} zem6loZHMm6)1W~yG@XpySlC<0s*63bf_09|f7u0xu}qf@NCg;Z-Nw!yaY|gRIbh5I zieV$0u`3V!ODI(FoY0ISoBXqR;fIijY*z8>5Xk5Tb`3PH?|B9>Ng(&RSx|*}&l}1v ze9QFT@zTTCH4ms=s6d>o;LIc1XR7G^_$5l{epHklrDoLNwvZlL`PDGt@N3WiR5>bv zgN$^toe4Fo-N8lRxf#@s(3%4ZtF}5zm<7k%(mX|SS+E$%@PRy%gCQ=;riRbWExr(H zVQZXAbyoHM9kEd}(FbWlGZ_&CC{-4N$cWS-)(-D@8j}NGqHmBFO%oH~E_@}|zh^@8J@y|&msNRHZ5nh=mU)B%BhVc$z_AM;$0awnN1 zSOPQKcFMGGy_yi}MDTQy_{=joarY_z(lBCs=*MF6ia>ZO1`&Ohmmx8(@PMlJuOx!! zFcg2#b;vg*OH-gT1^vVzVn{Ih8`11wNN$KhMCk2-1AHQ?e?YE^qY|`EjjpOmdV%4N z&bHGpD(vb6M|^N&>Uq?gUI*)3dp6+ZTsXc1g?5}if0pwqGbPU!+Hv0@E~-g{G=vP? zq4wxpf4V3jz~5s3%c0_HF=n|Dy4MwHHH)H+m~?uaGDIst9qecR2Yugh0RT8Es@AGA z_FM~e>nzbr6xac9r7;y0`)hA5%MJ~J3b;gQM%V;)ip4ajYC`y7P8y2i?m~J+XCy2ro=( zc5p{gn*hpK7>bO_TN(QeyKj-TNm7sbz;X2hNg`4YuU*{a#!@yG9RLFV^gSif8P%HX zk3c3zF#+!w^=-8`)={D>&Z~6?lbrSPtH63U&=I(f=Xej>pzJyPyA|^a{4sII>3*?7 z2*+1X&ELMsw$7x=S}G3-JwYq5cs$B)IBKLeUxA+)g9&KyN~%ij;=`M;JjfiT%2L-a2D0U4&wwEY$~S9(y=j2kEqa*`U+P zpNIMv)kIO_5-ypkw0;<}U&x73g^KGk`k_FRNeo}X+`}5?HulPlgm%L_r^IyQZ||Uj z#K0$GdnOt123W+;8U|nj4Y6SWc=S6Caje=RWHFhL_Hfn4?C_{C(oIvak(C4vh=Uf1 zp}`LS4$vHnraQEaG*KRrQQdh#x$JrS5_Kf(4q=kdN1PV82!l;39XzANn7_ZEY|nn& z*=`Jd6Kqpgb^#-mlrqb41ms^ov(Bb9zQ}CgHpG(Ze?h`QI#U9c8nAtbv_*5+r439P z!S8lRWB{Iol%xi%oK!$?ZF{rn6!#r_A36L8X&TrmS;}ks1KqQ9`7rit#8ig%U@eG? z7i0Rz($u@pNp#X8pJU{z(0Yew^g7v<9|vNhN4 zPILVy8?gbR6+mwzCj-#uAxThm=y~D3^%H{UxSxSL$I6Is)XU~W zY@fh2rQf~^#@*AH_{AK=z|I{0O^r+}^g+QvcsBiCx!2hk#%D#?az^A5j0yTuymjjW35 zcx6bNosQj9bvdYW#bk3Tid2mFi*XQHP;8IiQLMqG$+@pY0T@R}p-B)9p6AN}XWy(M z=~FRDK+sLqUOt7hqbL`=1XTyJ%Yd|_@XE;?4e`GNRYgOtbj$IcmAG#T z?y)-86ov8k`~0Nx>9{Q7w5Mbm{LM5U6oud_0}N2OAw*$O9K?sw{M>BvyzEY3ShziH za**i~D9hSbh0#LlMrciQdQTv=HC9uS`fx7rf?SIRL^-vG6nKW<)0DiERhfG%USNURm1{nnBG|Qn_V;P1B}4I zwO_w_Mp)qA2>J=MmTWCY4l6U*jI>7Ag(gjecr&>Mfb{HxCZ06pqCZaMdlf%pikt!N zYTUVWmVgdvEs@hsu>-FhimZ6|@||KVwh2?p5xFSnQUWD_&~O(A%|jAh&g8{$UigRS zaw@xDt?#q$xy&#;3Y61^<%bbdf)mY^nTE%P-Vb+Aa|k>ab%dw#QiBN1FzD$vb&OYk z)zpFDRP&MZy`K2^+{&tN zjf?4Uk!gwrcq6)pVcs$s95YKL4CzPmSJ@+!+qSw-tt7Bd;xoRRh{+X|ZhC>(A^daa z#jd0Lu9+Z-cU(25_kYVhH>Qu(Wgae5KM>|p5GXZ!J$%2)%QZf0Lx{qw&N~8gb~nJa z8EUE5+pL+3Loyi@MG9(X`%vBR$xZA1_Khrs8t(CnUNx8>n#z`KCIaFB^sk&aDit3Y zXs~4xT8EOSb%D9J_qI9n(u9}OYqr^pt0n(tplf!xkc8-UxVkqKNX7jrXu(BY+e1pO z0~&656ry42BWB;B6Yk6vsNSc+yq1l}2e=F&Z7DwKRTWO1d>=-$f$6?H^dy94c!AHW z5(}~S(P^f!$o)i~^A-d5j${85Gz-%C2rAPb4d~~tc>Au>rkdXk1lD1{SJrqte-`cx z8n`g1$jJr$7XtHWs$}$J79?jw5q18A;64o+S;)<-0$*@=ZwI@e%n78m&;%%J0L{Bb zr5#9`*X6wNgOauAXibE?C{)UoUgt5&_{-2Yxi!>GpS7XJrw6~!g3N_LPHj>e7lYqE z9D(4MxBCQ$#|$9Cr6n#n7{*0t21+y4IlZz<6lI8MnrZIwIo*-EdpLI4*2N(T~X{zh6iFK+-(e=Hlm5+(GwFaH$~Ilp88F7 zP<%vgzZ7go4SJYS1yB86=c5!(oZRXP!e^ns#?Q^BK%xlzq=I!&=D%>Bt>MqK4lZ!G zf#4YAY1|SjY>E_K`8_8K`=Jz&){?TH@0S=@ADa4A`D~3NH@E=y&1D5gi8)^}(FXL< z9#p<{@Slbkp+bOoZp|E7hVIqbDkecAj3S++ir@(juYS%xbjA&0wb> zHYC0|j$g-DYMR!@3fYABzjC3%YU5Fu3m3{*^5)NH^qqOGIU9c~S$_A-J2w)kPR7F` z`moD(&@11(QH-c$XcPP6uU66z8}DO?wC^qWXK>Jujw%WHSD4J9LJC#_{UW`qN4n;~ zw-@4n^jVM-=2>c2^Ij>M*<#mtVbhA{Zmcc&k#%++R!riRl&Tu0o8x)tU#-p;p(bPU zwUeOxdHmsi&x@a}j_;4IQXa5wpEc5wDdPXm%^e$W)zsbsVM+wG+)-epG3RT^H53s> zI0N>E55)RgmX2h5J0zrQjYfWT%*-?&F!!Bor=z3oJA0iY(c%^~*`j<07Zs(L3OGDv z0Eb-Ga`A!F1CbEXf~&e2OOOd7%NnQbHRsZBd;|>(GoUQfvmhhGVky2KnQzSWY@FWC zSY8J=byUJd1}eT9$PYsH{X>id@!xW|#YwyRsGmEGp3G$wt=9pf$V!JAbNQJ{sAffe9ZFUgoUFFExMm7UQba5MPK4&F4Ikd}Z?_u!I`J|W}j?8!aVGl2It%^_> zVNAHn2q<;uT71Z^75wj+#*oWPqe-2&^6Ac*+Z3O&2>=y+x$ur^o0x_eeql7}d52zY+ zh%IM|vFd$tLiq5Kb6g+iMaS&g=Y`j-L7UAzn4^d;n|_7mL?UrW%1%e&O9 zbV-j|Uxa=HrnJ^yqw3&MtP4^f}-!mIW8Om4UY4DdJ8rBy>B zdt-hVArg*#9ckJa8ed*hUhH2g$_Wks%k$IJU;F|?Gx zCDkA=A^vF8J})ark~a+CQ|%^5nun5ifo~J;W%Wwj@A1i4ZHx~Fz6)}cEsQZ-0Ba0qy zuhZt;@ey=s2TiEcA@$Kr2^E7L_z8|!P=_(GW~W;3w=0VVu2dnG{_tIX;PaDy=yFw* zlf#I3ie;BXgH()W198^?Xcp-D2{<_tqUvGY`vhkF^nl=r#jJm0R0D~Dajx5@1FvFtND^P7TvQY`&A$`~+}~NcG=}hWQX9W} ziUz;H7A7sEKuQgPis&?U{F5PbF&`QwDa;z6x1!F+rx9aZx{>-4rebBjSIjUX5rYmx zy~qGZN6$-cEf!Z(lQ5a@o)Dr%2kl)#;bGOlk5zC(U?gEW(B6wT?I{;1 zrh`-=X3m8k(s3Z~i7MZ}*4gLR?JdOW zC~RF#>PeHVu`tLZ9y(bn$8f$`FVsAt5#e5ThGP251soze3PvZtd$31^4`tvOusjX66|1*m6MyVfiHk zIV7f@e~S1C)gyM!rQik6IL}1ns%Z`bzXNRCzJTE8GK^Rbm&m1NMoXQOjEwIKdmBSB zjc>BcVdFxTmnGi<1vg*o7}MG07@K02R+xq}JDTSoI)hw>_{N*KpeW@|fvwDf*i9B4 zZBDCv>0ahlV~S^woAS6Cymo`Q)Utg~yHyZfB%~U9|I)MjNpv(HE1LTmLDc<~cDqH} zpFEGgCyFJeM_~hI)d%n7lTerjRLNJB_MhvTq3=1g&_RXk=J#Y`RbyrI;;2Zk!g@ti z7VD7f^Km3DqVR@9_^<`=tRFm_QqDZqogS$zwfV6H)v3b-`-+h-y=ThAuMNSjRisRU z@oA##B|ALi^x9wT@N|t;)&1aWQa{y!fPtLC)dvA=@t2_*AR-9=x92uks^4@sL?KyS zf}w!<5Ch%RH!YKbHc&)g5^o|28G=chhi-tB&fIStmLE0Oe>|0+Kxh^tWP0Ps$mDdx zeYwqaRe9q9P`5_Z)M1zQYugSql6qK_nB{q7Et+4hfVS#nY${i9cOEz$+KbkUp&^gp zA7vcR^I?^3c18+OUwl-O?*{FwxA>mc($Axs_I#AiW_D*g1;)f?_1??g;N?FChZTV6 zF!G*cUXVX&Y5sDNSyJ{@Aaja|Io}Pv+)4Oy452T_X^`+u->o@{j@|UOm%zSAN|Y1e zrnxb7vQuVsmcSg@9cV9a8Xy(pTX_~{NNb~OlwT6nr^N@O!kH=x%8G=Sn}Y+NOeSBV z{!&f2f9U)_v|;IX3#FQ6$_LR5X>`wx}n3HHS)^% zkKN@8NfvgWwp9TW_v4Vk-xI{VX*vkb<5{2*aiYWC1O8%#6t<~w{+Ff&Po5I|^}7!V zu(J7inG7~2wH4*In)($5%k^qw1>K`g5*vT< z6IO2QdKxBoEvkXqY5=TvuTYm7sTf5>eO|21*A*RzR$VjM{c!B#-TLq?l9kou{5a-z zU&v;TwC*W4+!j3d1TFAxrg+Nji%F|0tXI#Y$f*maAZetUlE9a~_wQkm*FYHSwk&M- zIr(_%;vP!?c0$xwXc~|}J*IUZQTkA)LN1#9CM0M9Fe{}>5UoP_4%ntkjP zhuT16@TGY~qOzZ`zh;loD`EnMyNdR!Hb_gD)ZOp@CM3?BRZ4!Q?$>yN_^Y>bCv)cYH7?4i|WIs zfStz$%aP+jViCX$uOvfhtvA$5e+iVHYQhAAT{+C{;>F)?O~84H%X1*bQA?d)_Dw47 zk6l!nf91CSZCt3S+1mTdIYkQ`RTwDqX_J?CepNgy4`Pda9SsxG)|sQWXlv`Y!m0s% zd{PAWSZt-XR&$~cBQ9MEdCbf9cnA2K)X%ul-_-@IBA4{g%JC|fzvL@My7O8xk39cn zIiTc8b??lfD`TpWUvCB}hji%<9f&a|SnORwN%hv2nR>LEt!5YHQCH33aL)Ye=YftM zKa?oHsojw+2M5oYVwqyE{*;f{PjpeLE0F^CjX{l9X!U6Yn~PrOHdOEJc$#Oo^2FkgSVzl*;K0(NAE>;T zpMo4ZNt)W=ua7?40g?3h-{zD<0|@r{^+>STm`}?56JQ8$2^aVnC58@sx%8KmPW11b z8mKQ7V{dzXu=9;)jGAg8ZbSola!23Nt%>WQu*Pk+MROJ zz-Z6{D2x!WT)syiIIttjBa@Z@aqyGRpD`=W{8Rp;C4lZrpO117gm*rWi+rOV&^IE7M^sU!-=^)8Dv9z`P1>nkTa>{M1 zDeM?SPC$A8`_g}~Dm61@+oD4Hby_%qbf12o{_H!~EN~?L) z4z-(NDF6<8-JO}UernhM5M_$>eaLB}Mj7jCeS6upt|4%&Xqjtu0*M8M5)layk%IC7 z62O(Y?gg`~l9Ez9E*HQuM*KUJL+4?f?}UMQh8p}r84jM)Lx(rIuybrsOiUaI;#;S3 z#C^#&r-iN81Mt0`HqwUQN9!O4Pwh?0n@c&cb4g5yB}g<>2Wv4cH|lQAhXiawBo5pv zN-T&!A_909@cj|?#NR0YY3li}1tX$3dU20^P}KhBu!CQwi+OG zi?j95CTLo1k!@J#0mAdxt{Ux+@WIWWf5LLE9#n+5AN*RQq?&yAvh2K&S)7teees=2 zeuiBdb-dh>A*N$^oDSmyoBR3BE-$qa(S1QOz3&c)iP4;DL?oJdqpMrqc^?AWZ{DG6 ztEoobX{jWp*3iG{!^WVukigI|q0+AJ*uhQe_$Rj?aI5({lWg2*Wo?DWCzx5O@p7y4yd5k0JjniB0q?Qhxm+f3a;9j(Q8zmG)zjPHgl$0L-w(TE zC4~Tj5LC*57?%$Zcz1j0#WYstejQ`gDL#nGU?*poVZ7h(o^$U>PDC&iWuUsS`BUR1=cFe^kt@m~BL3_V- zztP(wqbTOs_X97~WV3Tau4S3n$Mup!PKxBLGk2a!B-UfQf@C?xN;7JUhcQUp?v>C{ zIRH{7ln@PS#5OPgM7Fa*r+nh1GV=1{S!gr&0B8wX{1eB*c4<6fE*zkpEK=g32cWZ8Md4mZ=QPsk0RZ6p?D z>CXk$#y5uebs;r!65eGQH{)TI<`;#~2ihDgWD&e8GBO>I9l!mvgvK3CTsQ6zfT^Og zxR7-dRgERH#zD0p3kmWyV&T$0Avne1^3Of{wa8_#wEW?=w{rdj=xx7#>fE7K=nhp< zNbJ@c5T--E$BXEE@p3>k957v2h=1#Uwpk~gk`9UYeZeqYA;yQ)o zqPkK*AJYW!Ve&3nzI<&TCB?W|c9E~H1?(Zae|t!Su&)0BPR+Pa96T0Ohk08tQ8kqS znE1^bP>-AXBgRa@Xh$9-RP}H5w#FTY9QRAZHbUObm-1yz(idva?4ILa+X=%%gCgUo zL?(Q2`}u(Lb0eHjhJ507S_5v5p*djXkE@hVN@JlV9{1F`aT%Q>{W?JVgeZN;YwQ^D z-lhFZxr;~Wj{14qK}&e7PrwJY2+B8hw)ecS`2X1*DeC9}zgn2q;&{w~nu1GpK0Wco z9^QW2mwgfKme=I@cS2Go`|>86bYUrg=#DeXwq4d@I@efUx5P+6KM}jnbN1bjO*9a$S9#W3#0PacQ(60x87_O}47E!nr2{T;m5d`sKTnQ=_Ndu|#e$bc zif@n$Yk7yIZx#-9(+HYCH1zAmz{`IsT~b}UZmXwt`vUmxWs8dk;iyZM=j(NkJn|n5 z0ImHxY7k`}rynzUPiRm454v0S>(~7l?;|X!c*NPsHH@H@1N<24O5b?6&{Fji9+1|q zFMtSUKRj~wMmZ5DnBSjok4Slm{V7=TdRJc->CLl|xSZv?pqcOsqo6yWzmdqtNef)m z%|3q9yPW(o7qP#edQ|2cbww8nUlgQQ0M}j)^EsJ%ycOvo2wbv&z~wKU!Y4b)63a28 zb`}iNq>QvMm%IVxHfGmOG6;MwQit&U;CH9Hx7Y{OUeO11BlUBsun$^ir;-swwG#u3 z?H}W&cb0LalapNX5x0a}Bd>-lPf!-bZvNy1ARpdBJ|ag)R0`)+b0iKXHV>XUsV(>N zY@8g{PeW+p>ZJDtn4@0j&#}e_H%fu`MFX_)vWf=~gD{BgCKZCZ{rHxN+EIC-ybc!8smp>Xh8$-G55sP-zjjqUVbwCD)iQFj;zk_ zRQa2Kna8~T9i;W(xA%G16&0`09g>ew={cXn-lM{st6u8?>5$St`(B1cujbHlmhnPb zN>_!NYCVKsm!Db)2#XH2edQw0fn|2y8>Tr~}yc7BlNqX+G;Ju-vqWg}gZN(}A|A4qXJbo3=TgGz=d{Pb7bLmkO&y$5*K?&Vkqo<4Cm+r;I6)myx`q+QWCQQ;*1 z9YK5wBq>qyq#x!1Nr^ukImi=Jm;PvDe(BQ9FSZ=0DaLnulJ>b~e_wdeqry2h318!dgD(o zR=-4}clbyDNh&F@uh*FVYlqlN0(n(O4OGd!U%+6j%w(8yNbu_AoZq_jWNf#5}DfH^Rn1F*mwx z%LP>vTWPY#MaPh6A@+U)qXE?uwBtu>NTZ7~5Gw-(#YF5(d~UkM07O2v=Z%P2IZf?# zCtdl|1BLECmUPexyRtp9cTp&1ZWLPDKGX`zPC<`BiD~s-xBb+?i*k^D!{V?C-CWaK zCn6y>KKmq#0RAq*A}-q-r#z(2@RnR9J2mVU9uSd@T1(F>ucGbDJ%iP6cF9@b1|t}h zU!O_NWm&Ih73E?poJzZhPI$}e*523oP(AY1{OzHdoIr-(QBc$sV7h*GXuZ^+qtn^%DWZAjKW{UX0}%-A&8e(|o)d)yWbIjztBUE-=?CN7)9|T{-%TQ* z`e<9_S#R)|=wmK^w62c+%T_X^t$^QkK_@(bYf08=G+rm&9nanGWB$BWfkl_v1#mAc zr$$RY+6`JtmEM~%valVS=vPw!*AYt6=N?zvPE`MzH=nU(vzw2Fr7!Iq@0JGn00mSp zB)Fc})^$hsBIe@|BedgnN|cyd>v19e;R`wpgVXydUT|{gh5ls7$nurGMfl-uXa9i7 zfd1oGSv(P`*M2ZPA)oY%rOqHneZIa(q`+0+QVVK*eV3k)B z^P3SohL9QwT95^v+Wh>57+IAg)G0S`W>=u*r0HqGh7-RF z#AzAnM~yq$SJ`_0?Ke-TmKiHD9)r)j)_MD(oAb-7l&ZJRAC4x4&iu{DokK6$s37ZE zed})~6mFS9$0t5$5v+YBng;)IXB~BVBm6oSC>wIf9%ESMv6c(|XE*b}4sc+>Pii#o z%M69fknH?B%{WHFy3RHYk$a!kHPSz2T=U;U9B=0^v8znBni$8~FFY@VNso3?W%ypL zo_XuVO4+in%&965WJg!84i;H=XpXjj48>S;6&^sB=v!KcK_+>igSY>B<{sR^$gH$Q z?F#AG4cwA4wstCVFdbov^?2c-6QfMAU?kO%gXx!k84BaXOCM%j%V;>CAKSl|OMSPK zIlXr}mmOD7if?6Wi|!APyqY=$CWYWU<&d2C=)Fqi_}5Ndq_AmE`;FHAw6i@FZ&I7^ z1tw4w=J?XbSJMsGFsX`*TSlTQ0T|6ZFMD!mqiaMfhq-+R&Eyz~=u-b)wO!`(4-0Wx z(R@kdZjHWDA|c%by;&?`z7|#&9^4iX5D68>ta*mDH$Lpo zyk_ry7Pv^A^r@MrwKLTzeg+?pQW!=S>R7T~Y;?Ou*@$}z^>_khWDdF*Y1cPkS&95E zA^ueic@ci_b^9Jry@dgO(O%ai_Fe_Ku_Yz9D-Zn6X)T;L39~40*6%#4>0FE00BVlj zmN$U&Q|uipTghlNM>)-&h{P!1$Mjwdn9rBcwX1((8q7WLZjCjhq~@8tp9xnTyt{{4 zRDQeI)xg6g`n*L{<;dw|8jPc#MIZSw?if%S?RJe``=g0hxauty?%07B%W=eI+~u{pP;4VKfCk7PW~iz4e>w9bzf0#3 z+}ihEQG}*IYFPM>tO^1YZ}x|HRy7r}e>-eEPrRXybn~A0tgIr~HWg-B4bcaP53~g;_cKW!Cqf$>;Z;xXK6Jv6kpFjY3xPW-KqRsygUH!j#L;a7LbTG}soVylg55~!G5>ty z(|SQF6n%@)X=#hWpyMvR6RgTvhS*BG4CyMmJcOS&FB`Vd1k)sx*p$B)@ziHR(bXJ} z!yuhIALv4$Avhq!D8|Chx@;e!viN6KO}-82K+zms`juCQfPs-C$jtn4^A z)5P!kF4PUor3aZT|KhTnDV*oYD1W00JR4@qn(-4?dcld$**1VJ2&6L=Kc?L6|AZ_~-4I8V^t^kI}W{FJ01*Jf$ zsthylinzi*!X5D;yU7K|jqWa_^loiGRbVdmerm$iYm3(t{3m2TvhkcO*<+>bQc z+Th@eoPK7US=SelO??cZJ*AqxS0Rm4Ttl~7@((kY7Og=(Km~b^tYa?c>Z4lfI$f*^ zm|ZJTw+`sM)p_}=aHg?7$zb%D4*?2^G6@}MPpb88saxN$qC6yJ9ohhctEkbd2y?(* zX;K51$*GQ&pm=UeGkojR*s^ID<7_lk6j9)?v2t~lP! zbh80)e%xS|wZg2)>bjepL40enhyRsgmV!oVEV?@=EzRv#G;fB>*G%=e zi7F)>eLwCAY4b!IHz=Vr3tFwWtV7@4SxS4T$1tIcDCpF-N8UtxavE||aA=AoS%HEO z@dEr&l7hZcZ5geOkW4$IQd?#pGCleC-;Tt`n3a+B=y0;I?HS6uDC62>?0g<=-siV) z;1;$*b^*cF&2s#Pa$P#DVQrgfI}a)aSd_&VR^;wq&7XmIk3nC_ zI4RqmxcyWZZJdi`VRQ0E@y?Z6#{h+BL?M7n>^f}-$?0eozK`+(sK?1S5f+(<(S?wc1x`24Rr`f_pZ06$QNeL$)v z|Krp4QnP}A#hCX>*C(qJnpVlN`=x5s$v%Bfn6W9lqDO~fe_(Ep>uV#_*04oI(ojeN{9%Wp`65YAMUcz z11jd1Aoafp{Asia^hh45b3UaFrlcTYcf(!Wr4MCePdHoo50iA$uqTmeDcw>8i@w4G_Rh+vaqoFovTqQd2 zp!UmX?GZV;1A3H$Fe7rhH^;%lCbcUf^ie4IuvKlgnW4-BbnK-bWB7xqQ?c&UYk~G*X@&liy)uU9p;kneRKm14!(5l?r^pKb4^sXY!VCIqT0>Zeo&-tN=*Oz@RKGM;Yb z^;@;kz3CJG%=O@8cA8;(gQaCVr!`_pbCyMUWeHfuF*;rochcs>7A%XZw()IyMsMX&lbVj-kfomJ6 zb$W{F0ZaM^wbx!$zmS2O!!UI50E-laf6I=I<{3iFY03k{{LKm6A8pP7sfXN#nI}MF z$k5Lh&wzA-?szTeh^!(f-&s*EgAD;+NPG+f*~`K3<@BmzZg7dH;$z3^boGjWB|TT@ zpqy=72IutX@w>F!?<~OMhVydVGpJI^!$9w1!z^qfR|PIVjd?-~LsN6v>7}v?y#kqa z84r-lRjfZ1^w~zAV)f2x19Sirbf%2Xor~xmPP^^V*QIZ zQX9Bo596*D`Gl9%MGW_~V*tK56}qNm-c1X2c1PK(H{u+lA3*j1>C~i%qY3kk5lv0n zG=G$lbsb_h&NMzmAYxf1f%!6KRd*I%NF~WkQFx~3s$#YQf}KNvn;JSWdL@Z?YLN#8 zS8W=#s|DK>rNBxEdx7MHj&lT`_MuOG;$g(`eCkX(zpGyaK2Vue9pSZ5h!Ba7y?KY* zvtK}I*EX|N7Fw@Q9_&|6)J>DlB+BWCKI@_|^Vo*S3%~|iMWrznBsC2s; zg^ZbP8U3(g6=3m*o{fE_0B0Mucc|>^@AOhf~U{?!3kz zbvu?Xuqs4l&^Wpp!L^Ft_#_DLs^1VX>+O=VWklUye&B5m^FIV|VKs~~)jC9G<+X2Q z)%bWV#>8fb_Z$U^(IVc8UU^h{qyFZ0ui|X6!u|x)IFyPf%&6nzW%SQ!^H|kc?8kWi z;lFdryqkkG3G8|W!1WjHxEydLiQ9Dns+>Aw&+jT1A5X>&;4f#s5nM&)wCwBoW(J3% z8L?gG(y8&6C8U}B7JONZvTmS*HjS)M zcdgqNJx`f;A2pgDDnf4RcgY(})uDNzI!t-}A358qpC)>lVN+SpmCAko~i{;XJL6=Z`>OA_NR4f&Z@ZyJe#`hh@UG9OAf zGp={aJXK>ti#J4(ZJL$8H8>NyUaH8hmZF>7r;Y%lIlsR-6&n)t!Tg{UV?wI67UjdA z#Sf~Ptxn@@=kNI;P73LKzI&>5{NCiFsd)theToUNp%Vga@IkIx=kKiyv8MDh_obD2 z`QvxPS(=>76GeG3PIRtQL{bmFCu{sySL7R!NHNe9NdktCG()>Ql4E8J>+hlRH~J}oSy*nh^nDj~HY%v|NyVPQoD5YxHzxR& zNB29Ln*3h-5?e0rpQ|9@;Ot^(^6G(8%}xOJz_+wPXkb#scHPOLo!WHG+GRFQ@lcpQqJDi=M~e4&hj_#vFMh>?3{|=rbO*_yFU#Dq4Jf{bTbFy z_%hlMHxtkA(rs7&Bc$uXDtBbTJ3VWRsb%Khnby2tcfWbf-cp5}oI_ETwNYR<6R`8Z z8j2Yk@wTGZ2YSh8T<^=QDaotXr^xCciuacCyv8r6qMQK*a#<>K@6#~L@H>!+_7D>U z>M#LzyuJdLSu`r$HJ){uoDv2@V*#>cJzoo^d37od6>d+{R3Vx+_zyqf)8k#1iT34% z^s|;K`#nrC&HylfN`Mm$)WR{tUKV+tHv{k3eyjFAHMM6B(LnHJ( z!2BznD>a9LRdR#8M~2eO_ubL3qi)rUn}(5*A1$_2+jYk=P&0`A1aSs8WoLsx)`(m3 zZ~42Q^DM9o7^%K>S`<3y^LCXo^K3+C5o5ND9NLZL@WB)05dJ^;gOvy~y?jQ(9a5MJ zMB_$=n`co<_k-+xEm61Nf7Sq+gkyjrP91<+U|4@6e0Nl~urqCeD$F{M;U4AHZjG8R zh>z;XG|~mFaoT~l;$nBr^muA{JA}i7h+ohCc~^=iK9XbrS2Jj90ob_d(*{hma`b$DuntI zlnRXTdwQBr&zwTGnu?RmYqxA?J#C`{f*D4EKg{CvM{z(+iV?R|OJ7cDOPPmkg-3ZV)K2*AqfFOhWZ^QO|3nCqSHt)ID8ss7j^@wPhS`Op2E^}rQYH1SGS)LoPBRkWo z0yd~7EjlX#*e+1TI?mLh&aA=Bk{hGX_RMT*Lb+`|@C;-EO5b<0d|BS!DAV4OVvhlW z71K(3+G?ULnD1JRB`?wV8sy-aA5!}Oa0tLrHeJDO2C0ED)jaOG6hlN;nfj5*mXIrhK{3!i zLp%*w7-g|Zna zv^ARVgsjEW;DZ8$ph0HW_r|^9e=I5u@u_etgLgS{{Y+!CTNXB^{g$StJ!v&8ysycv zVxS)Fe zt#5G{8xn>$D9@8~P!j$84r8pqHxasL>5nH9fg=dO6>7EH7*Q>8>8s6W*E_bA4p1_S z5;;cws0D>#>`W2Z6b8j>78^|0*u-|}D$ct$EY`%^B2M}N9H^!xN@m%^?6Qdzv|Y-K zy+k-CKbk%EOI$4w?Khg<+nOCT4!a0n%fW>}@R7fR4g6BF&PE4-Nrt(uZuSj*nV+P- zdVGnuBF=OAUZCzKv#h{~v$@847)_5(tcl+6YqVx{9rsoNJDZkKyE&qCB)0^DZl-8df%dv*o_RqX6KG3_(S z$9#BwY{g-SRm1gwy{fT_>9(>|6}zcTDn5;|hEdW50y4>csf7ayGXhMd|h- z4*vX9ENj3`WG-97H2l7k_siodJ~@VjWyWNXH071YoW>y`OE~XlvyBLmil(Ijzq|Xj%gB;2 zBRf1r(}$H)Xrbh++nm^-Oi9Ucg$2N^z{}Evl+th)(R~tyXxHr*6tjIn9aW4Ei2)m& zBxJqxI*mbQ`LaA4)F}gCQXQ7X4r7&)3~LX>)mjOOU7%+SPJ{&OXL<%e0sh$`g;u56 z38a}ZCRH=*Nwm-eZsw7~pz`bvIx1E_ygvB={f16R2i#}!zAklnbXq*)^teS>zu_Bd zNK66yCShg@ESG^bN7uoWG|5|-tQDp;D^o!~pC;|EO1D-YR2mK*ybHfm-uzri6>LBx zMc&pjD4^{OK|@^8p6xT-=p1m+8`-WpEK^t5cd zR$!p5D1KTmkp__4Kt(ZiNHl*-qt-};7_emG&EmFaq3cX?2k-^(92#?Aq%Ie`3J-u! zrgS}U({~HoITf@zO+2sqMR8V-nv_>A{i4V|IS!G(S~n}C5-9*cLOj6LRBW_eObyVe z)lw2}#j?Q2Umsp&$&CR1lxJNMGP|lPkQ}Az9MEK|fPA@#wDoj3B}_?Dj<#ei0|m}a z^W*z{GiWqUn+JEb>d6}>fRpEE zGbJ|q7j{ccgM%kuJ|s%s(R{Y0R+26y6P|DOY;799x6moFG8D_XIc^wy!+-t*HRQHR zxYoGZVhSrE`br883T1CW+bihQ#zfFltLUXc_BK?a+3i z^Wu0IGWba^t+A1j8HgW`U%jg*VMIsloFY%R{nY3R|8g`?#O@B7;Nu*Pqx87~2bh*n>v_9=9@XZxe>j500=)DIA! z0qhNN1`B$r&*dv`-!#pf`LRFK0j;XkxARWaB5C)E_*?dX0V91Y$a}uuQYAlU4y%B& z3(|b%MjSVueV~)LUz?~S^yQEkXb2SA5l|untGpd;nl+P}Z{Tll6U!cXm7BeExny{O zkcyJ;Wnk%+OUzt2=k?wg;Arba>xu$zn*wGP_-M60uWF@ZX2>?4muxz-SE1;QFAAwN zq|>K}P7EhAL~MEPXnjRz?eWOWO1b_&W&1%FHoo%gdK^CHR?US&mWcUhKPN$!f=ZmL zHs6_u>Lm(v1NBlJP@=;Rn&7`TC~)aHrzJrby1(6-bR%+c`|91>P1aoA)yO)Z*qDDbNMY${m1p2>5IdTSDsaylm@tJVr!Y z|9mvS8z_}+SRb%Ho{+Cx>wnzyu$kd>|LA2gke2YbVTwF284Zg9XBo82R);~d!ke7U z^|y4XGF407tz!UDiIh?r%jBgMD?{$ecc6tI1-uY|s~=Ki#;I+BLiaQ*1!a7yK-t>+uDSv84z~}v5T2KJo6wf6 zl=ix91kH;0jBOeQI&5OuKuFRe|HoPLo6ZTJzbaG4|+g;BFf^UZQ;cUXw}E z_aH5G0SgVl3en;oy_jdAH0x*Y>|!+$EC6q#GYjrnmSimTT~3HjTJ=5xidzJzqJWDV z)o6anuT(ThizQ5YSxNrQG6piZBbBT7;t!`T13E+wi{aT=g6TDeX;T)AWsC6iw^vGw*{pj}^D+sH`UMUy0e zN$KC7=1OW5+u3SsJ`|G0ANzJVau#Xg5jNh}RKhN+#)WUkv+$3f_M}mSp=KNK5wH ztdb6Aw7m^jvGkUa>@R_xYvR%>v&i@q#U1OHkO5AvX&I@z=mAiDN1U74WON$9GKtIwv#AE zFll`4Yi8(~A;0If_b3U0yxXPPLZD56-c2BXA416Nbtf9y>^{TWC99`hH*^>X%_W1( zf*ojv)MvDuCVrtT|t9D(l1BYs6v1Xn`C}SaeIcRg~oIB*T2t`jm)Q zlN81{8uu;`_x{;L|1)b4Nay0Wr8YDKfC(uxI|U`Bly^kpK}{HtgYhA;Yz~{ed@l3s zOBz{m_AH>yt-6T8GmkS#p8!@jiEk?C*+32r2e%GwtElpwqGt)j5d`TxgxqdgmNy2l zpPZC(Q;KlDSsAbSK>H&zExrNpV2f`L9`o?yd!vbY26G0PRL$)E3D$zU7p~Jil(K#C z-Ln2Z>Oex~x`O6X?~se-L3apdMh-EJd_y08IASuwOf9JkMBz8R~NUW^b%%j zs4}Tu=SjpFHXmZios3VUZ}$lf1bR`^!XRq^uKqHauLTJQCNEc0(Q2#k6#0A6N}8B@ zfO*%yT$PeUBEy5hP(1?$FhzXdKswxhIb9If`J~1k1kL^SO$A(3rM)mCVqLRl;t;-m zFO7&4D~+Sa8s5?cim`A2z^Q;wBfna3R+j7vUHMn&NP40O#L1Uc-Xpq`nU4xo zRY8v1#Bu})Lj1#kz3KnDxq3W&VTew15oO7GZN*Y+)=R|vumu2Eg^oit7E>-S3vfkW zvak?nMfIC16LGB8R~vJe%)(LoA?>Bg2E{;9#mcGzph!?*2Sv;xdPS3JN%VLSXy@DJ z-{?@K#|}JDOq2@?DZ<(ZboOJ6H7FkB&~ZDsA{PSL3$o$zR$InP-31C8kqGz^`ro7# z`UTqYaNfq^c(?rJGH0%VAL&F}PPtev>HDh#X?FUM4T7+IO#gsDQN5)%0a{J^>%D8R zVgMGp?+aghC7de;w@Ny#VlglSoRt2C;r!3ki#gh;D;^$=9!1BHmGtwyTvXYQsI)3v zRPzHbp8BcgYTFH9$!$FPDxcToPQa+$jX$it3^Npo(5~5@*mt)w$QfW@DM*SZH8u&@+`)?Mr@y{>O4e-_LpBsUH z1s{p81{rAJ_kS&@^$#9jegddR|7+~OIs5;5X//settings/pages`), see [GitHub Pages documentation](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) for more details. +::: + +The following methods mostly assume your GitHub repository is public. +If your repository is private, you may need to adjust the settings to allow GitHub Pages to access the repository using a personal access token. + +You can use the Quarto project created with the `quarto create project website` command as a demo project to try out the methods described in this guide. +This will provide a practical example to follow along with. + +## Manual Approach + +### Using Quarto CLI + +The manual method involves using the Quarto Command Line Interface (CLI) to publish your project. +This method is straightforward and requires minimal setup. + +```sh +quarto publish gh-pages +``` + +Check out the Quarto CLI help for more details on the `publish` command. + +```sh +quarto publish --help +``` + +::: {.callout-note} +The `gh-pages` branch is used to publish to GitHub Pages. + +`quarto publish gh-pages` setups the `gh-pages` branch, renders your project, and pushes the output to the branch. +You can use the `--no-render` flag to skip rendering and only push a previously rendered project. +::: + +## Automated Approach + +Automation can streamline the publishing process and reduce the risk of errors. +Here are two automated methods using GitHub Actions. + +::: {.callout-important} +Ensure you have the necessary permissions to create and manage GitHub Actions workflows in your repository (*i.e.*, `https://github.com///settings/actions`), see [GitHub Actions documentation](https://docs.github.com/en/actions) for more details. +::: + +### Quarto Publish GitHub Action + +Quarto provides an official GitHub Action that simplifies the publishing process. +This action takes care of the entire workflow but **requires** to use `quarto publish gh-pages` locally at least once to set up the `gh-pages` branch. + +```{.yaml filename=".github/workflows/deploy.yml"} +name: Deploy + +on: + workflow_dispatch: + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + pages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Quarto + uses: quarto-dev/quarto-actions/setup@v2 + with: + version: pre-release + # Add any additional steps as needed, such as installing dependencies + - name: Build and Deploy + uses: quarto-dev/quarto-actions/publish@v2 + with: + target: gh-pages +``` + +::: {.callout-note} +The `quarto-dev/quarto-actions` GitHub Actions are maintained by the Quarto team. +You can find more information about these actions in the [Quarto Actions repository](https://github.com/quarto-dev/quarto-actions). +::: + +### Custom GitHub Actions Workflow + +For more control over the publishing process, you can set up a custom GitHub Actions workflow. +We'll discuss two scenarios: + +- [**Deploy from a branch**](#deploy-from-a-branch) ([Deploy from a branch - GitHub](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-from-a-branch)) + *Classic Pages experience, where the content is published from a specific branch root or `/docs` folder.* + +- [**GitHub Actions**](#github-actions) ([GitHub Actions - GitHub](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow)) + *Best for using frameworks and customizing your build process.* + +#### Deploy From a Branch + +You can configure a workflow to publish your Quarto project whenever changes are pushed to a specific branch (*e.g.*, `main`) and deploy the output to GitHub Pages from a specific folder/branch. + +::: {.callout-note} +The GitHub Action workflow described in [Quarto Publish GitHub Action](#quarto-publish-github-action) uses `gh-pages` root as the source for GitHub Pages. +::: + +##### Deploying From the `docs` Folder (*e.g.*, `main` Branch) + +Using the `docs` folder as the source for GitHub Pages. Be sure to use a Quarto project (*i.e.*, `_quarto.yml`) to be able to set `output-dir`. + +```{.yaml filename=".github/workflows/deploy.yml"} +name: Deploy + +on: + workflow_dispatch: + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Quarto + uses: quarto-dev/quarto-actions/setup@v2 + with: + version: pre-release + # Add any additional steps as needed, such as installing dependencies + - name: Build + shell: bash + run: | + [ ! -f _quarto.yml ] && echo -e "project:\n output-dir: docs" > _quarto.yml + if grep -q "output-dir: docs" _quarto.yml; then + quarto render + else + quarto render --output-dir docs + fi + - name: Deploy + shell: bash + run: | + git config --local user.name github-actions[bot] + git config --local user.email 41898282+github-actions[bot]@users.noreply.github.com + git add docs || echo "No changes." + git commit -m "ci: quarto render" || echo "No changes." + git push origin || echo "No changes." +``` + +##### Deploying From the Root (*e.g.*, `gh-pages` Branch) + +Using the root of the `gh-pages` branch as the source for GitHub Pages. + +::: {.callout-tip} +This method offers an advantage over `quarto publish gh-pages` as it does not necessitate a local run to create the `gh-pages` branch beforehand. +Additionally, it provides some insight into the processes that occur behind the scenes when using `quarto publish gh-pages`, thus when using the [Quarto Publish GitHub Action](#quarto-publish-github-action). +::: + +```{.yaml filename=".github/workflows/deploy.yml"} +name: Deploy + +on: + workflow_dispatch: + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Quarto + uses: quarto-dev/quarto-actions/setup@v2 + with: + version: pre-release + # Add any additional steps as needed, such as installing dependencies + - name: Build + shell: bash + run: | + [ ! -f _quarto.yml ] && echo -e "project:\n output-dir: _site" > _quarto.yml + if grep -q "output-dir: _site" _quarto.yml; then + quarto render + else + quarto render --output-dir _site + fi + - name: Deploy + shell: bash + env: + GH_PAGES: gh-pages + run: | + git config --local user.name github-actions[bot] + git config --local user.email 41898282+github-actions[bot]@users.noreply.github.com + BUILD_DIR=$(mktemp -d) + mv _site "${BUILD_DIR}/quarto-output" + if git ls-remote --exit-code origin "${GH_PAGES}"; then + git fetch origin "${GH_PAGES}" + git checkout origin/"${GH_PAGES}" + else + git checkout --orphan "${GH_PAGES}" + git rm -rf . + fi + mv ${BUILD_DIR}/quarto-output/* . + git add . || echo "No changes." + git commit --allow-empty -m "ci: quarto render" || echo "No changes." + git push origin "${GH_PAGES}" || echo "No changes." +``` + +#### GitHub Actions + +For more sophisticated workflows, you have the option to customise the build process, thus eliminating the need to set up the `gh-pages` or `docs` folder. +This approach is particularly advantageous as it ensures that the source repository remains uncluttered, maintaining a clear separation between the source code and the build/deploy process and environment. + +```{.yaml filename=".github/workflows/deploy.yml"} +name: Deploy + +on: + workflow_dispatch: + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Quarto + uses: quarto-dev/quarto-actions/setup@v2 + with: + version: pre-release + - name: Build + shell: bash + run: | + [ ! -f _quarto.yml ] && echo -e "project:\n output-dir: _site" > _quarto.yml + if grep -q "output-dir: _site" _quarto.yml; then + quarto render + else + quarto render --output-dir _site + fi + - name: Configure GitHub Pages + uses: actions/configure-pages@v5 + - name: Upload Pages Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: "_site" + - name: Deploy + id: deployment + uses: actions/deploy-pages@v4 +``` + +::: {.callout-note} +The workflow above utilises `_site` as the output directory, which is the default output directory for Quarto website projects. You can modify the output directory as necessary, provided it aligns with the `Upload Pages Artifact` step. +::: + +### Keeping Your GitHub Actions Workflow Up-to-Date + +GitHub Actions workflows are versioned, and new versions are released periodically. +To ensure your workflows are up-to-date, you can use Dependabot to automatically create pull requests when new versions of your dependencies are available. + +```{.yaml filename=".github/dependabot.yml"} +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" +```` + +This configuration file instructs Dependabot to check for updates to GitHub Actions workflows weekly. + +For more information on Dependabot, see the [Dependabot documentation](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates). + +## Conclusion + +By following these methods, you'll be able to publish your Quarto projects to GitHub Pages efficiently. +Choose the approach that best suits your needs and workflow. + +Happy publishing! From 3a305573bddb2043ef08ca810bb0c3877450e7ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Fri, 17 Jan 2025 19:16:07 +0100 Subject: [PATCH 2/5] fix: published date --- docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd b/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd index 0ef54a6668..7bb13357cb 100644 --- a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd +++ b/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd @@ -7,7 +7,7 @@ title: "Quarto: Publishing to GitHub Pages" description: | In this guide, we'll explore various methods to publish your Quarto projects to GitHub Pages. We'll cover both manual and automated approaches to help you choose the best fit for your workflow. -date: "2024-12-30" +date: "2025-01-20" categories: [Quarto, "GitHub Pages", Publishing, Deployment, "GitHub Actions"] image: featured.png image-alt: | From 9ae963aaf70b6daaf8a63c3339fb233859bb74f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Fri, 17 Jan 2025 19:58:06 +0100 Subject: [PATCH 3/5] chore: rm external link option --- docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd b/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd index 7bb13357cb..8535492b98 100644 --- a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd +++ b/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd @@ -13,7 +13,6 @@ image: featured.png image-alt: | Quarto icon and text logo above GitHub Pages logo. toc-depth: 5 -link-external-icon: true --- ![](featured.png){fig-alt="Quarto icon and text logo above GitHub Pages logo." fig-align="center" width="50%"} From 9beecfbbcefa204caf49773e69789d3d66bc9686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Fri, 17 Jan 2025 19:59:14 +0100 Subject: [PATCH 4/5] chore: tweak categories --- docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd b/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd index 8535492b98..d050e793f5 100644 --- a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd +++ b/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd @@ -8,7 +8,7 @@ description: | In this guide, we'll explore various methods to publish your Quarto projects to GitHub Pages. We'll cover both manual and automated approaches to help you choose the best fit for your workflow. date: "2025-01-20" -categories: [Quarto, "GitHub Pages", Publishing, Deployment, "GitHub Actions"] +categories: ["GitHub Pages", Publishing, Deployment, "GitHub Actions"] image: featured.png image-alt: | Quarto icon and text logo above GitHub Pages logo. From c6d3aa817f0be81a80b3deefa67a5e86b61a1a3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Thu, 23 Jan 2025 18:07:48 +0100 Subject: [PATCH 5/5] chore: change date --- .../featured.png | Bin .../index.qmd | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/blog/posts/{2025-01-20-quarto-github-pages => 2025-01-XX-quarto-github-pages}/featured.png (100%) rename docs/blog/posts/{2025-01-20-quarto-github-pages => 2025-01-XX-quarto-github-pages}/index.qmd (99%) diff --git a/docs/blog/posts/2025-01-20-quarto-github-pages/featured.png b/docs/blog/posts/2025-01-XX-quarto-github-pages/featured.png similarity index 100% rename from docs/blog/posts/2025-01-20-quarto-github-pages/featured.png rename to docs/blog/posts/2025-01-XX-quarto-github-pages/featured.png diff --git a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd b/docs/blog/posts/2025-01-XX-quarto-github-pages/index.qmd similarity index 99% rename from docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd rename to docs/blog/posts/2025-01-XX-quarto-github-pages/index.qmd index d050e793f5..2fe21a8bc7 100644 --- a/docs/blog/posts/2025-01-20-quarto-github-pages/index.qmd +++ b/docs/blog/posts/2025-01-XX-quarto-github-pages/index.qmd @@ -7,7 +7,7 @@ title: "Quarto: Publishing to GitHub Pages" description: | In this guide, we'll explore various methods to publish your Quarto projects to GitHub Pages. We'll cover both manual and automated approaches to help you choose the best fit for your workflow. -date: "2025-01-20" +date: "2025-01-XX" categories: ["GitHub Pages", Publishing, Deployment, "GitHub Actions"] image: featured.png image-alt: |