From fc9891025bfa77801a002f070443c62f55ae53bf Mon Sep 17 00:00:00 2001 From: a Date: Mon, 3 Jun 2024 07:39:43 -0500 Subject: [PATCH] wip --- assets/scss/layouts/blog/list.scss | 1 + assets/scss/layouts/blog/single.scss | 114 +++++++++++++++++- content/_index.html | 4 +- content/authors/Abdullah Tarawneh/_index.md | 6 + content/authors/Abdullah Tarawneh/avatar.png | Bin 0 -> 22885 bytes content/blog/personal-websites/index.md | 2 +- content/blog/twitter-not-social/index.md | 2 +- content/support/index.html | 5 +- content/support/style.scss | 5 + content/work/_index.html | 6 +- content/work/go-fed/index.html | 4 +- .../work/go-fed/style.scss | 112 ++++++++++++++++- hugo.toml | 15 +-- layouts/_default/baseof.html | 6 +- layouts/blog/list.html | 2 +- layouts/blog/single.html | 69 +++-------- layouts/partials/category/h-entry.html | 18 --- layouts/partials/commit-icon.html | 6 - layouts/partials/i18nlist.html | 5 - layouts/partials/list/h-entry.summary.html | 20 +++ layouts/partials/name.html | 16 --- layouts/partials/page/author.html | 6 + layouts/partials/page/categories.html | 9 ++ layouts/partials/page/date.html | 3 + layouts/partials/page/series-list.html | 10 ++ layouts/partials/page/series-nav.html | 21 ++++ layouts/partials/page/tags-list.html | 9 ++ layouts/partials/page/toc.html | 4 + layouts/partials/page/wordcount.html | 1 + layouts/partials/pr-icon.html | 7 -- layouts/partials/{ => site}/breadcrumbs.html | 0 .../{site-footer.html => site/footer.html} | 6 +- .../{site-header.html => site/header.html} | 0 layouts/partials/{ => site}/seo.html | 9 +- layouts/shortcodes/index/latest-posts.html | 2 +- layouts/taxonomy/category.html | 2 +- 36 files changed, 366 insertions(+), 141 deletions(-) create mode 100644 content/authors/Abdullah Tarawneh/_index.md create mode 100644 content/authors/Abdullah Tarawneh/avatar.png create mode 100644 content/support/style.scss rename assets/scss/content/work/go-fed.scss => content/work/go-fed/style.scss (53%) delete mode 100644 layouts/partials/category/h-entry.html delete mode 100644 layouts/partials/commit-icon.html delete mode 100644 layouts/partials/i18nlist.html create mode 100644 layouts/partials/list/h-entry.summary.html delete mode 100644 layouts/partials/name.html create mode 100644 layouts/partials/page/author.html create mode 100644 layouts/partials/page/categories.html create mode 100644 layouts/partials/page/date.html create mode 100644 layouts/partials/page/series-list.html create mode 100644 layouts/partials/page/series-nav.html create mode 100644 layouts/partials/page/tags-list.html create mode 100644 layouts/partials/page/toc.html create mode 100644 layouts/partials/page/wordcount.html delete mode 100644 layouts/partials/pr-icon.html rename layouts/partials/{ => site}/breadcrumbs.html (100%) rename layouts/partials/{site-footer.html => site/footer.html} (92%) rename layouts/partials/{site-header.html => site/header.html} (100%) rename layouts/partials/{ => site}/seo.html (95%) diff --git a/assets/scss/layouts/blog/list.scss b/assets/scss/layouts/blog/list.scss index 08dda9d..8cef3c0 100644 --- a/assets/scss/layouts/blog/list.scss +++ b/assets/scss/layouts/blog/list.scss @@ -55,6 +55,7 @@ main.blog.list { } .posts { grid-area: posts; + .h-entry {max-width: 40rem;} } } } \ No newline at end of file diff --git a/assets/scss/layouts/blog/single.scss b/assets/scss/layouts/blog/single.scss index 8d575c8..4792b75 100644 --- a/assets/scss/layouts/blog/single.scss +++ b/assets/scss/layouts/blog/single.scss @@ -1,3 +1,115 @@ main.blog.single { - + --max-container-width: 80ch; + line-height: 1.6; + padding-bottom: 2rem; + article.h-entry { + > header { + background: var(--color-card-background); + color: var(--color-card-text); + padding-block: 1rem; + .entry-title { + margin-block-start: 1rem; + font-family: serif; + } + .entry-summary { + font-family: serif; + } + .h-card { + font-style: normal; + display: inline-block; + a { + display: grid; + grid-template-columns: auto 1fr; + gap: 0.5rem; + align-items: center; + text-decoration: none; + } + img.logo { + width: 2rem; + height: 2rem; + border-radius: 100rem; + } + } + time.dt-published { + display: block; + } + #TableOfContents > ul { + padding-left: 1rem; + } + } + section.e-content { + display: grid; + grid-template-columns: 1em 1fr 1em; + padding-block: 1rem; + gap: 1rem 0; + max-width: 80ch; + margin: 0 auto; + @media (min-width: 55ch) { + grid-template-columns: minmax(1em, 1fr) minmax(45ch, 70ch) minmax(1em, 1fr); + } + > * { + grid-column: 2; + margin: 0; + } + > img, > figure { + grid-column: 1 / span 3; + width: 100%; + img { + width: 100%; + display: block; + } + figcaption { + padding: 1rem; + background: var(--color-card-background); + color: var(--color-card-text); + font-size: 0.8em; + } + } + > blockquote { + padding-inline-start: 0.25rem; + border-inline-start: 0.25rem solid var(--color-highlight); + p:only-child {margin: 0;} + } + .has-pullquote { + @mixin pullquote { + content: attr(data-pullquote); + font-family: serif; + display: block; + margin-block-end: 1rem; + font-size: 1.2rem; + color: var(--color-highlight); + } + &.left { + &.before:before, + &.after:after { + @include pullquote; + } + } + &.right { + &.before:before, + &.after:after { + @include pullquote; + } + } + @media (min-width: 40rem) { + &.left { + &.before:before, + &.after:after { + float: left; + margin-inline-end: 1rem; + max-width: 24ch; + } + } + &.right { + &.before:before, + &.after:after { + float: right; + margin-inline-start: 1rem; + max-width: 24ch; + } + } + } + } + } + } } \ No newline at end of file diff --git a/content/_index.html b/content/_index.html index 6b31aea..94f2af6 100644 --- a/content/_index.html +++ b/content/_index.html @@ -152,9 +152,9 @@ layout = "custom_html"

Latest posts

-

See more posts

+

See more posts

- {{< index/latest-posts>}} + {{< index/latest-posts 7 >}}
diff --git a/content/authors/Abdullah Tarawneh/_index.md b/content/authors/Abdullah Tarawneh/_index.md new file mode 100644 index 0000000..3c9f74c --- /dev/null +++ b/content/authors/Abdullah Tarawneh/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Abdullah Tarawneh" +[[resources]] +name = "avatar" +src = "avatar.png" ++++ \ No newline at end of file diff --git a/content/authors/Abdullah Tarawneh/avatar.png b/content/authors/Abdullah Tarawneh/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0f5abddf8f2fd20fc999b77e233d194d932702 GIT binary patch literal 22885 zcmV(Y<|M2(L*!%qI?f&BD|GoG8`RB3O-v7?k{_NGHwBG#2(%GNe|DM|ao!bAL z+5el^|D4zVn%DoE*8iH-|CrYQo7DfA)&H8)|CrSOzQgd9)c=~%|CrMMmec>4(Epdw z|CiAJmCyf_(EF&!?&P|Wl+FK>%>9qd_mRo`kjMJ4!nu#d_^Q0!j>Y$h#`BB8^n}6g ziM{aErh$jJ>w&xLg|z6LtkiwC<%F)}x1OJbs^NCA--xH*fvVtysNaL7+=Qgug`?Yb zs@jXDtZ%B>gP+%ZqSwidae$l9Y^2hKl*whG&UTi_Vw=c-jK6t|xR8!zw|Zk)mBMF? zzkh+VRgJoDeyx3WreJ`yPKL5^a-B?mseEXVS8}32e5gfqpNU{Zc3OO3V2U(xoIh!l zEohQpRBCldVl-ZeJyCg7P&^@9g>5=eCsKGPOlk{LekMkC8Ax<6I&2+8V?Huu0!wNU zLT&{|aS2IV8$4_;H&0zAC;?1SA~j-F9zYQ}X9YcLUmX}iAx;@KOa(h&1UP09F<=Tb zVh}kmDk?B0CQSe}Vh1r_1~XLwGhhlXT>&v(6)09+5(5D*Tm~#!BrF90ELjC9RtYLa z04i4rB~kz>RTw8904P)dCsRTVB>*K-03}fm9!v}#Oic>|03%Tj9ZLxxO#mZM85lW<1`h`+ z01Yw$4;=vvD-#7800=h#1TzQ;0ssRm0Rtfc1Q!AW4FCWEtE~{j0000YbW%=J00asX zAS*ROO<8Jrevg);u)xF7*4pLe{{{!9C#-v`mqgqO(uws%bqs^d1 zP1`-!4iLhR{ZQ1xXikis81v$L-o5AE`^?NA_yd37fnom9%scI)84kHV0#BrOz{A734%V5bj|fcb@u z_2=swOSj$npPqHoB=PHYKVprBV_TM+w$~S@{$$m)+YgU`r(4@e7)Hs@8#i9Eu+~n! zI8MBJJ@)<3wR5m^{gM}~B(~jqXauZmrek~DXmk07`1tEPFZSakN$T||3LB1N=dj%E zjk$~K)|qX09u@)f&uWTl*=I;#&Q;8BrFBew()9d#00LawvCm*yg_W5xmQI|9M!>?R zu1bn#oKfH;TMJj`ztc>-rgsPri0gGPU@ko10v6jI|IOnTKDL%;9uDRUlHPC)-7xGk zxSMm+7j=>-K0G{(qa=X{L?LrPz$C1s``eR+g@xxS&Zp029t>8W_urq62HkctY0&2C z<@w)A6F*8~uNff;c!+_JvcP48?LoKIAGL7a-CCTv=a`*cTqZpI{OQxDj~_pbMx)LI z1y=j%>_m|K1@qoa5ChFPjy-4r)d8+!Pa*B~I>U}jF|aywud%SSzERNkyPrS*`rp>^ zal6y$42B>3sWV~B>f*VsZN5$7IEwrT2z=P@-j#(}A5CKF0Wr5rS zLMjHQ8DPor=hHOf;=VF4UnuSD!0^BAmUck{7}zUUs*>&oj3wPpI4SH=tKDv=jQL3X zU?7S~1H3vw1i0>16#xV8KMpenqG#XT$ENtv_q#7&?gAMLKjOHzS1eWq!*QA0aFfu! zjE2i#D@A`Dg@EUw1b_$lxd&WT0n>28&JYX`+8g&T7tDXZ2ZJ;7G5;W7XSY}^S1O!t z!x*R0V3$n78Rmun45mHcXDXNxfNQ6V0Yla8Myor>8A!I)?^#9k==<_sxmYe1OT}{e zWifMv;$E>_;xr4^0+`jys>a9#T-JcW#DEX;$7v8J?WuCevNX+r6P$EfPF@|IY_84C z&DiX!uTRnZ|1N$WyRl6Lp~hxfyNudwvp+&5Il$M5(m?B}?WC@6-e zh&@25$lEcM%1??|VT&1YBtbEY(m1NfKqD z%2(}lf|!d^xiuIK-}-M?zD0V31B8aADuR+*Y8i-FLFTI&0fKN&fMwnk1;_*eeBZ~8 zxw-dGu8OFJCJ2Hk3K)+|)5-Ocb1uU6aQLqNdUNR;WQN6#X<4SG>SK>I3`LOyAu}JY zA#+-Ox4LEB>;x_y-C9^<1jm_l0$o-_jzeIHRgu#=iAe)l_)c?z0lPIgZP)8>*Jr*q z9xbPsTx)C{4yLXtQl=)4wKp9NaFzp){pj60$kcvVmK^##nXith7Dh1~0Ei;yPO5;Zi99j@D8P@%3AJ8o+927m49G)v z1qB4gPX;HTF-!|zlY!X*W43!u;cC$VF+dbRAXRXnA!u((h8YoA41})3F8V=eswTq& z6qys?0UX32?MCzsie||8p>Tj2=%l@AH>F5Q3QJ$DDtffiW^Pu{o=@3CsKZ57PT)9^ zWDy@I6Wk2f_k52vg1`?QAR7;q8IV$pAgCOqm6JtD>zu%1%|gC~4CG&EX%ud9*lUDQ z60)zhas~xRsC%JaFWaU7Nz8me5Jg#*H4?3x(O@)GjF#Ak2%J#}GX+WDL`{~#BFIoR zxPYk{IfzmEpy2m%l~3z-l(1SYy=w;M7H&|0E~yv#7sg1puR=%mf)I+5Tty&gw=h6$ zfgQkp&yT2m&gm3nQ&AKh8d4LGZ4@XZnh{TpYBtmLVD)b8 z|MTPPBj7X+qabE1U?Fn(HBfmFz*8=$!Vu#Y`$Yb(5B8FbWaNmX^I zo^Be5b(}Qe9uO7~Btjr$C96FoRcCgiCaFKH-lhG88%BHD_Um{dch{(ix35M4k{8P4 zs)$ZOAkDg&0Bn>DeLsK;WHLZnZ)z|dc}7(Xb6>Yio$4*t>mjfPDDaXf!R5tuDzMU=dqMsCIw31U@|a9`9d!BG|C_P&4x!~k_g%xySS z>r#HhfDH?!rlHs9D%W;egTw+ms!Uy?EE5H?Aj1)mD@9A;q!K#uJ7ZveBO1(J|M2g1 z-A|hJY%QHyD|@xlQz3r9e?tVq06#gfFHaYqcShSw9Y`23BZB(X>38yH}8%jC$|oil*~mii(p zVk%Wx((GH|qAv;p;=r$8>Iq%w1C5S1E~7=(c0Z!rC&`+KDoaH|6gcPr2gwyQfmf@v z7*o8PifFNAN5g9fSa|;Sz-uOP;^zgNPb~~!Yc=qfK;t%HMuD2c}vY`}ng@+U+=@suAo+(tp)E!*1f4qF0w)?};aM0_3 zgy8y z{JFKx>jT2!;enR`w49l(W`$4!+_ZCE%%W-0P`C?}s*%Yxq%LTeYNB1xRm+|Rt!#{X z@0za5yB(yn?pD3cJh?VsAhBx)voEfPI(iVLavA$ zo>0)Usr4_;f&DOV<6FJ{Z@>QX%lqMQaFRw|PCzr;B~%Rf5vGPX$W0$>A#MmTv#L## zG6ED71`2j6eL@&aPJie9Y46`hNAwSae$$7ctzioT5di^lAb1!qOivT?rHByXD~M;j z!l>0x^Q7S-IWT|($Zh2AXBoN(jDjYqAS%K- z&IfcuS@w1>WDu~%{23~`IrsrJ_MC*=Fu7>n9-X{7cm@9l1BZ~;IPmLH^gmLr?=@~S zUDKx9P1-$ea@qq+yV>RZL5CP)d;)=7^lr&bD7gvbA{4S0Y2iRAC%JLhtN5a6E}XS} zNbsyP%rKG|X)I|pT4@dvNT3=aFM`ZwrQ>mWp6B~Cqw&PqjJ=+$o)Ub?NZQIoB9$sCsH$~(iY!EPSw43U4^PiG{vlm)hJL!1jsG1Fc zrAGz=@)lIpsW8wu=Scue!{nWGAOQqmzCu7D5H0|mGit$m`{@*b@Mts~^l1QesDVDP zEX_fDnTNQfMnB8G0WJ#=c%g8Vv=n>?Apn_#o;RRCQ$;}uo9WqV@=pM8?$2oTZ8k>Z zGFCO;piKgMvX{rzX2=cKMz_IPxLMvpG9rn;CVss5%4VYwa55U>2hbS;S z+3JkSqdXoO40V7wRJ`X-2zRCVj^pTvh&}3n3o!&l5Jb8DuSvl!Dw#BeqHat8=(t*K zH;KmaV8ErfbnNuL^ssu0d9Qk&GZv7aCHfFTh4 zlb#@K6TO5e+0Xlf!5)Z8FwiR*u(TxYsg9$mKCH}yD2-v6DY(2MDpHzj;2`1zKM6&w z+;JV~W_13o*Z&db9oXzf0@Lxc!?HX)EDy_3mV`csJ2Vse=#r=h%!(il0s%?%gt z8Nly!C$0V(0;DbtR(YOD0CrgN0U+K%h5*0<08$KiqUwUO|7EEIG3yrIG(V*+G%DQT6LDvBg#3*A z5h5T_pgX8b#sUK7LBb4RlpFa|I%nG?3zwt+|l5g4OU!n!xEP?Y<@00Kbj_sKrwK*U3Fj=kk;5CDrYhogBS z@Kz7Xp~%1(m(emB_!?JF3ao=|>V4PHY*Gtg4QCJ_`;zP~yuzE>0dWcaKM?>u zE&}*MwblT9=fFM2WjUC@VL85tkSr@6=az%t2=X!y`1=O2(c+I!Cjbr3d9SU5U<7^u z0-JB@XUG@_aiPo(G?-ytks2^ZiV01b%Fb~z$`Z@`Isg>qv_L!{0H`Z4_@WQ1Ik5AXQyhAoPUfMcy0ZmnDt~!3%%{_-A40GgAHip!XDE1 z!6<7EO_F#3t|k+aDR;;IvOWvOWk3Lu6C@zZt-Zdg?dc4RktdN|n#MB6sU&#>4UnB%nW%IUDkV zSuN-=fv(t|pPF^^aXPS|0_p2EP|dSGouSS$5znytdpH(wj(ZXU882E8fZ`~%`hz%) z`%EXO96l2i-cNY(y~S%l{w8{v+fM+)!*v0`Hp=d>sRCn96%i@> zrL_zoR#&)d&vs3w2q?pH91ws!e;ojQKOa;8@Fi&g6Bk=DSrP%GG!Dg44!&c=(+ntC zQ1V%?W+A~6%|VuC>)Dfy4UW5RVnBg9u#N0xcNgu)2J_kD{VaubGSH+*qB1{X zVB#@Kd@f5hg8v?O-5LNT{5yhxK6sB$2n6=B0!*r4R|*6Up#7XcKoll2(FgzIQ6SjY zx%dd3JXcgvRL!$Fz2ScH?t&)ZV%^jN1do5%X7>h3JF1z82${h&;Ryv?)`C*;~dJqhPlZ-(8A|_8^hMwHx6%^$N znBaHVsPR+-i;qpji3Tohc9n3!%E-TFN?pLD?8~BM6HK$Kg-*1{-sa~0$XT5lkqqus z%AdkPa2ASK8d2tSz!)BuL5f;PGPKgyMW8<{GMK{tEC9nS=J}q*4}bws{G}*!x%w9U z5MollGRC5fz`8`Yw_t7TLaK@iTTgl3eXcx5#!}0htDg=8e!j zwb#SW03h%bip}Qd4F8I?KQ8)xtbLpX!{P)pNL0vgO@XlTg1GoJ6fdAfx+o_*NX)VL z=A?4OQYrYSq4v+evk(A@0R^%cXM37_fMYtbDP@4PLo+!)?`+Eoi6lt9XPE4l@>V?H z(sh{*C{_Dd{*@7whiHZbdC<@DIL30nMnyi)zbu=P#2#T^@fWxR$5Azl#R4BYK#z44 z0I)D8O0?0h76KrX$p%StEXQF^FK?FuKpl_`zPU1qB8C@$Kt&=V_PmZQ3fU~*+oFUE z+3ImggreC-QD#X|q;WPJWJQ{m`EgG$3}72m%No>_#K$BAKQGe&W>8~B%*T*T;7t!? zdM<<+5gK~Of_e)*ary4&bMKZ>I|Y4Pyxof|i9-MoJ7%RAqI){3IYVGgGl4Do3&i~|O@ z_;@^Cg6Y7XVSpzTO?Y6&m0WGhtEHAHKy?*oNjobG_NI_f+ zLCjBsS(zx~Y2`G_d8!AN3bDdPStT}I&BVfEV=Y#6%%=@ndm%G;W;C3U0F4^0gt^~t zVonh%KmbH@pN{~@hPi+jmlEY6n{gk6PeLK-x#7V+AuN-jxoNv?1-WC9-y#1JgJrxy zS8hE>j*2X(t$qrv=+Bsiq9F6Ka$aUSC2 z2|axk@`4;p9rR=52-L)$09dM%hb{gH;VkO z+4ErV$hpb36kR_7n3nNd3}wO#3)KYAoIgAWs@{}CCFmt1SAfWt4%pvBhPbu)cnbpY z!`37!>`?W@b-DTy0CKA_65vz`xc6xjVOecebE0u{vtEAz1L44K_1fJBN>-L|32`t4 z#d%rgaU~Vje#ttSAS){qT*pZgx1+cr;w+Znt1+FfG){Hx75-+yjNqLQKKbE>O0tQAryD(Rt1&>M1QM>5^0V|@O2Lupp!5a8VCyWrZfnjLB z3^$KIgx-P`kIpV!7WnWthx;)D4Au1W!ZCZqll6Q$LQJfqv$yqlW9w;Sr_pM(m<-4# ze@vMXm0Yqtvh$&9q!z`cK!A@ z-}_0H5rvrIk;VyP0w>BMn0?%0;wh1sDwI>T?YZtW77va2R(^^B$@f1#8U=fn6XZqY zx>Gcp9Bo5}48lV^TU(TZ#$<9t@(&%XbfRlJA}@x6_AJkE9GF8UX?{9tUl*(k2x>`K zm3taR{%mP!Y4!5u%d0C(%PW_^`11BQ_cz0|$irS(j7lm=PQl0?8(jj(_u|2Wpv zlv7&SFHY4V`g9!c#YG-K%A_^nPN+Qln;iFoD(r3n4c3T3NRvNTO1-{>(2V;lB_l4VU; ze?C@|e0aJF@!yMm#OEqSS~&W4O&DL_dV(530}gR(bN9rGF*SnqG10wpG{@8MLcSi1 z5ALoWXPjp|%s?POsJ{RNk{}be9_@A*rYBhr3`86L7{7DN&wk{y27_4TgVS}1|Msfb zA0W?yRC9^ztH|UC#p0(jM{d61c|h1fRg&Quo@H4M^31{EkKe8?O#zq_1ZfH6o)&>G zAqR94a{K-LUBsuH)d+{oR^S7q)}6fi98`py?jnBMy7&yER0c@3bV-A-!!lW05(0*oX|GlS zSt<2orsn$=*w?+`%Y6Onl3;X6zUuW~Ifj8;`6^WA2Wbs1fAt_NA`J0|6oO9sXQ(CS z@>|eUKF1oKU2yH+``|Yh6WtOyp{3a*4trp$c$;Wlb7#swdXq(2CUu#t+tW-@B_aTt zPZdD@y4<-Y*_9aJy-XCiN#1KPYC%|*%D~Sz*A8+YtB(Ni=eQ^T)kKDv)7{+YeY%M1 zpZn)yU5zBvn z?UE1xvRyHc^GlbOfx#uv(mVzd2U-LkuCI?01<3?0(gOTT|HuDq2n04apMCQ4kI0<+ zED3vvTx`{tG`mgDW|+eaTl~KR#`|-#pq&V@2;}``8P$eZu~nDkiNcs~>BGb9`)go& zN-KOXFD+laaqACXfBlEsw{Bd&y1E1mP7(t~iC4cHC7t%dghy-}J5AAD5#C zzrR%RK9PX`_|NNKefRI(A56x7Ut-s_50<{(6wnyDR^7V^xNTa|y$jJ`4AY6CY5KPuAi2 zRsMUMAO8^mzxZTpGcTg zD^teAV8G+{I?)(Y#2QFWyIk(+@YK&BHBShW;Z@+C+cR34BQmEQ$jr8#66s4KxMq+Z zXr|6)gcYnXgWO6i6ZkoR??dws`fXUeO7ne=^#$1QOC*FkcI-3-@n1wYmJKYiuqQm@ zvqe!9^5YB$YaqA;uXzgw5d5a{&XOZy0+bvACItRhrkC8Oi{46?N*@ZO8yiK|T+mQh z1Fy&93EU~l%~;Vnu+EJ3|15NMbnzqxK>Kk__I>mG`jG*H2anN&FfH+=XCFLOLIEm3 zDtr-+5GRa1v_gZRYwWf+P@Y>pvnW;q)@HEv&{xM6J+A$E8Brk5pMOpucxLIt=0SR1 zV3_yL&xatxL375kexk7v%Qt=&Kpyj39c^tCo_`W6YP){BZfHzTEyYA2C;%axeQ<7g z#t_4xz#q2^E+G({og5xM$6$91djpaXs1hv(ouR?&c2GZo%@$A?<<0NrsQ7bG{Lx4+ zaB==2e!=tIEbbWsUJr@7SYm(#5e2LcNB_?QGVt`aF&{{a%PHH}@7BwK-FvY1Z!9zn zIUg|Z!Q1gc9`Py(;1=vH4Gr~mhYmFzYG`VzuWM>*ZM82(%)kLJXZ&nt(dB^azi|fv zRF}WQn3nTGsUag>M3{fxRUsN)H^J);Mb!$=WQ|GcBj$eg^E@Cu1$WZQ9E{x{2MsE~ z!G>d-*71Lr+iDvT9otL_KmZy;Y5+~#ArHtH9++u z6!4Fg7)|9!{pWQ#33G0@Yr3~MFC!fru?K&CHFZXLzJPbeIqC9x=6#_+FzWq~`?Q&t zJ_N9gVwucC!I!Dw+TYtlF0k_~PcHxufcWQw>sY`~9kmU$H8oTV4$?B`Ua|pf#GN~H z274gbgc!2MdM-d6?ILP7&j-ni`DRD0+4+?%_TiZsv}vRLEtS@sbdHDsKz4;hbJjKK z#Prbcu+!xte-I7#pye%&>~iO|{zvToQC^KcbpOZ&VyER9w3KjN3wZu|b8Rj1fc~wv z7O_DrFpL?&MYgdBdDaPX2%d(Tn#P)jrdld^91>2Ps4O}aqT&mFWYQb*EST&lwV6$Z z41M})=&fO%e*4MK8XNcTuiU@C@nko~y(UrrC4}6LA})ZT#`#F>X=Bs4I6AvKI+z6L z1AsqL9Ih?Ei(j;!eZ*(?@YT@DC4VS~p z1TdW(U5E4Xz8}!r&9e&hcH^!CtCul~jiisTfz!WxYU74A^5B2bcCh6DQ{W&8h28+V z13ecQdu|A9qd6db_hpd}rxX2DqpO>nRxmdFErQsgnHgMJsvy$wkvx+szXtvX&%IzEKG z9_xI4(`##V1zvD=HMh0Z);8BtHq6?V7D^5nl^Z`i5a1Q;_4On`eO*JnB*2ODU)Ec* zl9EY*gfvS7b(ZEz4eOAHZRj!z^9_(8n;{ck0q^PbqPf5#(oNP%^f@>JlV|hLb1dw3 zVBtANWib}dXCoj4twDzZG*Zh4?lF1aj+{a$atzs0Fbl0IZ^uU7;6i)%Qeds;p$(o} zU07(^cBc7w^Km3CL!^9LMQ@pPg?h!lPeB^}c;|M~~Lk?c4WJMMYVOt;n2j$k1paGUS)fhz)|r zRb$A=DCi#T@4ePf0uZ~pA#jn1)bm>e_Py5L>G=|4JDLj%J7ItQKgF)dGSwQ_Eu;w^_{`|ShB2!u-<4y_? zOyx74khgKU4d`^nJab9oscF9uh7X$r6!o3fO5185a3Q5KmxQvfJ5hrIu(3V{r*ymDGQXt|PM%$%tyHM6#}u#3Ba*=chIwE|tE7uw+5dpqH#Apj~nnt7nT18-uGx}%M9DzO-6 zhyszqN&Y~e=N$~bvhK6sOTVOLacGeHF@SOspMefxA5YXqt`)c61Vf)efTrfA6IA#` zCSy)oYEnWH2d@D*7;-B7v$imO9M)69ItT$i->P@Lt!37N>};F(bWmf+ET8W08SUvf zO&rO^Q|5?H>g7{Qf3^c_Qb~d1l&^!b$#k(gydt0F^lJ~C2p~NBe-|B?MZn_|R*XS{ zKFovx5_LE%XF?(ec=YKm$5V*iVdnIdZ;G z1f80R2>K3oTi{6f&*Sd<5&$%55L|6GmsU!RtinQJhb@(Qe_jniZkf`sAC zlMv4bkCM}QVbIxg{1_hX+o3{xcLyRl(O#j!Lroy3-PhfRH#@s=k5_A?=(w@;2uU@b z!HVrj#!?8-N8JhRT|IX~-dctO2L?vQhYOVIWQ|6xPD)lKFB5?sInH1in2WFm0!3&e zu`L7sUWA%XDJi(58_c${eRio&?3wkU68MWUO8V^1?&Fk`ri})8I=iTkk1I9W^c|VM z>pI`hRN%&sl<;?l2x`VC&5|#2 z%Ng^Ppz_m>Q`x+~aFw~JlNs$O5wu!}zrIz2&a3Cx!#MA28N!JSLMv91&G@8>19o>GM~}4= zwX<*Km_YPGU+iLV^4u#AnG*Yz{l*Q)+@i-VSpn<{M!@<4&fq1n{Fw>#8YTV=Sfwtsxn2C6i7{S*E${oY+RrUSs7CJ3wQH zjE$X?m}+Hh=luKGMmyKy>J|UPejIM}&aLS{C={3*ls=1hh5-mL$mkQ`2k%-L`G^8C z^S}h5LazZVK_M9M&ANtLOA0e#3%MrCTo(|# z639~tPe5t2L?=yUv{uq?oUw5MaCh_G(uM~&fWN=$_}wedJoBR8vDVXepDXwk@fUIA z`wD$Z6qFg26AT~WZB1&45J8~vlrU`M0;p7K6hDWWb`en;BolqLWLn^l7fPj}q=IP> znmY>{U;(SWZ1#&!fv*6f#HsB00u3g>H@BU?e24*jcklIIK%?guudN<+AOU=vK|g|l z=8R>~?M7Qt(U2RDPW!qF_wKPh=_s3TX9mAoKP=NFu^Eylt+8b3XGtR3Ta zG-kmHX07Gjd?FKhrf_fr`1;!`b1yx(3;5gH{8{;V=h|bebN(}&dMy{=i?>puVVmLt zRO^`>i$X;~f!SJC$3)nd3i?#~>jTYb#O@^xB5nqkY*UJ%1p;)E6GY3mZkkpewutym zsDKmmgIBNLTY7Me&`UF7&WYz8>j)71;y@HG?N3)mieIVB+&95d!3CHOSy>+_v*6gQ zAXFzSROmTA5Ne5g%G$_yOI8#VW_wZkIN+An;m_7=_p>Zh7s(iCjQ{%Wv4;u}+PJ;| zz+C9u$5i|rN6wU{DwUi*AUA%#Oo04p!7TOy(n~@@wHDR?LFCmM`W&&u*N4pP5ds$} z9S=n-uLJaD5V+esSQ_HRVC;r$hBlhbE1lkdTv)ICF&|B96E5ChNmeM^ z5BT50!usjJ>{<7N10*6drFT}9Kh$&veD|j&Ud68)z4-F@!e?1jVW}x+-!~=a-1x}I z1c^{Y0;nwhfI-KhtPBa+O0)ptbFg=ZlZHhsJ8MdSSX5dyeU0T_gBWz&xOtOmK=5Mwh2K4DHsxi-k4U$x zx8~-&zRB+=UL_-XVSJ)UMcp$#iUB8}Ecj`hW5G->l{UX4D{KMvf<22dKvy6dDe8!y z%llmXYn$i+)M`2@Rk)FK;1*DUi397Pd-fipcUR&DlAA$-YluvT43_{XaD^6@&IM-s z+B;u=?$N@8|1~OM3|9YQMdFpY={etzM?RexdSSy;FOQ!ukZDr56TptDV7(s}AdjqF zRpxKZ)QM;nIy1yFR4}OIDwMx6s)4VW8t3>Z71URPxmhN{)JuF&cmzkd{oEM1S7QRAg>OGv-|!4ug{kGUWKjRn2<^slFm=296E zdkqfgU|Sd&VYS$4pl_O55h%x00C_=e#;N(w(v*xAlz|9J&|mJ_Ea1;km%5t1nxE-0 z`weSQDA5rNl}=hS^Yt41Z+>$HNw06&87`p*0E~r}`rCWYPD6l4Q@}y4pC^yx_-=H@ zH;Wb!3cNDDP@)BCa(-L|rM7HpiYYKvlc@qys{=MI_;1tdv^j&G8a*#aK&65V5pMj@ z?;DR2KozO-tF?HeSP+V|IzqN>)H`?kR#eF3H~+ZA4FG2VRRKAsF2nu-x8T0m_0?B1 zul?dt)5$pP@E{S`?GA_2_tTLhpMH8|fcYvV@y8iEw)BcA!pQhkiJZQ8T8rPJ)@irx z(CRcMho@4HH)-S$gFK+W0x~lUK*YXOm4ww2yiq0yW{r+PZ@sX%c>Bs#DO&RuPq}l0 zoyiJt!2bbbLSU4FcE?`-#Un>c|7PqS3v>tY!=NxEr!NTpz{Gg9P6oI!%GoU6Gocq#~Ec3>kkFO;DBkQM3TcXz+i;PfP#=RurgpA_{vK z7w=sOdjh-jCM~o>;=dWJDnjlZN;Crg1aD~R7LuV~c9I1=vIM_!|J(1Q@NYif7fgVG z@p4(1gD69$D8Tr~If^8?N@g5BXVmE4*{y>G6wbIysJo}ugvUXW!rVDK zbP=ynYAGs&QGBonO@3?8i@X7YeAdG`w)o>u3&8z=-zzRIp`EYi13x$5D>jE>~=|xa%^t`aSPqq+4m3a~CNA>M;_140l9x zQppMzBK)U5lB$5Du+$sU{!KV%&}emG6buIE(C|^uZFCXTzppH|T8k@t-9lh-EW-ag z3{QP`30Vg2UPl%9U*lPyZ)$)G@I$^F#3jgJ0b&hcU-pe+e|4&6=ijrnT5YmrZqXta zn==j-21X=?GTXR>GA@pUWI)n7t3_ze2LCYBW_xh#(v{0MF8(91u<(&NQw4Rjn#=-Q zU%)>XS%e%CLQ7+`2Knw|3NSLk6c|{rMEfU|Ql3`LEufrN;kb%WsaCi5LoJ}PEV|5c z=KQGxC_eoXE!qHWwZwnwzanoZ%kj@~A(sMh8_KbxBdF!jK?tqB6poOxiY+dDY~fQ; zd^#?tBH$C(T2CY5#uxl??C$j|k0rn}KHujr3=J>=iZ#k;$WzOv2(m2$0VeQ+?=b|}_^NNy z^H0Sv0g6+=J8b_1S;4*|rD^e;|JIUFS;Fq29myI%Ug&fd#LHpX;7$mO0CSK7kzT+E z@Oh3L#JKNxEzgVwj3TSix8gsa6*ZaF-s@~D)jD4ZN z61o7lZ-4u*&)_Nk$GgGD5@6#d-{iBO3>^7%;C#MJ5`aL&amd(ptI0W>^WM;(leqwf zL8mz(Ng?r1Qa}#?{Te8cb(FE^D3?VyE-UY4hRyEEbnS9v)VOC#!*A}WI=uJ&Tr946 zKV~nSLS?`o5|$k30l4Tfe$#aD@qT&c72o|Y;RLB8#00>Jon;*HV9zwL33cgJL)*mQ zfy~ZHD`(7XAGe8#iMS*|0eO;a+vg+qQTS*?0qa(&R)sr?(!-Ig(C;o*YL~-s%3YqR z;r?Jp)hD~RXHx(oEa6XDWicFJaO~?#NVxdw28{cTZFi4L8b5O142o5o6k9 z4VTR72^49T!Bk|F<3ehvcOE|c4y*oLfW1|@I(>J*&O&_7oWZ>3V-@}@n|}0q-E;qf zn8upac$8j(EIu((>xnwZ;~X2CT<$-bwP$E2+&=NgZnFEW%Y8rs5PoGiu@E+ZyE(E5 ze|}Psorp+Ct@e!OtE2gA^=XmUx;=+KVEhT&w(Zzkl`YR63|#B(V)5gT`;$8xpCkMq z^aXsKSqVfTJ}xdHUY5uOU=@I>K*F2GQ-XE-&>m{gMG3N6-4)5v{1sIF!=5nf=>3rq zZUJT707To8k==9Z++`U3v-`CYdAgO5{O6&=f6fi_-@g41ReRIrCi~J?v~nE5W#7E? zq<(|3uMJBqWs!PK!*fp)CyQ_N}U+U3>ou^XL4xzZ0`tn{FQUcDLcT;So^U zAA0%;DX_^W6eq@U{&7r*__)|OMt=(gF#6}sse3-z7O#pR&N4G>isJ%^wI5p;u|-^f z@r81Am_OAquwRa>bKdrxwc?2Yt^A##J-L60`5-%Y8}Z+<<3D0{Wn>h)U1vM`Xyt56 zckl`QB=yF@I$_xQW?U3vV~P6K*n};yThglMPbvQY(4JI+A;>(?A0<&{J`1|hd0QkSXJLZpX8ISwz^sDta z4t^DUVgi`r&8M6v3sS)v^f{>V<78}|7i{s{4u4{ZmyrT;Iai^;>9VP~KUajgOSK?2 zzp|#XFg2b%Nuf@O%Hjr)3?MLBB9kbCvfD3I2xrb;MI8;gDz;bc-jAVV>RT#hRIhpJRu8kRF5;0-WjZ!SeCu&6`jI zo(MMnPjlA-)zp=)gHMXJS|8JDJ8g;xh$1#2fq;m!?3yupP3`r8B994>1Zyzz@8gV`!_+$C;9YpH-bL5KW^iKDJAna$w8W5**Zue2hn(=5 zTPR>Ylaq6jAo;%k+yDRXbHX{=tT2dG6px*xxTd$d{jKkp%8c-^h={06r~wf!1>lax zLXyT%C*VbnizpBv3e$(%D1-^BJ9I~2S27)Y{6Jw-Ci5sR{=$lSc?$5C6fv`76RNG& zufO{0e{SBqbMuA?zS%HEcrlj~6#+b>BBBLHN|bd?n$|Dik6;v80%(aKjC`m8TzDPw zJpqOy0G3dh!{IiChf_F&Z0o3Erj??I^MXHooWPmhgeWpkv zPDKWYJ)yP1u>d$b?l)iE)UBAqm@4>`up@@RW^n{DF)@4i{74pl76jPGRL6i3utZSQ zh!J4VSCz4+fX5rDfJ+i^hx-U1nH9i`1O*DrMx_9oeiWe4@M2YEak%@*Yg9=ksi~<& zDp_n?Rqw#p=oEx-*yOLh3#N>}m(N*5l?H0@=#7Z*w7;C;f}aV{OJpcS#a!&r7i`(+ z);^&{Bo7K7x^0ZatC%n9sDM2N6hLmSzT;}lmNBpi7n;ayFg(x~rZF4K#FA8rOjQ^c zTVSzw;uF%s#VL$X0;UW;H4xvi!Gl{Q%mWZLv_S#*gAXE-t{HT>@6aJeL)5vGi73AfTG0MgP)oDA3nlY?t0i| zpU;>=0WJu5;|Tx|oM}nnA;6YP0RUE@qwlPMPV$k&4!|Ea;BDkd;LjyMqX4GOxjh|C zha$#^J^;7P`&4z>cNXsf9{s0No!;C-Mx*tCT1-^dR zY4v7ItpKlNh12|aBeAcs;urMGctML0&Ck{M+CIwo1qaQc37`^&54|51!Z4aYOK|E- zqp>Ci)I$omIe%jmp^qlw{JhLW;9pcE!~8|S|Hx;(1CJj89zN=Pa~WfbF}IXWcWI-* z&ulrl#l?skBD4l!NlMc*r!tApA$cGiW{1!MqmqY{0i6Lj9DY`l)21!q^H9Kv2R4!L zlTk+|A{@cV6p>hxoelI6fd9cdqpcI@KYk4Sy%|%Dc{Oa<_lI@?66<2n3c&85!X06} z5uoehI~iB3)^_EgXg2QiBT&CYe9w!(4`E?&3u6hgJ~BP)y_&?sKL!fG4S_O0{C@BX z+(P#qg$y8-ip5xgMBsnH;OGSUAi!hCe8!Yx?u|WR(4B^X2o!gB0YH_LEob&}N7ARA zz~*OETkMvq69@QgHrWS)nWHyh0XQs{AR)KTW_L6dpq`57DkZMmhf@U>fD@XMCKMs0 zh$#Qp8M}>-5FU5J2{WbvFP&gx5~mXr!SVg_zxCR3FFTjL@kjGs_YXSMbHx$bQ4k)#6xUMP#j3XR^A zbR?^^`U?xpu)1J>Ls%I3UqS3}^oTVis$>437KbH3J3vz4A7URDcj~Tbpp)?Le;xQw z2j*W8U;`2m1$g1EnH+q)(ActySfs$XxiTW0EjU#A(OWvbp-0nnwGOT{QTNfOtvyz! z!*1*S@`Hi|4u^6Sr7|%b;g8t^*c>)Lmh1zI!#Jqa+wGk&_QC)CkpHF!bM7U8`9^3! z(MKN-J~CU7T@;Jyk5GU}L@|pNBxRkdX|>sGR;$$pfXG|#D04Gn_&lJCG^K;hp?_T% zjy-_I+Om%@--jP_ubA!qkDok73iJ=oXG{}jzf!>Ba7HSCIbmK1+{oCJcL;lT1x6-K zE{Dh8a{x}GUaC;Qsbq395@H0=Y!+1s;OEI$<6r=9SS4F*HXALt6#rQCctqJ{atuK7 zN9cA;PyES*@S*?(fIAE*@I3fO0G~f%h$r3s1JFANH=-Ec1fH;gs9{NIRbBB0!l9f{ z9Corrz>kf^@!t#XSNzdn9mM1x0sp~yjOoMtpC4gy04O@-gOWu!&7K++m@2IRp^INd zLj@Mp4|51p8eHOd5`A_k_5uex*z#S8$Jcc7NC{XsGd52Mfr@13~gdzb8{}S{hiv}Bjw!;Ox zfqu%toKuP>i*>->3%(yxpnJtE#0w0!iY|oRl+Q4{$Lj zz|UY=M&sSIqw>5nDqT;X!DJf%^P|L%mZ%5}EM!bG7U$yO2zA)q1+=#b-|<0HA0khO zmIfX0(fm_YYIS4d5B33v!_oPeRQ>@wH2_vHrW@X$3E1FSqyUzHupT}D+}FsGdV(J8 z80_(g5{&gMXLoE-ONG4foC8AtgvxtJ08#=S3mDUlSxZh3gW~e!29mnn13f&=Ve+Vi zj{s{TVDF91Y;2SZ)2x61g(A9(w{$sognD%V)7VpR#o_E|*S&S^VpR#ua$^MiC_Kf7 zt`6_EW{btrr*Hk@T3t0dTjr^PQ>RK5N@aERg)h1+R;$U> zYjb@2r`~6|?1|H7N9;}%%3B)clH^h|@E>q?lMz5&J78h2Mq>v7W&q2|N0;oFtA_I- z>-HZzeeV4A>(~F(+uPCG(P2dBg)?RM==JR#*Z*+-JoEVeWB*~S6HJ^xCt_z@O3JyG z3fTXpv<-9*Iw=AAmU%IV0zAMj_#gf%=fufbGYR@87=v*s;^6&(+kF zpDH|Ekyn%%zda-*WZk;$hu3YtZn$<}!u&%+c{}1#60;lCun$;z$>wwnIQwx5=%l|2 zJA3KCAc!#oSg2%;Muz6u`E{#TuRDDF_+faY5U~IF_H{$sA&0kzd~CdPXfpBN5i3j) zGa&<{rpj)UyIcL@*zYOFhqw?Ui3 zN53%MNt$^4IT7#13WbU27$^vksaZ11YX$Cp2S%JMb{1^T1QxXKVT}T}pwCzj>_fl= z+bRBJ6`mvOl{(XvgA*_R+-SsKC~s8bV_-RYZ^o?G`%&k&1PDI|czG>Su*N`vq4(R< zKsLlR2#6Vo1@@o5t~XZ4Ox*t5Ej#0Ye5&z`ko@L8lGxRwZdo!LN zyuTci$_b6ZaBSV`b^9Um)Bqqt{JP+&qvP5U&V=c6cw6@-!od%jO07y4V*wO>gM&|B ze|;X~xnj`={INc8(gmxz@;!<=mH`m3OZ9`(X*soL684YSvCqX{BEbSEjn3~E%$~(~ zzL>r26l*NRlxvOV@{o|j$3v)r5D-(|X0Z1vlh_lbkA^>_zajpq1j$vlxxoIp!^eJv zH5Q_dTr?W*ohv&H{XodtUGJA(&>D@ps)TUXM1kzTI}RQE%Es|erBM594#N|$(3HR$ z6N212z0qoO*zf%g&j556PC@OTg#Dw5{Y7%7x`O5}sU7eP0T>HE;Ey+N&8TY7br=jr zgI;^FIzvZjoMxh5dd0Z{2I{k@>03MSA z0CQiPQU%yRKWq~UKl-dY%0p9>`?=v;-X-oA zlklUe2MUZ3K@_tg^!wHYx3WHyW=;txjYE_=Z zjdUsv@I-QPpT`Nnn7dFJ^HVBc6wr?Y`oi=gRbwMFPlm!ygW4j?|ngrbFz> z@JC~R6QVB?izMk_el@d5CW1&yD8dq)2gRv0atw1B9*70)1yK|Bekhk4v1P~ZeThI{ zBrjvC8-YG@J@7}wfjvru61dYNA`>o{;DPY+URD(|ar(d7u{$fVk6b-#7v&Y>O5G7#@n3EF}ki$sVuWkNV|~ zoqJKum!@ZzLG0B`82J*?=6W$a5A&9PTAIKeW7y-Q z2cZ{AWZ6X(Ds>~|J$bs6>T&?7KMImeqtp4@-(LQ(@=W37C5vV;JP+QBEoYC!@Htf6 zxxAd;6^4vM_JPJHhRaPjMiJ;u$xKBoaN(XWPrNNoa>*YN!c%lMe1TTiq zLV`sO@O(vCQC_xmsJ_Du?vsF|*ap;}Iw|~iSMcUDi{~>u6kcRG=grD=$akd8p+NPy z6Gwip(;Z#Ag4d_te1YN7m^1hln&V1{@kyO0R+xkfa&*pNcp4lW6#t<&!-Fw*q0^pE zrFoh%F8q_Qfb5SB=P<~Ff`T?zda4Iz&sn^DrN!yIKvEtFJH0-ML6CgGIUI#+f`WoK zS9)X~n74R&kFM>3*6uXJAzqp^_CBnOCnJEu=1zam5Wfa1@S(?fz}v^rrM-_X;;pee ztvN&h#2WAKpJX9`{h~R;1aPzkg8-nwF3;LiGRu2qkM>RzT)rCc!0vPwyG?T@Uj-#F zWlGZz%YkS7*8qZogVSGTcnrK=SgL!_1Rx6N9L_-n%^YE}0wC}Fo6`+{i1+tL0)PT% zJfakMc>{jl*Vc3ku8dEhHA3F592v^V^+70U6#c_F=rX{^!9)O*1};C}J;q*heUus(h%<9Xm^OKtr64YEsc2{et~Y_u4AwD)lZ zZ0-RGzQ0tQnVPL`DHDxD??+TViQ5)Bb4;FGBuZ0snQp!p=;u!<5Cj5jzC82Y(3}@n zYENzm-dubiE_tel*mr4~8a^LFv(av=N|U6f*SAz8j~CnVL5>c&&6$8c2#_KJ0faf4 z?~etp1^x)c0ncGdFlS}Y?^8Df$6tcWe(Q`Di@xc`=kB5?@;t`_h;p>nqJY(_{rm#m1xTM+0bVj|f&YeLZSy^y#nN;8^D)uTXIFv%^-}t1 z7rla4=|kYj()`MHr^Dv3+3j8b`3IxP;eL--1VvA zXi}!4_QEZFm*JV+;dD4ZEl3k0>Htt8t=fG3ZC_u%)qZOOS5X!S1_82XPymR3+l^go z*B7@n-`86#+7Zd`Hk84kr+V$RMIgX1&lCP)0z@86kW*`Ln!38~SH-VcfAquqt&myZ zqT*V;*@A|{h`4?>{o0caq)Kzj(O5`e6@*=p8lZx!$I3wZx(7vz=u zZ909Q*=UB_Gw6H!@>7H&tU*rKvtxcBz^c^&{%ie+06|EA%4rqA`$eDSZ@%${R-<{K zF*q!m`#C{DGPs@%@YlFU|3>MqKtEqV;O6osEQrZ=1q6^Fi1A_=Bq${&XIASh`nGQr zZ?E!uuM&zX^prr}0&SH}r`78EAQxB^

t5pBg_7@CEnLme+U9hQ@8uV z(wE=RHaFdBXh0No7L!(^+^{zO_xEA^8{PT;zVvNiPhrh_HR%1?!FF|hI;IMXQS^}` zif@_CT5ZiPf8V!@?`xW&sp_*>%zDl3TMby$h9(_Ipg;noT{J)fz*q%CV6Dpm!SR1v zF)h=fxr>+T?vehE;2xCxd!KI$V%4@bqrVDr^ZzIB`}?|K)wUXVvdLy@VWy82e0*RS z>|d=j_q07IhPb|eqqVvDfgY-AUmNldje9nyqf{soD|>n&0Z;vqHN3}>*ITbt7YgY#SOYRpEr{C}fn^D5tA@JqW2&l^mCVai5ON93vf!#S5a z%(}LQc>h(w#os(=Zr1i0jXe(_fegnTyVI7RsL93Q_e0I$V^1@4-jlwrd3v2c9D1)#VU z+}^4T_VtTz0Q+kUMzapgKNd7jyV(F8kPEAP1J|w!2*i`YU0qiF9YCvTypxLkA4qD5 Uv0eb}hX4Qo07*qoM6N<$g6)AyrT_o{ literal 0 HcmV?d00001 diff --git a/content/blog/personal-websites/index.md b/content/blog/personal-websites/index.md index 35451b8..02d89fb 100644 --- a/content/blog/personal-websites/index.md +++ b/content/blog/personal-websites/index.md @@ -11,6 +11,6 @@ categories = ["Uncategorized"]

There is shockingly little of the latter content among what I can find. Virtually everyone is offering their advice for the former. The personal has become the professional. And, well... can you blame people, really? The current internet is highly commercialized and focused on promoting products or services. Sure, a website is ostensibly about conveying information, but a lot of that information is intended to get you to do something -- usually something representing a financial transaction.

-

No one seems to have any tips or hints on how to make a truly personal website. It's always "build your brand" or "showcase your portfolio" or some other transparently profit-motivated initiative. Everyone is always talking about the sales funnel or the call to action or whatever. It's just assumed you are also like this.

+

No one seems to have any tips or hints on how to make a truly personal website. It's always "build your brand" or "showcase your portfolio" or some other transparently profit-motivated initiative. Everyone is always talking about the sales funnel or the call to action or whatever. It's just assumed you are also like this.

How many websites are basically just "Hello I'm $NAME and I'm a $ROLE"? That doesn't really tell me much about a person. It doesn't really stand out at all. But what should you do instead? There's so little that you can take as an example. Perhaps a stroll through something like Neocities might help, but you'd have to look for quite a while.

\ No newline at end of file diff --git a/content/blog/twitter-not-social/index.md b/content/blog/twitter-not-social/index.md index 4972725..91533f0 100644 --- a/content/blog/twitter-not-social/index.md +++ b/content/blog/twitter-not-social/index.md @@ -6,7 +6,7 @@ date = 2018-04-27 tags = ["twitter", "social network", "social media", "analysis", "capitalism"] categories = ["Communication"] [[resources]] -name = "cover" +name = "featured" src = "failwhale.png" +++ diff --git a/content/support/index.html b/content/support/index.html index e81a49d..9b06fdf 100644 --- a/content/support/index.html +++ b/content/support/index.html @@ -18,5 +18,8 @@ layout = "custom_html" +++
- +
+

Help me live

+

Much like everyone else under capitalism, I need money to live. Most of the stuff I do is what you might consider "socially useful" but also "general unprofitable". Given our capitalist society, my "value" is judged by the latter criteria rather than the former.

+
\ No newline at end of file diff --git a/content/support/style.scss b/content/support/style.scss new file mode 100644 index 0000000..4ca90c0 --- /dev/null +++ b/content/support/style.scss @@ -0,0 +1,5 @@ +main.support { + .cta { + + } +} \ No newline at end of file diff --git a/content/work/_index.html b/content/work/_index.html index 24ec950..824540d 100644 --- a/content/work/_index.html +++ b/content/work/_index.html @@ -18,7 +18,7 @@ layout = "custom_html"

Some of the things I can do for you...

-

Software and API docs

+

Software and API docs

Information architecture and technical writing, especially for software and APIs.

oui:documentation @@ -26,7 +26,7 @@ layout = "custom_html"
-

End-to-end static websites

+

End-to-end static websites

Artisinally hand-crafted websites that are sure to perform well without sacrificing UX.

hugeicons:web-design-01 @@ -34,7 +34,7 @@ layout = "custom_html"
-

Social Web consultancy

+

Social Web consultancy

Get help implementing open web standards and technologies such as ActivityPub.

ph:fediverse-logo diff --git a/content/work/go-fed/index.html b/content/work/go-fed/index.html index 922bb0f..dedcc16 100644 --- a/content/work/go-fed/index.html +++ b/content/work/go-fed/index.html @@ -14,9 +14,7 @@ name = "cover" src = "new-1280-home1.png" +++ - - -
+
diff --git a/layouts/blog/single.html b/layouts/blog/single.html index 5fc6545..dde8e13 100644 --- a/layouts/blog/single.html +++ b/layouts/blog/single.html @@ -1,66 +1,27 @@ {{ define "main" }}
-
- -
+
-

{{ .Title }}

-

{{.Summary}}

- {{ with .Params.cover }} - - {{end}} +
+

{{ .Title }}

+

{{.Summary}}

+ {{ partial "page/author.html" . }} + {{ partial "page/date.html" . }} + {{ partial "page/wordcount.html" . }} + {{ partial "page/categories.html" .}} + {{ partial "page/tags-list.html" . }} + {{ partial "page/series-list.html" . }} + {{ partial "page/toc.html" . }} +
- -
+
{{ .Content }}
- {{- if .Params.series -}} -
- {{- $series := or (where .Site.RegularPages.ByDate ".Params.series" "intersect" .Params.series) (where .Site.RegularPages.ByDate ".Params.series" "eq" .Params.series) -}} - {{- with $series -}} -

This series

-
    - {{- range . -}} -
  1. - {{- if eq .File.UniqueID $.File.UniqueID -}} - {{ .Title }} - {{- else -}} - {{ .Title }} - {{- end -}} -
  2. - {{- end -}} -
- {{- end -}} +
+ {{ partial "page/series-nav.html" . }}
- {{- end -}}
-
{{ end }} diff --git a/layouts/partials/category/h-entry.html b/layouts/partials/category/h-entry.html deleted file mode 100644 index 501307a..0000000 --- a/layouts/partials/category/h-entry.html +++ /dev/null @@ -1,18 +0,0 @@ -
- -

{{ .Title }}

-
-

{{ .Summary }}

-

{{ .WordCount }} words posted on {{with .Params.updated }}(updated on ) {{ end }}by - - {{ with .GetTerms "categories" }}into {{ range $k, $v := . }}{{- if $k }}, {{ end }}{{ .Title }}{{ end }}{{ end }}

- {{ with .GetTerms "tags" }} - - {{ end }} -
\ No newline at end of file diff --git a/layouts/partials/commit-icon.html b/layouts/partials/commit-icon.html deleted file mode 100644 index 50d5447..0000000 --- a/layouts/partials/commit-icon.html +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/layouts/partials/i18nlist.html b/layouts/partials/i18nlist.html deleted file mode 100644 index 61e7081..0000000 --- a/layouts/partials/i18nlist.html +++ /dev/null @@ -1,5 +0,0 @@ -{{ if .IsTranslated }} - {{ range .Translations }} - {{ .Language.LanguageName }} - {{ end }} -{{ end }} diff --git a/layouts/partials/list/h-entry.summary.html b/layouts/partials/list/h-entry.summary.html new file mode 100644 index 0000000..feaaf97 --- /dev/null +++ b/layouts/partials/list/h-entry.summary.html @@ -0,0 +1,20 @@ +
+ +

{{ .Title }}

+
+

{{ .Summary }}

+

+ {{ .WordCount }} words posted on + {{with .Params.updated -}} + (updated on ) {{ end -}} + by + + {{ with .GetTerms "categories" }}into {{ range $k, $v := . }}{{- if $k }}, {{ end }}{{ .Title }}{{ end }}{{ end }} +

+ {{ partial "page/tags-list.html" . }} +
\ No newline at end of file diff --git a/layouts/partials/name.html b/layouts/partials/name.html deleted file mode 100644 index 10df9d7..0000000 --- a/layouts/partials/name.html +++ /dev/null @@ -1,16 +0,0 @@ -{{ $firstH1 := - ( - substr - ( - delimit - ( - findRE - "^#{1} ([^{\n]+)" - .RawContent - 1 - ) - "" - ) - 2 - ) -}} \ No newline at end of file diff --git a/layouts/partials/page/author.html b/layouts/partials/page/author.html new file mode 100644 index 0000000..8b995b6 --- /dev/null +++ b/layouts/partials/page/author.html @@ -0,0 +1,6 @@ +
+ +
\ No newline at end of file diff --git a/layouts/partials/page/categories.html b/layouts/partials/page/categories.html new file mode 100644 index 0000000..c4f8650 --- /dev/null +++ b/layouts/partials/page/categories.html @@ -0,0 +1,9 @@ +{{ with .GetTerms "categories" }} +

+ Categorized under + {{ range $k, $v := . }} + {{- if $k }}, {{ end }} + {{ .Title }} + {{- end }} +

+{{ end }} \ No newline at end of file diff --git a/layouts/partials/page/date.html b/layouts/partials/page/date.html new file mode 100644 index 0000000..1d47cd1 --- /dev/null +++ b/layouts/partials/page/date.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/layouts/partials/page/series-list.html b/layouts/partials/page/series-list.html new file mode 100644 index 0000000..88d137b --- /dev/null +++ b/layouts/partials/page/series-list.html @@ -0,0 +1,10 @@ +{{- with .GetTerms "series" -}} +

This post is part of the following series:

+ +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/page/series-nav.html b/layouts/partials/page/series-nav.html new file mode 100644 index 0000000..a2165c3 --- /dev/null +++ b/layouts/partials/page/series-nav.html @@ -0,0 +1,21 @@ +{{ with .GetTerms "series" }} +

More in the same series:

+ {{ range . }} + + {{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/page/tags-list.html b/layouts/partials/page/tags-list.html new file mode 100644 index 0000000..122061a --- /dev/null +++ b/layouts/partials/page/tags-list.html @@ -0,0 +1,9 @@ +{{ with .GetTerms "tags" }} + +{{ end }} \ No newline at end of file diff --git a/layouts/partials/page/toc.html b/layouts/partials/page/toc.html new file mode 100644 index 0000000..e8a27a7 --- /dev/null +++ b/layouts/partials/page/toc.html @@ -0,0 +1,4 @@ +{{ if ne .TableOfContents "" }} +

Table of contents:

+ {{ .TableOfContents }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/page/wordcount.html b/layouts/partials/page/wordcount.html new file mode 100644 index 0000000..94fab28 --- /dev/null +++ b/layouts/partials/page/wordcount.html @@ -0,0 +1 @@ +

{{.WordCount}} words

\ No newline at end of file diff --git a/layouts/partials/pr-icon.html b/layouts/partials/pr-icon.html deleted file mode 100644 index f0c5762..0000000 --- a/layouts/partials/pr-icon.html +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/layouts/partials/breadcrumbs.html b/layouts/partials/site/breadcrumbs.html similarity index 100% rename from layouts/partials/breadcrumbs.html rename to layouts/partials/site/breadcrumbs.html diff --git a/layouts/partials/site-footer.html b/layouts/partials/site/footer.html similarity index 92% rename from layouts/partials/site-footer.html rename to layouts/partials/site/footer.html index 8966ab2..22fe89e 100644 --- a/layouts/partials/site-footer.html +++ b/layouts/partials/site/footer.html @@ -2,7 +2,7 @@

Tip me

-

(why?)

+

(why?)

- {{ with where .Site.RegularPages "Section" "services" }} + {{/* {{ with where .Site.RegularPages "Section" "services" }}

Services

{{ range . }}

{{ .Title }}

{{ .Summary }}

{{ end }} - {{ end }} + {{ end }} */}}
diff --git a/layouts/partials/site-header.html b/layouts/partials/site/header.html similarity index 100% rename from layouts/partials/site-header.html rename to layouts/partials/site/header.html diff --git a/layouts/partials/seo.html b/layouts/partials/site/seo.html similarity index 95% rename from layouts/partials/seo.html rename to layouts/partials/site/seo.html index 1ed1480..46d4980 100644 --- a/layouts/partials/seo.html +++ b/layouts/partials/site/seo.html @@ -1,6 +1,3 @@ -{{- $firstH1 := partial "name.html" . }} -{{- $title := or .Title $firstH1 $.File.ContentBaseName }} - {{- $cover := ($.Resources.ByType "image").GetMatch "{*cover*,*thumbnail*,*featured*}" -}} {{ $icon := resources.GetMatch (default "" .Site.Params.icon) -}} @@ -15,8 +12,8 @@ {{- end }} {{- else }} -{{ or .Params.name (print $title " - " .Site.Title) }} - +{{ or .Params.name (print .Title " - " .Site.Title) }} + {{- end -}} {{/*=== description ===*/}} @@ -90,7 +87,7 @@ { "@context": "http://schema.org", "@type": "Article", - "headline": {{ $title }}, + "headline": {{ .Title }}, "author": { "@type": "Person", "name": {{ or .Params.author .Site.Params.author }}, diff --git a/layouts/shortcodes/index/latest-posts.html b/layouts/shortcodes/index/latest-posts.html index dc73520..57d3a78 100644 --- a/layouts/shortcodes/index/latest-posts.html +++ b/layouts/shortcodes/index/latest-posts.html @@ -1,4 +1,4 @@ -{{ range first 5 (where .Site.RegularPages "Section" "blog") }} +{{ range first ( or (.Get 0) 5 ) (where .Site.RegularPages "Section" "blog") }}