From d61a768d339337ef97dff84d2552c19fbc1681d8 Mon Sep 17 00:00:00 2001 From: Chris Ayers Date: Sun, 1 Oct 2023 16:04:02 +0000 Subject: [PATCH] updated slides --- slides/Slides.md | 56 ++++++++++--------------------- slides/img/job-runner.drawio.png | Bin 41990 -> 48140 bytes slides/themes/custom-default.css | 30 +++++++++++++++++ slides/themes/custom-gaia.css | 9 +++++ slides/themes/custom-uncover.css | 9 +++++ slides/themes/custom.css | 6 ++++ 6 files changed, 71 insertions(+), 39 deletions(-) create mode 100644 slides/themes/custom-default.css create mode 100644 slides/themes/custom-gaia.css create mode 100644 slides/themes/custom-uncover.css create mode 100644 slides/themes/custom.css diff --git a/slides/Slides.md b/slides/Slides.md index 1fe2d1c..82d1625 100644 --- a/slides/Slides.md +++ b/slides/Slides.md @@ -1,32 +1,14 @@ --- marp: true -theme: default +theme: custom-default footer: '@Chris_L_Ayers - https://chris-ayers.com' -style: | - .columns { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 1rem; - } - .columns3 { - display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); - gap: 1rem; - } - .ci { - width: 800px; - } - .cd { - width:960px; - } - @import 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css' --- # CI/CD with GitHub Actions ## Chris Ayers -![bg](./img/bg.png) +![bg right w:90%](./img/bg.png) --- @@ -42,7 +24,7 @@ style: | GitHub: [Codebytes](https://github.com/codebytes) --- -![bg left](./img/bg.png) +![bg left fit](./img/bg.png) # Agenda - YAML @@ -52,8 +34,6 @@ style: | --- -![bg](./img/bg.png) -
@@ -79,7 +59,6 @@ Demo: [Online Parser](https://yaml-online-parser.appspot.com/) --- -![bg](./img/bg.png) # What is CI/CD?
@@ -87,20 +66,19 @@ flowchart LR subgraph Continuous Integration direction LR A[Code] --Check In--> B[Build] - B --Auto--> C[Unit Tests] - C --Auto--> D[Dev Release] - D --Auto--> E[Additional Tests] + B -- Auto --> C[Unit Tests] + C -- Auto --> D[Dev Release] + D -- Auto --> E[Additional Tests] end
-
flowchart LR subgraph Continuous Delivery direction LR G[Code] --Check In--> H[Build] - H --Auto--> I[Unit Tests] - I --Auto--> J[Dev Release] - J --Auto--> K[Additional Tests] + H -- Auto --> I[Unit Tests] + I -- Auto --> J[Dev Release] + J -- Auto --> K[Additional Tests] K --Manual--> L[Release] end linkStyle 4 color:red; @@ -110,12 +88,12 @@ flowchart LR subgraph Continuous Deployment direction LR M[Code] --Check In--> N[Build] - N --Auto--> O[Unit Tests] - O --Auto--> P[Dev Release] - P --Auto--> Q[Additional Tests] - Q --Auto--> R[Release] + N -- Auto --> O[Unit Tests] + O -- Auto --> P[Dev Release] + P -- Auto --> Q[Additional Tests] + Q -- Auto --> R[Release] end -linkStyle 4 color:gree; +linkStyle 4 color:green;
--- @@ -139,7 +117,7 @@ linkStyle 4 color:gree; --- -![bg right:60% w:750](./img/job-runner.drawio.png) +![bg right:65% w:725](./img/job-runner.drawio.png) # Jobs - Workflows can contain multiple jobs - Each job runs on a [Runner](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) @@ -151,11 +129,11 @@ linkStyle 4 color:gree; [nektos/act](https://github.com/nektos/act) -![bg right:50% contain](./img/act-quickstart-2.gif) +![bg right:50% 95%](./img/act-quickstart-2.gif) --- -![bg](./img/bg.png) +![bg right fit](./img/bg.png) # DEMOS --- diff --git a/slides/img/job-runner.drawio.png b/slides/img/job-runner.drawio.png index 54525dba8483272e0d0d02130666236f57dba3bb..155d46c84e590520c7a6637a68f141bc21fa691a 100644 GIT binary patch literal 48140 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 IS<~SE1DkbpssI20 literal 41990 zcmeEvcOcd4|2UFSgp^&%tYoiL$nF@aR4O|=d*|56C?rm@Lgi#+RVsUw?5u+%4h`!_ zM>xp-J?}G`_kQpFe7^U7?*06}_b<+Kp7-;9p4XnwxqS492K@$(4P<0w^svLK$H~Yj zFl1!pYcy0~WISDk5&R){JFcNjmfy++z7bw_S3B+QaKXyf-ja-8QibpzzoZ)Y-@?|+ z+SSZ~UqZ~$%)ydhQk7pq;;5OmrLZ{o2aMWU5XN*}&ApG?*}Lhen!!&=svgtwbU6>r zz%Sx(LBrL|*+$37!qOf*V{w7-jEtBxVG#>&!hqC1Il_RoD`{QgYoGx=TR3q8;$p;U z9<~;iZiHuv6WyJh?A>jhzaKPra&)vbcmHmpnX9Xl*Z0$`oa~9GAui?&4*K0g(14z~ znf=eB`nDGCHiWtRq>0;uW*@e+wYDL>SzL_xje{9!GI7Ao#>~RWi|{;t2oE<`CnxZz z8XhGomi7?rNN^!Mr~WJ7e%ZgPr6cj>|MLU-$Lv+~_bHp1Ypd9}S)1t`@!sboEJ=W} zr?;U}P;qnea5X0$=oimTA|*3dYfB>ZqzJ1)#|6uS5BNDG;f3{C1Lrm>H4GtiR0r!WT!KYypBK#E2XrAxoqOB11?>6FG#mggbsu#HRrN5eWeN z19*(IJbqjFAw1FiG6DThC;tZHYMub9KcW45qr4os|{s!uL?v~C!(dTa%3*VFP zufp*6n+{Sxm{j7DMBV+D*$zaseFG>Zb9Y-O$G;p@GLl4#pTx?4IjBgY{To>6*$^Bd z6(Hj7YkhJe_sr7Fm z0)caYH?)a-ElCPP{B&+uZ$!+c(5W z$PYmmDUu;dVh@rVNHR=+#jba_@Z&=JzNei(F?#c}FYuSp1n>m^OX3eiCi<4>h-&hW zQy#xUUL>>Ouef2Mz`L}54 z$4K126G|c?;~Vz++nA)^yXF5;sQhfG|J@z%FG=M81kn)l)!z`!-&X#RtlVz}5GlU$ z$Js!?R|1iC^9|(w9wO)mUs+m~sCNGo)I>tZH$eH@$e{0CoBu3W{wCheA69VZgu z`^RzOuh^?3#v^(oGGf2aUj0pHS6YH73rTJb;dFmQvQ+$U;@5n^zla#YvH6-K7nj0k zN}++TsZsnV2+sK86rxu|%AlUX=k4*i^kNhwJZDgH_T=il(K#ea6f_$6e_9H5dH$8&DbAK;V` z0sT##6sYfVhKhpBJzVX*m0iuu?V!pc<=>qQgQ&*J-q!grSOfas-t3&E{ZS`3TYTb3 zQq`4EWu^?}#cV-=n)VOhJJ?!SKs8&+X7;w$j$jdcODkvtr1?t3;V<)kmCAm9=1mqb z$+ux=aZ(`U8&yie+_yzL5~O(~^!+>5JShwFjVk>GL=h?d|2(3Ia3J!}FF6>09-@Bs zMSn7(N!(*)Z+Srps@nvVYw2h~{8!c7-ptL-)*K9eQ#MFgtm1`I9zV@}{}sEr(q$zNWdx*0ul2*4m6Ho4pA#+4o}9n+$@Ij_lqo4YMAn z4A74J_#(%zWVA7{dFG&3ir-5GpS;2Veb;9%3g^z+t<41tuB6S}^uh8!+epC}NJhDX zjGX2W8O0QBzYx!SuJ-%pX2mKURexnw<7kN%tvgbhY2VCZY}oP1kx7n+XOcN4ZA*-k z(lpnK6x`OoMc+C%(--T+7zV~!!JtOBx7KpEX9)AP`&C<%>akNM`{Gt zFJz1XEFQQmXrpI#!_f6Z*WI=W@85dO%;2nWhTua!d7F276R&zUF_q}5Du~G(!%T7P zxa+e+5x=Ci%A02)8!x2W9@RA&j@4q(fJ09o5shiwv#IMGTyOExof4dl+D5-j!HSz( zVz^Is<#L=8@4d%-YajmkELzjZuB>(FYaoyvriYxh12C{`(YC}0Z zuEV9(uNCW&J;vnYDgX=#SIO#Z_P<2vbJ#=*Ogi1&aW=PtV*Lk(t~)P%?cPgCE?o^T zKgoPrk_usrPJG<0 zGTd@@Z~YVaNYL3X4l9S7R;xEkq-GzU6T_T&#YPFJa0efGN08LvbAa++*IZ zaXR{938@|L+))YTC=$?3z5?BaioSoBi-3$#CKq4lgVgfl!AtApb@Lx$Hc)j+p1pa5 z18@up_;z1_FWd?Nr1g2mhwH%>5Lcad4!AYicv8mbsVQ7Nq7!C5tx2MM->;Nk%P!@d z{yg!Ody4Bd?RxmMCOwt`cd(=>Lx@eg&BkTFt+uf(i31A0aKMv&!Bmdd_c15u>urj~ zoYpnYe!3ErDyZMvNqRO-d5mJ~RqRLr5Fi zlbmk~Aq|5R_r6O)TIHXCG@61@RukW2o*!THXX>UIk68{@`nfKDb}5;7*vz*wG2k;9 z7q%UKIKOoKUgPYEGO(+#u6Kc9@{&U3P4AFwb-Z&vckUuC|T57uCw!Fzy@M4tVa( zNYHKo8RWm%_st2bZCaczTsvf{zmoH(kh>$$`i;(mJ zkQDHTAepu`M)z{VU7pxYx7$SMQFhJU8}dfoMq7pRjVl+&bCL%f+pEz0EwZ%(0A>+6 z*cBmc=8=?GPN#Agvzy1Y7tg@&zG@J)h8uUEn`fwR%?;~3w-{!UnS)GBb}Y4hFS{RO zZQXkFj7?TSjmCCwi_Siy?HAqzMGcbi%X=2JBbPCr`N7l-jy8o$I>$=y3N_ggdF83a zFEFN5KcM=g&v7@F-cQFRB4sDLd#nQD&mCM{Im3i;Z1DH%HMhQIT;^<+bK`xkwS+2q zYmg%8m|pst7$u?XurSR#|F|zys%%Q>I57lc5E}2(gS9vKQ#Mv zO|r(cg&!Uh!mRYs?|*%eV_GcrZZ<~~zvbq?^g@Mc)_ ziXSVwiL zaxN8IL1=9gP}wqxd z56WxFSERznvm;U;E8Jdwp(WQjW1otB*zI(7F`BYsb@79&-&w8sh0C{fy)db>Z68Hg zs{$Nc>`YsY-)X`(N!PvF>^zs@aG=EYVTi1Br|Fe5mZ3|$Mljtr*jgQn(8W|WtEIaV zt+<0_qsV&S_?*sJlK!$KAjuHeJ71;zmFzES4;*7b;XQYx@ipC^`s(>pc-ukX{4a3H z7Cp(oLN)w`KBu)s$u1oal3H5LTrRY+m&jV98^8&hcNhc1;1NcrLzKF4%XOh{8%XJD zo=v`E4=J?Ws>ibHND#6kK*&r7zGmlEXqC@(38sHB$?4U*9VKh4OT%xT2D@VJ#o|$igr3U|7a}|y%!Znwce*QU)8qnA#3GSlvBfj zfvHX2OMQct?e!Xpi^pD+*2guCLCRdbsU3EGCuH5E(+B~Rj9{l`m=g|BD2chOyf_^w zY2CWFQr>Y^D7{SR)1=>|k8Gs3bzSExi`Tj-`}vCo{mX9db5S0c&G&Nf9hNF8v#{N} zc&k=vdPZ?=X1Y<=|2T@Xt#4pXrevn|fcS?FeHlNYI)04sQI@sL7}h$Qx{cd_5yB+w zN%;se!FLj@9f4ff;A6Y^n+kr5cVL-0gN+IERonLZt+*{VjagJGt}V1_&2O!YH}dSQ zV?E0y4?nSK+kUTVqlh0Eudu`ybkn#CqaIf)#pSz^}{)wWQyc=D%oLGLmG+GE%k#A5h4~ znRV80_t8cPi~G!D}N`7CBMDc-~IUZQKIJbEP7xS(pabh$BY zxlygccXHmp04PWee@whTtdm!~m4@!%;hP?5-J9xmZ8V5ff>2@JuqUUPgbHgSDx@%% zRVC1hI2A>{s-?0jp(3gr&m zW1&p9xVj9Nkrgc<%CX~WGCCwH4{;xF9R;xRM;5V9|~fCPBLDt6-TJ ztYl>l94y}SjK%yY z#6xTko5o#%R#iB}nThGeo8;Q35tY62m=(eM$egzrmUxTu&b3M76mQ)CY-*1G!f?C^ zPBmdQ4u@TrQ8jB&_4xA++eZx1oBDU1;o*>LSW++flrrgS?ZN;r?G6zd<<;-&{Y17@ zlf+inkd&3~3junYZGCAR0Q4dm@XhuUEK%hoTyCPweqhpPD>W{upW)(DoOe?!y1-`* z-@;q4z({jnG1tsIGWYWSCRRYT9WkD{2JFC$VQ8`vT>!QFdxWoJLbddz`LAY;4b!ylD;Dbb6_8#2D#V372{8$ULXG-`Jf$?1? z5S?nge&A?H1XSYHA53))=9$W4`wpMaI(H|Dd@f9y7H6;1b*vKd46Z&hM>hc>utCoy{%Pmo5zMO2F-NZ0 zG)RxR#p%jpVi@B%^LADNG#Srsh$tcnM4=-~kf{fgi*jkjcX5$Va;`^gKXQCAR2&08 zrK$|VYr9kr;W=IAEBS~wTnmJ#Qr6JkDO(IPaO#pj2xd{y;%PFt{R{na2Gh|(ROVh& zJ9lFP0_&hQMoqzJbB#b_H2=#5?{C1;f zr7)}_Z#pY5?f25CX6-|+9`qpWSd#NA7tu-Zy@6<*p0&^59+eI~d`>{Q#-F3BaHst7 zlY9h5I`LIj5?_!l4ncxLN_wm}nTCGJ_Gnuu?(oSN!a4Q6in_WTDinZ4GwPflRNOt^ z-gV2`iAQQ8Q%Rl^#d}hX$WFCC!H)xi-#sP0;M9uC?f0S0AC5k;mALt>KW+Xz-9MYh zOR;|-|KCD3!^TXoHMf;#$TH(pfuzEIcm6=L^O{FJVhbUvPq8Ub<)j}kp;UK0qKjwp z4_3~J;l4Vm1EnJO=i07ow(Ix9@ot9 zn_ZMWAk^Q(qidwSpCjwYEhRm3D-;y5^cwV=uj5cyTb_AnUcX5$V6~iUpYx$PEV}G- z;he|x5X^gds(yH^Bi(hZ{kCv@+5xX4o|6N@Z3kyw@XS{FEe(C1dhgn6iIM3%T_833 zdR7>5$u*V%GNXFxXx!x(wr-hcU@LtovkAwtQ>c zpGmGrr?O0S=!Hb4DM}-MQ;i1m{eJiK^1Qoj-z*5eitFyly6iv1O-b!6jW6vz$WS7i`0iC#xZepShqHLR#cWbs{W&idRr(# z0Gh5=hA%rXm8dZvjDhJ=t=tcvc#4cR+!~t91YT;TGrKu4A!&0|jN8E=_9UEp$jCOH zX*no4w%W7dZU-Eje|@sQ#I0smCP!m&W>3B1>Qo3!*J>q3V|z?zrfxF`WIkZ(V_(G0 z%MSX^)Sa|wiNm$fEsV!4c`T6Pq<7|wywH#zyrd@Y>6aVvVKwN!weEghwfr*demR$S zm&)fWCXHUK0gt_{&WU3aw?cVVobk#kYA_RS2;;7bZ)8j&97fFlu&O`UT7QyI-v`$` zW0-Cg>OiW0V-eSd_tP7Ey!clXBO0t#haQDbXgbmIprX7jo0k4x7dl6Q;&e#lK?Aw7|+UJ;O6it#wWSek4O8v9oev;uKP{1=EI+xvrOa zL^#q};{GJOr;No)p8ch}koMXY-z$B3XPAAW-Xf%1wO!_llt20G8%t@S4W^RWZE0(%UwV^f~-D6KfMaOPr zWa53 zroc&|g;?z=YLFT7tiJsK!~oa$cm|CWD00`<>X(h+H(yPLA1>9rZajEaVdLjCQHIb0 z)7|!NuB+dH*Wn*?J3}G|8Dm&g`4ZpX6s*AMEM^a%#MQ^^x0MMEfjEBv zQw+7*(ADAY87UDoLt5q0-9|c-#tH5p$C+el$v@~=qooAUkO!uvH}k>Zk<{~+^X6s6 zLaIZYJg(W{<(3Oo*ed0ZQq-uG(_8_+(t|N*CrFf#W&#yE< z+h#518MVf?3i0-)F3LxcOa5`~Y@`_GrE1}X^G;GNz_#J!w{i9ES<7j|1w(E~J#5)zWkl-Xhj4yxA;fFh>KrN`bf?ji#cMVa{jzBH&UcG_?yQV4#yHW4hOl`3&Z>X~VPw(+ z%!89Y@kRFx2P8*S@{yT7T}%2e%SsJlJ-KA!2uND+C)FY2Z;kVf(&;R=T|NwdruAAM zquDMPKeF7XH6#GXVymzUbiGxqzGXs~oOz_6d2*zim&xb-h|2Cxqf##0tC+dCRrx`* zo=vIGKu_W%7h)BJpWKegqOGgYAXK4p7wxpJSP@5lvTpvBiV=*6twhfJv-vbegnuO#BXUZhVu@M_ZtOGu zR)u@@P}m8?=p!;}hES z0xP?@UGzo~)S<02FO-zd z5vV8&EB3i=xcD$0M_!E8TwEGl^IsU#P%NE_x`J7KTT%|J^1{v;!$&sa(ZFyHisG8Z zuj`18taMs%NS`!hJ-sxVfO{=;$S+4n|H{yWcFR4O$;zoZY~N1ib|a8wq*na=v{qKt zarSfB@i&VynbbGQY)3T&3UU#YwOs1ua5-7^P7_2 zSrHb^f1p^l?Ad`+bICVJaPMjERCR+4o!s8Uq)J%8;Lh;u_a|!OF8&!P_m>`Dh-;ZiUt_6h`&sSqP4KE*jLb5Tb zN-3#KXul~<2_oZ_IXT^I_QTL8C7l^7>9UGWEmD%#Fp*dc2qx%3!ymmjiH&-l0XN@4 z(p#eM0~V%u;nSOU=MT&yIqy{(-vf(mR~U>F$5i%&VV@8jDf;t2x-Kv3y7&+k*1C)5 zq+$U0I|J;}un!kou7+}CLH>^ge4sncaG?Y=;Wi5C1X3?h33D-yX)DFERLCeaC6>b3Kl?IHT zplGn<4M!n?m1pbAI}9zkv}?-KT2F>IrkFgue_gKfI27;YXd*<0T}`dFo?`@+5H{7E zK}=y+in8r{80vPR&eKmwCxmvqtDcS8qM%GDhcqqxQ4@zDH&jxAh(J` z4|yv}8~Qk9tJ~mHNE}jM3(VLo4p)P8)lqynRh?_kKn6&CJmLwhpz0Kx%nY@g6z--W zB*=p6eiT()dqN{V3U`OA)b^ba!^E6=e!s_*V`Qbv`D4Xhj@yLvU;Ec=mHD-uAlMzE zQVWG*Ib5I&N&2Lug{{EDIzyhH$U{Ai{)XR(Pq0pD-h>ZJD+sd1L6#yHqE zVP3E1@%)YRmk4PbrLURBD5X$JD9gAN3ge!Ce*2xno&?-sp>wb7#OP=I&lk@P9FJ-z zq{VE03@tyqeXjTw_m_ZI1;});*}w1RRhNI|p@jQxEPY zmDc1}%)Ng6!E>mA393S|n8%`H>l9W$zvqM-9oXkwO_W+H9Y0E~oeW!RW)nT`0ag_h zA(ogvvDxz|^g!_Hry7Q4P?*7@r!6oB>Nd`>rNx{0vm->_4ew1$VQEWK6opDQl)ZXD zZ1dTL0-sr(#nM-DE56T{vhil$X@ZM(q4(997D*cxAcL;AQ(3cY*uC#EQ<&z{e5y$p3%Ct^rcg{H?%=`@f>XZ<;ZpVf>Vct8Z)-NLn|&eK*3cq5SRO9tGdEFp zavnR0+B%25GO|_QaA*D1ZGGX<{$#C-^mcB8{qY(n%o=Lp&|ROQ}JNgAe9k_G&?Q!zVQma zvW}!BHvFh1XdRsCdTeiG12vI)VL3P4S5sAFYs{mxs|5+O?HmeT*#39p!#M?&rI?RY zD}6?&JIGgM*it)}?uvlgm9A_(*Y{DfB9VGmV2WA=TR0bnwQCChw>76E(f@7x10+oV z*z28BtP&yFA5|~McR9nIY@t07wc>6w~7`mth! zuQd90sC9ZR_EdbIW0`}CD16c3MPZvlnbSlw z<-l+#r{n2mtFfol-2GY1QwnoLO)=8a`Xd1nlC$T%vo6>*-%E3fXkb+x3U(92`0ZLT zFhzY7MpJ8m(4l_wQbB8bW^v_IVl(xTV4HnN7JbG0H{H9@%5ke@YX-@cBQlbh##e%c zgDW=#YrR|=k@JenT(dP93GO*XSjCoLSdq16of)trYA!H295#J^``oJ#*u6p?l>BRp zQ~Ic-B2ITCN?2@Ze$s?388@Dc%gaBMKhRg%TY(i25_j1g#*rGuBKuvfXz6%O+YSGx z68aB}qG6(;H=b)k$yI$++(vfs7q_1_K25-`TOFFNNiQrDtXR5c<0W*6;(DZy#CtTg z+JWFgxJMy(kCCM=H}(ToUw5h>k;+>lT>nBn0&Tr>QNQxQM^NMK79qItuFs1D^s^p| zxK3S$O2KWQG<48j-wdTQn0EMv5*Z?uJZh&5rPVo<^}K3Scehc+$6IS%H(IqlsP3(~ z$FEj=z%+ToZ@}U5vt4?u@^)x-9gm0mIzQPzD*p9iPy;N#R+VXD&a07nPy(xUjvq2r zgfLAZk!&L`-VE{FL>FeeDcQ@4+?zU6|11%hVWsPnr`j}#78TKS!#A>txlUNq_r7yX^MvM=N$^39VYlOhdE)k0L)$)f1illLPAzl}G58 zeK$ks4r}6*$kO9Wc-k0p>H9_dRU^2WV$xV*KspKCU%sxcf*;*`LxEF-C(TH*wQRl` z$#D9Dax-CTO?iH^FP_pJ5fPQTsU=cfY|5b?K`s^7_m1VPcJv8&SolO^%K_7VX3#Cb z^Uy@R4tiXOCFa^R-m;6E=Eyp=6YOF5$33V=w1qbWY>Ckw8aWlIRrG9m71iceWr&9xPxP^1~t2BPNXpLS4NUMIQDq_eE-PZu=?}pn z-|+CWCW6J+lpoMN0i8hThZArJ5A5QpDv?4}r5KnaTofypsjI0~hZe}aD|{HV7Xxeg z9zk^s0!Y6-(83mdAMiOR#v~O_7wEdlw;l(#OTx2+RkzGCLfQOzuaK5 zIi^bPp&>`=_6HZvs$yR>3`3xhWQp53N3fEYq`eTwyt9fivV}}iH)%zl-G`9Dq#D=z zo=iBEF=kDehgw4Gu35d>P?(y9zSSmZ2dO3Z=?eKl>4tOGtNfxI`*oYP>iaR+Q_(X} zvg|$x9F=o?F7y)~fh>cS)P0tE4x!XqWN(cIeC0dQ`ML?#&2Ppv6O_LitS?BhaUd?vh)%b8dH?PY0FGEE|;u*DIFOO zW|2I3FROvi!zR4RaPaV3-p8MF!Q#p@#_@pD8TO_PP5Y>$ zP4@7ZY>g3$n%=4vOce47?);921iBc{xF@)~A^ErtlOYrs+1`3mMsC_#7TRR- zj4kf%I1g~_($!e+?e4sEn`JFAe1atgz$9(Um}gb^azeOo@gc{~>k009H~E@(1j5<^ z>lisHLc^};s8~KUjcjuEh=DxoI~%*N+dexTp(w&rWt5?}P#(T~FMQec_Og|&IL2xh z>^cnS9@?vB?`he%_q+#yApZdnN{=qYh5M?hqNq;>RMF9vh%h7k1QCI;0oHYiwg?(OByL5>^$uBqo*DLy9kd{jBL>7EfsWQvE~c1y;k1&~yazKW=MD<^ZD{Ixbv4ij(K_9dTHQZL-MRfeXfZqnFf^K1 zBUSeLto9%eylumXsOZ|w%5Ew75ph2^+i-n{gq=G&ERInO=)gM~5nROn+@N=ql_si{ zr^>ImkZYHUA4Sm%1j4u@BgsiUz%NqB1pKf<69N7S?rV0cVWe?wZGanb=cbCwWCGic zfuc#m7eQMo65RQYC6ftM%xyTzO&leMnmw>LkR_pFm=<9<=1^kyujw{&?Zy4d%jHt! z+Hl)vLt(`69bDjZF@LgA4Sh4<0P?#9;Rw!0q^rR(zwl4u)h+1FIh9~(lY+rJMoKv3eEG( z)%d<$b5sZMjbQQ9I|E@Fn;+AHl9mFpS<({D8e|BpBP_{|1~JedD``er;wAA_T41So z0d0TM_%kpbX7I3AIue$Kj+OZG%DT-!qVYF;egGh3PAjpU1jk-5zs(U=qeFw(?$~I< zMjA(fd3R|M0Yu1s!Q%)JBgqD?Ud(mKGK0+=B#7OT0g(K-^_GIbHu`^%L_)@2f+Rj= zCR$Q004V7Ezl^Y34ixiO!e25VU+pXa)hq?{>~Hv45Liq8*B@2NcK7i=f3ee4W5-8X z;~4?QVMC3GnU`isXhvZHd0*wAp;U)yftghQfdD`6g|MQ_4Z7hCAFgmXDuE7C0=6yc+o5L9P#K^OQ(!e$+F*!_)F{ZFd; zmxxgya0%|rk$mh*rW2u@$C7R{0(l0#FZJj5N!P6KOq=sezkNod4R)y`7HdHn^nlY* z)izZ5mK?YVfL+u(RQw)no$yPfNwH@r%VXn1oJHMqUf~UXJkvq{;!~Xn<0DrZqFK~U zW49w5FUIik(nO-2c{L@sP_!^rv$b4kl#D#4!(sCP1jipsf&ehZ>*74C3)$hmCsp(J zMppC53!o`^Vd{)*WpCB5TkWDu;tdo}nu@jl3H*I6pAPU$zx-x@Jw)BP`N@#huN7omBt=c5q#-3IXT;6E&UJMfg zN{k#B@4s?(xOVOaBbzQDoYdQWbnJCmBZl9RP6F*`)N2qbBS(kS4e1(uS= zx~;SpTzp&0q<2S&OFSKughBl_X%Z5cJz!~2ds%}_&gFxh6$H@Glo;Bv8&>3sjSNP* z)~7e8k9N?k2tYl2WBQuu2bxJRN!O2|WPGCuDl`x8c)uh2RUXVXGKN+?4F9e2hN^)}G5g`ioL5B_+fE2Qm< zFevUl;5l(xTRicWzOlEZnXj?`f~9t81OE}#MRBHuo8i6=B4-bRx>^t(m5;y}dZ9fw zzOTT74&)E#MsYKdpz9S#Iy2NL->#A4Q4rzw`r7E}ZGOS!3Q#(b>1V7uz{3Ol%dGI_ z4$Yd|vp4fq1v+Pj5W0?ryLIbUpc2HIFa}Y&F3GloyinCC&j@H4v^8IdBnC8? zHu{wcK)iZHtY7K)=DL1YQHI!N{gF7SlEv2(lgA_LtH9>b^t}b5J`;2(5H7XvcD>oH z6Pi_~oalI949kE`PG>c~@b*p)_H~+CWfD*?nxc#N0PA5JVb7w{e$PIK2%nBlC-YRl zx!#c7x{6x*wIDcOX7>8P{oiiM_aU*eXhm7$ASJ~6o3{v5Kq4-l8uq_y#E=}F{rmHVC~r}r2Zh% z$z#3i?7&-aQ2lRQ0?V1Y142|m@1aiF;{xc99N{diweproGpgA?F&@FR<|PY#EE+jnnZ-+s!~ zf?#X)-G0&_-gx{R^gI(N_x}Vblc{}CJLSz#;usa&aS0aT8%P5=uR5Qcm-`@zA18fi z!5h-W{4nQh*YRH|9WQy`G2Ag@bIG5X5;R)kgzk2vSQ1{4fa}OPOhHpVbXRJX|-{t}6jR1CE0*?JdM7E9wB=RS25EOE7BFDzFW4#yebaFv$ zwJGBbck&2k+a`qLgKI-JsgM+;jrslRJFw5F{l8wXvGFoTDj@K%-pz~12ig^CoX{?9 z)Qm-XP_S_3^Qml#jdd3qZ3Q~k>tN|Y`1YuFr;8A@{qIVZ7Lq`y0N)BDBhN>s2VJ3* z*c5vOopim9EzuO0$OqXzy6lPWaln)TS7U*+!KqljJZ1>*?5@8b@6P<&=uhxnbGde6 z;w4h5u7NVWjSoVkUsD4z2kfGyNCqJCVJx3*3WUhUYyScwg)la^c!GeLbgoF?uDH4Y zo1Xx_t6WcAzz9&EUFBn!1b0LnAM69=UKvAJC>I|;=2UA6*bDZ8yEpD2$L&E%XfG?8 zw(i!zSb~!SW62M-sno(q)`dn7GS&P++GzgYpq@ufkv&HjHABQ$hFomBf02#uLZHu?9{u79%|GEh=kPw*Q$PRImwsms=+N8KT55Z5~ z^CAjX084ufttCU8d9`?l=^-Gp*dINO!^JXIjMO20jMx`Jl!ybgszPsrn^T-CwS>$= zi4+(93O;>S@IH|nK?3;tMf~foX8g0re-TU^+mV_0YE_ZMd0YZoo0dQ{3VOH2@@(;z z>^75PXL1w0&CV_T!b$EpLp>KuJK3z!hld&!_{j-Ie5RrN`IZ}a^+k;^hMYvqr5O_rjg>kmg~^W%T#)L|IGXcO8-#E-DG)Fyz zxsH;$U@tc$3Wq0*$+0&>0f!o{s?YBt9@_PYcz=EyHoW+uK-3C#AUJiE{8}U&&L6x4 z;tnBF;|aKOzviqno7;g!)bDu>yEO)_S?>g@pP|popo&?7Ci*MStgq_uOlrpCJVcR~vYv8$glTFbEL53javwx44w- zRO$VG&%+VTMXONX*`}4!Wm5d%*b-=PjqP))TDh~mOyOm%$J(J+h1PB720+bN3jRu{ zrGa^ok+szMa_jf9^w6b)U77{{0hmcW`F!N)q?vjvXyOII!zUC7|KT}lCT}}R*9086 zuViw2y<;)TT|GGoMIWn}Rt@#zg*Vjj#18aTfxLJ~_%cXXK8=mNoQlZS9(m-XPQNjFgj?xPAhqZ=xX-q2aallJaO8QL-@fD5M|Fsr$Aeihsecnswr zhwfelmloQZT{F4xHYBR=2r9tt{bJF*+*Mx7vIVay+Qa5zn1!YIm_i=NOep^NW;rH& zIWT4?4^jN{y^B$8eu*#TYaTsjnS00_oeos#|p@;Y?PmgKB(!rXwdOFNAXK9T-&( z5XY-W$$Dfwa2@ASUCWCs4sEtW>|JzQxE8rgn&OXL+E|amB)C@ieo;| zOwFJmuc2|fI0o_>$=6b!5?xic_p+H9gieOY3~S^l?3j3!;7)Eml9% zlagyvCizJH0o?U@O}r=E*D}Mzv{1k^-F}!26Qivw5};L*^0vxzL8*I%CsskWE8wor zP;@5sN#Qk#m7KM}@SC~;b)YkSXJ|AOmQt5}phKYzha$ag?Z~y8;Yh)9q+eWqYJjV4 zYgL7+!<|v=>IZDiwH2SIMP;#-a9y~>lg52s^C1P27z26q-R78)1VaJ$QD(J@&p*DIsfiNV84}Vm_cJ?W)G<-W!0u2< zhkNn%o*5Zsn|tM{oP?ZnbendqFSZ(>(rK9h)}-RVdD$#$C#^$@3wRw+l#jrLzb5pB zvw!IeuNaONEl8brGFlMjnZ6a?|DYV6T6cHpZ71uV*@BEr!B(Vk>}8YwGH^hT=7u&c z=KHUmOZ@!p7ivW@&Ga%pEv;Rqs5SRQPN);r4O^G?zL;wEV7;Zi#}WJy>!(2L_K{Gz z3RGcdC*lE0$S+mUk0t<}L+aj^=*RS>5gWM2tOVrQaky=)tZ1rWP~}4jl_uoS$M;z; zQhLBI87+4AbPUVJ%({WM<|g5=+uvc2xni1)QPgirg)ox=YfHoF+$&>svU@U?!bYdT zB{ZO4*RA7D?LlzK&3YNv&v@Ui_@h-ER&DKJxbFpTX?ed?>zs`qIo`2}17+oRho@7; zxn23?x7}G0f{GiPN?g`g2wj2A?`*wM2HZ;X&npwtQ|=h{uIzZ+E@b7Iw3O^K(wLmV zrdNIkEH0J;wYl(yTCwn+XrPa=$>@1wnx~2-7WO8{r9IFqA=qN<9d5?m+r+BfEz|&1v?*I zJ};9sdb#1a6$SC#!?+42Ow)p2;*6%i(&gb-^62-QeWH&}C`6WmR`OJgkuJXX>~E6JCk}(| zboMR`dk31efX`fENE2SFQL!{vSJEFpa4Y*Mk~*O9b^Z#VtoPmaj_09tSl=d7V%Ie$ zMM40*w4uYqmI9NC!{tR{KvisoU(fj2|>_C*Z`!xdv>4;oCP|W-_L=0iiC(9PiaYP};P> zg&WTm!*s_7Qr%>(?%HQ^OZ+3~qi&yJd%BOi?^bF`0nJBx{ADP`d75jz!$lDp28QS= zQ0NmMP9+4MIAI(ZI}F%ztOR*$?kHV_6GAfiGN6R?A4=dx3{0KM9wJv4Ouf!XYu zdyo2pTVLdiW>drvXm2-?Xfn*t0brJoyvX$D#yz3|v&YI${kEuaYv#iTgIiy9Vm(IUc zY!hO;bBB$$76tt{yY!1NJe7!HW;&=OgQ{4e?4)-28gOB&& zdNo5XE4|T$atyhl(7ib7ZIS}jT@=iO73A-;*=(aYOOe1KoE-=v&Vdo?&HdPmR3nEE z5uTU3cS%kO#E4&afI6m>$Bt$h;QpQvO9#uVggkB09j=jHDG)MkyRZNufL*>VflP0s zHu3T5bGJNbY-ml-KSEM~py@gh4q>;ljT{NQj^=8jEe|j1&uf{L7H4p)!24=Gl;m0ia-zZFcHCn8t)XMlmO6^ ze5%G43X8t4iK8K>kvc>?9+hg%7ErU5_J9h4zF`IxIgKh0{?Z=MB-fp(Ph$aUuB`@2kBHs(~C@y=`bl0uPZV%qRaC+}#` z9J)nLq)FKw92qpAf-O=S?0V{*gf#eNgw4cddGi!1ly@M=1mu|wFPTBkfoe4P5r=h@ zkMQ|tr$bWOOcVe_c3{`+0z7;)zS3g1kda z4HTSN=R&(?jn4+Z6cIyQcDwB?W-CP^SUB+w4_ysX<1{}U{8k7D;o2l^__{l0SMZ1h zwDn(xSexg_OqD2z);C+gZNwXtqiiJgiKP+Ir&U9hcWeN_z7FmdF5HUn2gOIbRJQL7 zrG&aGcbg4^**~=;~zU@Xpd6bT(F#x>+y$JPWEc{%7fb0P+uo{Qt@_wVycr zr)pU(d-9E37jc;NLEpsO5V%569HhS;KDM)D{9ev9&HC+ILGR?_3*eT!l9jo>;pdl` zT|YkV$v@c~!>cirWS1WU;(A&fOCY4@H0JRUGzRj5UkQSevT#%3j{TI6D3!PGdENMU zyX^GQsf&}KZcvVC;WZ0=$V+GIc5eUAX1x#0>(5enV+(Qoa%sra85GeZBuFRnV#vf93H0>R;)N++4852LuF#^GoLo ziqrOcXgZcp)rGidii0-8xO2Q!H*GI?p4DFa^uaw&%B@pJ)?ry)aAo2}qU1)<7xx*& zBkkd3&FdHr-k;*Ug{;T2BwbfTw|W3~g5JTiYPV*QyP9_tNmm@Zq>{$SrnKYHQ+Dx5 zfzYc5PaG8AFUT`#D1%$Pawg#8vk>?ET7Q0(E~DGpMcdrxspnfdHj0)zcbxS4*v4a` zMV!1DwP{U$k<`N1qmu)0!u3cCWV(ElBlw@+LV>puI z7Zb^4a#@dwup+;4JjQYmL+GaDl1pN(b|#neS(kJA{T{!^XSR&xmgWe?EIPB&%C`@s#(3IfJHGVv2~2ws~tmA@AK znb}Hv=HH}r6`51S$Q1xD(E!@=mkFRqF+6GwWZSWB*p?*g8&qo?+eDQml+ zLIbF!DU%DG4a>1nzKoH#|kXu=~i_W;f&ekT=Od0%HJD+BJVB6E@cJP+@X` z?<w_@4FLDx5v?#q5U znJx;#LT8w7wfx}tvpi-M&BP|os_gZ5Fmb7MiONrEg`_4P0=f9HLmkC6048)~8yfUQ zsm>2<23jEXR+&cCK9Bmw1Be-zgse$i*!ovsz-=L22A-0*zA70|CP=hjYk?q9TY3tk7BfU5YFP#w`1mV64BatQQT zfU3%^ZY=w5imO-2Ygf}@gH0m0U3EuR**Im$;3p!}I0x`$f1`+WW%p%Bto)TkePCR4 zu>F1>&^b7xj~^&`T^c)w6akfo4;ka>S%c%#xQWvUo)YsUFCdLGhp3C3z?sf$7vH&6 z;ur|F*du8YWB~lhM*HaMX&5IDxo|}njtTLm$w{IyCoq0OYaCv}hpaTtK+9CZJ{ac0#^HXT~(=Y@VKe~U2(b{TOL(W#w~m8`DeV6=-cb9|ADe5^C#o> zD%md(JQ`&s$1}6#f+_OFmK`(N9vNb(`_MduEMxJ^-2hT@_^|0yB*+D9rA<27CX*#-(zl zTOzjHc)fH;a+_hWRq<;xeqoj<3f~e5!B6FA?DrIoe`j}0buE=&wbxtU5cr@HRq=LD zUr8yoCs&6QD{nU)EFwp3h6kvhl1WQmP+>KNXdTM%&ScXF_!~B!8^O!vs5O4fQBjrc z-l*W%9=y>8t|eOFwYeRQFdQJFG2A7W&ffFsV09Sm@ZP>Ni7&1KP#jZ%z|q1sa`pBo zzTeajm(j3sUO5}AX2}N4{=uxeTFakxq`w1yBGSqqI%0ybMj*x`2Lh`yKetn-J*;eRc#>#ey;cfIEGVT@?XIgXEgu- diff --git a/slides/themes/custom-default.css b/slides/themes/custom-default.css new file mode 100644 index 0000000..a3fd589 --- /dev/null +++ b/slides/themes/custom-default.css @@ -0,0 +1,30 @@ +/* custom-default.css */ +/* @theme custom-default */ + +@import 'default'; + +.columns { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 1rem; +} +.columns3 { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 1rem; +} +img[alt~="center"] { + display: block; + margin: 0 auto; +} +.fa-twitter { color: aqua; } +.fa-mastodon { color: purple; } +.fa-linkedin { color: blue; } +.fa-window-maximize { color: skyblue; } + +svg[id^="mermaid-"] { + max-width: 960px; + max-height: 600px; +} + +@import 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css' diff --git a/slides/themes/custom-gaia.css b/slides/themes/custom-gaia.css new file mode 100644 index 0000000..43abc4d --- /dev/null +++ b/slides/themes/custom-gaia.css @@ -0,0 +1,9 @@ +/* custom-gaia.css */ +/* @theme custom-gaia */ + +@import 'gaia'; + +section { + /* Override default background */ + background: #fff; +} \ No newline at end of file diff --git a/slides/themes/custom-uncover.css b/slides/themes/custom-uncover.css new file mode 100644 index 0000000..e270a40 --- /dev/null +++ b/slides/themes/custom-uncover.css @@ -0,0 +1,9 @@ +/* custom-uncover.css */ +/* @theme custom-uncover */ + +@import 'uncover'; + +section { + /* Override default background */ + background: #fff; +} \ No newline at end of file diff --git a/slides/themes/custom.css b/slides/themes/custom.css new file mode 100644 index 0000000..4ed7af5 --- /dev/null +++ b/slides/themes/custom.css @@ -0,0 +1,6 @@ +/* custom.css */ +/* @theme custom */ + +section { + background: #fff; + } \ No newline at end of file