From 067c63baa86158c8fc8132ff1d31db2a7dbc1a2c Mon Sep 17 00:00:00 2001 From: Aleksandr Trushkin Date: Thu, 11 Jan 2024 11:55:37 +0300 Subject: [PATCH] add favicon and breadcumbs --- .gitattributes | 1 + assets/kurious/about.txt | 6 ++ assets/kurious/android-chrome-192x192.png | Bin 0 -> 7249 bytes assets/kurious/android-chrome-512x512.png | Bin 0 -> 21205 bytes assets/kurious/apple-touch-icon.png | Bin 0 -> 6546 bytes assets/kurious/embed.go | 2 +- assets/kurious/favicon-16x16.png | Bin 0 -> 343 bytes assets/kurious/favicon-32x32.png | Bin 0 -> 797 bytes assets/kurious/favicon.ico | Bin 0 -> 15406 bytes assets/kurious/site.webmanifest | 1 + cmd/kuriweb/http.go | 35 +++++++--- .../kurious/adapters/ydb_course_repository.go | 2 +- internal/kurious/ports/http/course.go | 66 ++++++++++++++++-- .../kurious/ports/http/templates/common.tmpl | 5 ++ .../kurious/ports/http/templates/list.tmpl | 39 +++++++++++ 15 files changed, 141 insertions(+), 16 deletions(-) create mode 100644 .gitattributes create mode 100644 assets/kurious/about.txt create mode 100644 assets/kurious/android-chrome-192x192.png create mode 100644 assets/kurious/android-chrome-512x512.png create mode 100644 assets/kurious/apple-touch-icon.png create mode 100644 assets/kurious/favicon-16x16.png create mode 100644 assets/kurious/favicon-32x32.png create mode 100644 assets/kurious/favicon.ico create mode 100644 assets/kurious/site.webmanifest diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ee063b5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +./assets/kurious binary diff --git a/assets/kurious/about.txt b/assets/kurious/about.txt new file mode 100644 index 0000000..8924230 --- /dev/null +++ b/assets/kurious/about.txt @@ -0,0 +1,6 @@ +This favicon was generated using the following font: + +- Font Title: Lemon +- Font Author: Copyright 2011 The Lemon Project Authors (https://github.com/etunni/lemon) with Reserved Font Name "Lemon" +- Font Source: http://fonts.gstatic.com/s/lemon/v17/HI_EiYEVKqRMq0jBSZXAQ4-d.ttf +- Font License: SIL Open Font License, 1.1 (http://scripts.sil.org/OFL)) diff --git a/assets/kurious/android-chrome-192x192.png b/assets/kurious/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3531b41f99872de61e3d7d2253c11b34613f41 GIT binary patch literal 7249 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 literal 0 HcmV?d00001 diff --git a/assets/kurious/android-chrome-512x512.png b/assets/kurious/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..0d09007053fd4a90a52e1928eb661002105e749a GIT binary patch literal 21205 zcmeFZWmJ^i7dZM*0wN(GNQ2U;2qIn5Al+pU($dXCIA4$D#}lF000~FCpJKE1M}Bn!UPmrdQZgT3H$G?dvPjkj$G*o=E3# zsy2MDk@2X2#d)@={Ff6$*YK%MPkmvM^{Kt;XEGT8v*}rs%=Sw{g5JFF<>8aPnkPXo zE}DWKRfwh%0`D!w{9!)@8^Muzflr;~=awsA+++BE5m63Nqy`%<3VN$4nE76gxwg%5 z9{Q6btJQIW6WIgn<(hfmeZnmrOWjVr^3ubQmA=2gJ`pY#-F}HESEnCvN?)mu; z1Mf9b+AQchi&b&!K+9HGOn86R0wL{q%c)HdBJ$GvdKV*$7{<|_mh=|b!QTu6+g>V| zpW6*|awvDSoY~V)%KqIwC!gR)by;#r2uMipvBmyDinWvqc&_9I5X#X7<5?S|q3b$m zu4!`7n*O|SdHXND*3YnqskJGyEhim@SD2W->S&nksPF;Z#0aoYp2V5Rv$Deg0c-;1 zU;sPQklC-2CF0rHYezWs$m>^&SnXo*OZ<_mgXh(dlfH}_L{}s0!VrqT=cEk5(_S8^ z+8o~-bYUbLXP;VsiWAI|98@2mXW&)6yP{bW7eIZz?+c?#DtUy$6zi!4oj=GlgsryCPGff0Fu15XL{n4t_yliHIyEna}PgS0uXlE7Rrar~*C! zm$-uAby}ok%l{=m5Hf4>an~soV$u-S+l(sP-XR;$8Odf z>P(Z~FLU8WZ-5*k6s@_3s5>f5=jb0|anwV?Sp3}LHA7(`czA$3e|miwE224m9M$8^ z4F3T9p_>dLcC9)6j>xM3sL~-asud^LEH3--uy{E#eD!iAfaD(~S_##?SIir_MU1s9 zuw?k#_FAVzVipEXIow#TiExuDM*G6F)bB)+HM{PcFCI{{h`v?Q8HP9cj_I$2V186# zYi|#vNI^hgahz$4v_4CzPvw2!6C4`Yddft7efS)s5WLtj_^XR1*=W8Uq9j`2Ru;W? zRf@=^cGNLn1L>LQHM|ebtDoPUfZ5g@bV$_JF{>3~~p$6LZnhwEY83X)<0>2`m)0bqv^ zts7%mYj-G)c98@$igtP{V(1jtj817rx9?G>MgLhg^bvRYM?19dV+cnb4N&gZvlhC^ z16E%tfIb`B61rA;tTp@mCg+unrDS9t;Sy94Sl&TD@x6rNa{Z4sX4rA}&Wu!U2N;`T zwa1eKj>FAq>JHb^B_lI;mYpG0i8g@$GkEXa5H$fg^z8rl*EM&)<_pD1p)J1xB4#ETC&iAYd@gD~h{v*6ti40|%&?`qM zF`D8J`)rk8(SyhoD)ZtWr`oV!Yz1bQ;KBwSaB-r9808xN5hrhVwnrPjnXbz8?^ZL0)q$K~yO`te`hZrbQbq~iMwW5vq zdj^?#Y(eb(kV>pGvk8Egt_iPS>93SAGl!hHGhi8U^6lQ%DzoFhMp>5V2fxK#;?yT# zi}%>Qp-DLh*TCMfk!=yk&>N)N@m(+cMnneSf{1`?{PF-SnGbEx(*M%rEj2ShfT9Af z!92yn4kq)@eEjz$xB@Z&*%cpfjoAlmT!7_N%t`UjN&<^ufceZ60REgMgba@WklXg0 z{`6-hSu1Ay{YC)ziwnz5GT`0stvZ@NtY!AWY(MXU1^g9AIZ6!V>Pfpte{hu9$87%% zjt%_rCIs&|F_2$YjoSR(ejc;^TPPmz*W?grV<7*qDDMBe{eK7hk7NId;(t2!pYiz5 zD*pe+k7b@yec^O>9*3+rzupr(*WEQpf*Nib?_PLDnhmO+kFvQ1E^G12)+cQ=p^Up3CRY&O+LmCu&_BHlG#z3}*KrmwKvlB87GBIR}D@TyS; z^()p3dSTt>kBanb{PIkg^N$NH#<=ozb#r=^R}-{ayA4K=5vOXouoxvwUZ!clW&9wOvEd9lFFvK~R$eed>7 zbJ%O&{VMj3S-a$;tP(FnNHgnB-|`7Ew6u5jg@dOje#P)OF=e<=-)Qy(xSEvLLs-yS z=1+1f7K@2El(v3(CUbc!MX#@V(M@!Es-Uc)8YB#i(#u(RyUl~O=_Geq?lW{%!25S3 z3L-}vL6!*WUZ}TjcT@qLk;nf2EW+IBp4cncg@ti1C2>cVg z$zh_an|IWA4sSqSOwo#LeC|9CYW*_k)b_Fv?3bLSfOJfg9^;f}+CsZm znkxTn7fL;M#wAm>#8|GtrHLxCp3;U;YbG!W0+Hm=%20A(WPy#A!9K_t&aNs*d|oa5v_I4IdBxSr z3N4~5`TzCVcwN0F{qL>~N*N^{KgHn6_nKgdCXh>`Dw97E7SmGJi7892`vO zY>ERXM4#iU!*nhviiw^*!@vmM@NRf_war-RSzhNlip##Wi(7S53>PPX0*bO^h&c zKIPdM+*ApSW*X{Ret;O6E+v|uX!CO(p@*MC2*po4#4F8GFFbFywJQ&`)O=SOI21AP7+%G7{ zTOX}oD#tt1i|U0PzCVTsGbIkkCi+kHzWajc!zK)#I3feA16|w#F^W8fQDmwXL;-P2 zv#!YYlYF2`g*>N?jYeyFCG-Aesw&>>n1u#m>-gsld>OmTLnJ1ouLH1x!*=&d@&Wvl zjR)rdV~X)wl!A$U-Si!xona^taO z?)T3zy5vf{x(gm@tnfVByXzhE19tVh6QuU;&=hf#jeDZGLIOXMc=THMmIu=g0p8Q5 z*OI?fi))HLblTQ@8TT`mWh^ySNuOjg+EpYeeN)yaZ<%$nL)E6K3G&dc+>7V;L&Cy6 zUGrDg4=a|pN!pZ-xLgLE--xs|K1Gdr_2vjM;oQ$=0UnIpZnj?+@L<3j%EU@inzv% zrn|#>P`{-q^9RcYh;BS?bn!d2{j4Q;(Ie~iO zYVqT&u;vY{NbCE)^E-_u)Qv|&{FRni_Zd1HR$9E1nzAL0&9|dDPTf}yC14g8$o6sY z>VJSN^T zUnNNxl|>}x*lHmb;ibtor|sc2{%awN-h1@SvOO*h^8Kb zU~8%e5)HJ!4BtEl{GJ7Oy7gVw?;dwi6&loM_spQ5U>#CjHI?Ii zeR6Xjyk(m!OP;*Q_$ zn{L>Af0;VJQ&2%s>KTvg@~aQ6F#GIXfsWP|g??4hMT`SG(7dX|8%n&AP8`mvw^j-* zJRC_rahCQa(#T&|J-=_|utidnqFo$V!`Y}=;mIK#hbEZYYb=So9N&ZXsIA~FVfzl} z6!6OcF=DQ<)I)dL{d95)@xvZlyNlw?A5k`Fd`?hM5ZRgHsaDWbsA;@-)v|x!FVZhy zw+j+5?nHGt`CFYvg6tSCewMjFqo=QQSA=%nbGYx0Z_XD7!%|7$COr0d zn17?8?6hC%w=d{f=q2Qn)r#)3q#st&Nx0UKKJtxsPV9r;Vr()h`WQc~KSvI|YJvH! zP=y`pg>GknM$5i2_s3DMf z#@w22p;4-W^d>xmDsd?|d#Vu2^y%ixWzRFqjivEhtypWXKx4?b_09Yd3iBNvL|wy- z&hYIheSz%SG42fms3~G|$0OF>z&fhc(a{TOW@ze1pQKMA_T7^ZC_jzkr}RJ2G7Vo? zUt}?VnqW1hMiqiQ_iqSNd0elF=-oT0!rMjSQlU1y?ThM?mxJ$XOgfaT&+TVA_qZ4} z#rSP)qL_N=(9w_AvwA10E?4xU2KIqA=%M;?Y<4&jK{4S)w~V{LM;v%)1!Vs))% z6M8=}-=*=xv^`Q&9-l_$_Bkt>NltF~5+~^W zIpzzEd9}R+{e!K$)AuV#J2Q`FrRwTdw*)%+yf#zC=YPH&K5p{wAg;Xdj zZZ_s3RgL(4z*g|Vsfq#pJ6DOn7^K7nMms?K9Sj8Tn`<~R-b-cNOAH$HGp)Mun0CI7 z*H-ORTjQH!#rii>KY*I;4yIWNwB5)?AAKQCmxqzr3ut&Y4B zSK~5fqv|OhXnCSqOE1M|$}q|=oix_S5nXrGuyP++@eHy4R#Q!vsp8})AoaebbeI{n zA0P3yOOo*I`}o$$Gx_y+Q53hLyEkY7b0QfPOn}IIXM!B+p*cm1pnhe#bliW|qZtX0 za~~6fS@Hj#$opC3JhBt?ipgj>>#X4H^v=l2#c5SOV4yk@IX7*eY|}C7F__fXCwP&M zKT@D?5MPoFwn{fQ2#IOXnE9>u*u3&P>?^nerr5tDe2~Jg{=*q{`Kihu`zj8=8otu+8g#X<$Hov2nXZYVIn%veXu~wdup7KrK-uxidUA5y`ec zOtD{{R97rt2jft2ey1yP%yerj#GqNhv!5g=?Owj1ag;Lej?@q+eM>cvtK?5ksA&3~ zS~HHNd54%U?o!Up&BZIwb;i|0NFD*9GdV_OXQkFR4S#O-&h>w^fM>bm*~Y&+rjTV2 zu?oqy+*;#P)4k^~Q!8=mZMSQ;9Q4|^?PjV2G;nXunXjj5t+rJX{B6f;tC2965IAmE_CC-{Hbxe%EhlON2t6Adyl_!!OiGO>xhby)99+U)_8VR`MJs~{3- z;NM*Um2@fIeaB4#=fkigeyDU|^I9{7PLCX+mCS$qqADIg_>&1_COG(P{i8v5yd zYs%q0El=H0kP71`w`ih0evo^$I6BpZG_a;&^vepeK&43tLv?lx)oGn#Ez5a|EX8LH zZq7q{?Odtv_?VbE|F(?FUiV#`=)KQ0*&NSkkTTF4UXRs?c%nZgU+K;->N z!d2ZeEa_CDM)eH)J#*y;`op_t9F(}wNZu(w@A9q+@0M}h#sK>%uQ!EYH(Rg^+N6tO z8NLo1jaTc|Q?>LQ$z}t-PE^zNUF}=RA9ZZHw`Nd!S7qEyb`jN~x(D%}~_`&A1@3Y3$|5@d348@*(5+D5i(KU@j3jX5>M>lry=p&=~F-C-3 z>JsYX@*SwR;;9Q|+Kuxtc}HBpHlk-4chLKF6;m1-!QCU}U0nWw$!30@rXo2SFSviE zN)$^-BshBHigoaWRpH3Vf6DmXw8>?BulQm|1CC`V&~CD}@%0NyvcUd>AIWTfg{pP_zo(o?!F z*97Y6_!1d%0!SxXDNm~Duv#ia&%&PPWQPU!ANgDvQ?2Y;Z_AV>t+E1#Zq(#}&kO$f zdug0j@~Jnz>ZCzM>-0JLnNRUW!R^xmcQQxYX7>!Jur?dMdRh&L_q{Oa zm#uQJ@URY;P%!M?5(LWnLdz6lClHO1yG6h#Q|sm<2tTQ?{EaPXTOoMqhnyf@zKRcznb zz0UR0w906qa*pj%^f%Zl?Brw3h*)19p{vltXA=rIoj7}kjcZp=jFF(CZR~yR%0SzX z;%hydvtF~sq?=nedO3r~-8LK|VR(Wsl@2gAYd%bLFmju@2gI&Q&a7rlO+yvfnD}B? zn5}SQ<#2zJ&&ePHa+1v!IjyQ+Js-E<$R2@_cisKX7keVhv(-x&l14r$H>Df}WF>yT-Cj}e^hO|cQ@nkUKPG&+ z-|~?KKTiirvu7XLnJ{~_{52cNwz7xsESD)g4Asc4sl?r)1TxzAvQ)l12W8P#%A{@544&8?n1?#pvAGli{-;JxWP zWo&+CsB$+Exe?6N`?A|flK=g&@ATSKO}+LJ-RqyS{SvP$)Uzk&qXJ*Yj*iVz?qP}` zb3HRnInIUtm)$`{hpSuZC&F>j{-UXClcH*YulicX`Un=rT>>A?!V|`Mx5V!FA;E|P z5Se|)a?kf4AuuQ2)7t%c?)vCC z+IVCug30Q5dC{=e960-OE3}HYW5GDNNM_Pd(mB?QDPLmwVrb(bQl!-c?&ggS@(OBv zJ&*d6ww(xm@6Lx$non+e5&(iLE?%x0dHD`NIVI+oX?RexZ=#i5tqxDJ_!n#W9y>@= zXw+SjxQh5e#%)`aw_RIN7qj%~N2r1e-`0pFReKvJ(E=}Jw(*+KLM%Hl!c|`v33-85 z7JR-50l~adJcr?2-n|o}a8--jRF~E;y5=nkAZ7hV$-7F_q&bjqig!~o;|tQ|81b>f zupDy@Xv(>Bq>&m})?bJ`F)r+($`JXrD4pDr7TCZZFb z?=Ah6%z~n`X84}y!snXZJ53QmgGujs%yTc%!lXc9V2F6p`0AXa*vsm#cyE4Q-9WUZ zuiEz7vdxcY+zy8=3G9@2zKV&5+!iVi(4;!CQ-ya)ReBGCEY|FOcRBhqejsiGthp&a zyd~I=a(QS{NHy~K>_Fi*XLM{c4ff*mLcv+7U*Yys`~kIZMyBh*r-HFk7gbffUes;t z0!OoZ4W(}Q6|pGnb|Dn;CiZLJ$C%&Eb^iFhIsXqPLd=ahd--95z2 z1`3IKLi~K;TXEOD=qA5sMWY-BtKUvuG?ry}E|h(Wk)ZXy+Y|7+ra#i!yZ^jK%rgFl z-Sek}a+p$*oJe-9owtY=t~hXWC-M~==n~0z)JSatP0B`x{6eCm%dxs^>XPQByaRd5 zLx&!tb>qyCW^v}{-1t>f<47+x{}6~x*ceF7#SOQr%Jf?=M&x;qe@I)K{x+zQ{G^l8 z?j%T@llntU^*n4@?}^)vBXuyQ(n;=}MW2{q?Td-KoPDylyS{neR4I-NNIYu%;uce>z>>U%{xB z?m2vQMk{f_-2xo*83V7m%4{aSNaXmr#nCbs=+`G zX9F%sc@5XoIYuWVxYB5D@xAY=dt`J{Eh8%Bz?d|RE@&G$bwka796&0PO~wes3x4g)v=%U!bJ%wqP{$S7b?5 zSSBNyhh`7Op1N1VokR}ofYz`Pi_|DLmi1hdSD&uL5e!#Wo={hq7p5dM&8B*eGr2d> z=hP6O&}+CcYgv`r>y^6bBJKS!jq2i@AeGx!qJsk9Tb3PyjPiQ>0Yl``B?X>on#Gqj z{4Fbc{xu{|k7Tv}+{o#^pz>LWfjG+`9I4;md70DYW5H%;b@G5(t$xm&yrq@xqj@=% zM&L}Dn%Bz~O}RDnnvD;3P9m<1K%nv7X?%r?RNvMJTJq60x~RcoKj1T1PY|h1Musu) zye>Fuwt0yI|mpjpr0)9JpDKT*tr}=9vl?Xi&qnhTnZK1#sEDkLVM; zl?7w%ZbW|wC>bB(pl}T->Sr= zE<=r~FEgdv^p-rn4UP1^%k*nuFl>nbepVg5HJfr-16!R)n_P)ITlJ3vIQka-$Nl>n zoW+|)%$wa$UA~DW3Xiz+<1!$JwR3nQqn0;lV>&V3)vAYLvz`#B+4gm?1zzi9Vp^X) z;==2U9pENtkibmt&MJ~xZ9gw{H=xM7e+}iUs3R$m{-V^DcvI1g4|=u25~DAwttj&> zJ~pPj?>;#z()>UQlyU3ApZf2Z9 zy?i}a7rJLLpLNcQZX5QiL=uJfZmy~l;eg?FPX`6jndKf0I=sBc0j6F`+p7n^XC}5Q zK2af8Ryud11zT3iUT@lJU}c^_W3r{RcPf+fgSZHUFr}#OO|PNw)h(spPbdp}p65HP zwHQYd`K#5r)j8(`n54}%#D8=2s@N;8a%(`I2PW;+9fURCRrAGjiw>Cye2Id_ zgh7;ST89w38}+;I!fP3@R4=j?FaJ5m4+7OS!e2@@(EE8ph_9S#U8Yv7`rw zf^ylDe?-2OA;M@*xig_8%`?ppwK_ou9`#n|JkGI0ErOY@;M|Q{!fmISY`Ym8kwmZK zHsjrB72{WQ#3#dAy>)POGOuS1e&xlm71 z<2eU2Ff#_o+a~g>{R;mRH@aKDP;X+2*csS6erP5=P`}zowZXnhO+hvu?=iv-8wzhB zE;9Ccc_(9cWoU0H@PX)>bdiU1Ss_lZ^6X`uFRI1@T9c}mR0Uri98*~uNu$N zN?H-k)4gv14Eh8<-eyC^85xsE_>Q%QaP(ig2RUsw#I)OJn?Hu4qD-sO#od=2y@8B# zpZfGG3s+rnm8+SdTOZO0A8zH{mvcz=iKd>uK~w^PpS8^G_?j+6`V%?vWbeiN0pu|= zUBkJ}Z%l7f*eY7~ZReosoXv2JYHCkH^;FW7n_5*T2V~`OwQ=q?(DA};PCkiki?W@g z`*HW^qq!R;sH!0SJw^B~LiVh$zic+8zIF$FX*(e*i4*)*hUf1=sKk3Q_V88)$;8+x zc-g9sV&z?(PNcK76|$?|z>!MFOaXHKJAYb^q0wKQ16m-CA|{!Os=*3jQ4 zial?=ldL+9j4P+=lV{w*9C2Qn|1Kj6;36Oc?l$8eSIEFg$`jPAB8Sl32Dv(s{C<9? z^N`B#10(Ov;#H>>v?6+tm#1E3Cw$0w6fk1xwP?_ODEz!Xd!QboC!xM zc#hA+;Xu-t-wu}k%78P6-%pgP*L6fzEPtE4*m_0)yS-3mWOr#7cgH;f<4L{E1$gI3hHA&&RzoqbFPcTH43rd$3u< zP%~mLzJwh%AY<2+CnIt8Za5q~w8524iF+3dgRGgr)VIfdPsEMfBg`?KsJ#Id8-G1- z-=)BX7^%wMA;OSp0~o4)iSNifzj$N+n`GbY621)>xg%u^c$p~@wF{m1->>2M@m(d> zkNz;taNs};+lp-*F^BPV!c&AYvY4o}TXH{!wV%eB({7+Bj%!z~=WeoIb<)b$5_4M# z{(NBXoCfdf{tchYF%$2@`-K9#ysMD2{v`d~7~xuTEV$ktZ;@P(Pz_kzTJLl;0OHO> z>0Y(}D3$O5UJM?RC;Y@Su*F71WVWV%3sd#h=V&st7=>(_01hjUR6Oc3Z{ba{Kl)ug zw)*czha+*^G)()owEe#OmPK1;kz9jTR#Ips3D;syna*a=aD(KmRGAI*^2IArJT33< zT4c|0+uJ2`pp?>2TCzjZ0!+h%t$c)f!t=7ozHC_54us6n9-g}i?XECJ{e;Os1Fp(4 za8s;(bykB&<3*omD^NpW4_lH;Zu3jhnnZs%H7;NNF=Wmh=}GeLZM!$#U99~;!*zLW zQi5tdA^k5lIO;V<%5O(Z{EzioD>#a?8Qwt0TbiUD-71zEj*HtPrhmuc|MMToSa}cK_$*W*{(yQ zCfQj6q5wZ41t$l*j2hNuuH~oQ-qaqV#GS^-`+lH9`JpM=Q$PNx@2$~DDDw^;qBj~dQ*KUa-f9_NUnIkv|}f3<>+q!4Y? zL73}L9@(rRy)EnCEzIZDu4N~u`Oq_HNN36{NF^X^o$#_Pz%-XKD^0Zy3uc)T*q%_mNxpIn4(#-zoC+5OPxCA>^O%1`R zuJLh8A^m%WYY@*DJ`5#Miua(-NLSg>Nnbc{H!b!ZZRKWm&sZs#>sxz=$$<<9Od2Ro zlqYq?(UT6%dSh2l&)gG}m0X|<>6H~k9)UjQ&D; zf^MBDL=@icioobOo*mzYw!3#G_HXN6iAL7*-yDtj7KrbroYMX^)8>e0hravKaUIz~ z4R(n=FVL&I{yjq7TZ~1r<(~uW4te@<{wdVggPJ?ehl~x_!9wtNeC6*gO(r=!$#nW0 z)*0Wxh@5kIlNcB;m17VC+gA57rOfXk90;8~%3djPf@ir?`6=xErFQhw<%wBk{VWwv zAOiXRl$cJ@r&%1jTUYEV5ruhEi$V@&v#J~a<%k$Fx$J8?e4qiJO4Q9DDznL_**KB$zlWiac%$O^B z%Zx^{Bp-bRm*iiX=$M^MkR$qv%XBGdSxlMs9yFX(TfY+UtNw{RNnAGQs~VEOIA=CJ zXRPZ_qxgGIWzS9V%72F*sJDl^HDYcCB5(-jJRD4w_+Bm7^>vYp?Fcf3rdvh0+)v%? zYYAZE3KoggYyU^XH0~1(QI0ts6@RsihLan-;?D;oSqDU$|){W*L-l(0aW;%m)d$c`FYsl^Lnvv?`O! zevWaM;{4;lTJYyYYpS+W8yl*W4Zo~L_MFZv;zf79Vek%1} zDfbx6&lZ=$gk3nGM0phk=4|0IPWN@$F@4wzzwy4cCM)*<8yI(Gb`FpVQ2h9HS;m;K z6m0m=gZ?WjZ-@fRv);#qEzW1{g&ksOt|2_mB?$EKvgcKgdia$B3C?tFXnBHW8JsU* zkIAys733@0ypef2?NQB(J=@=YPo`q6<#5kLS5BAg^`E|3-8Y}1rP(-4C6al>iZXl4M5N%| zuug(88WkAUTDh7UiSm{E&YV1%*FH>2I32FO&}vm{z^!C6#i^j~FN8p?hAws9hP;d{ zT$q136SFsnTnMA}u67h~SIZP@UG_t=-Ijgi(Ti!sMY!7 z{*+JBTGTFgrF$Nn%?Z*wm#l|8^n3Fu`X!sCpOjOegMqyBYg39cN)r!Qs58DhnN#vo1RPX3s_@2+T9QttQJ&v){NZYsbQ1lAk_wsDFPvrN zR0>pBtms0)77UuWlK3me6^5b2vSJ)u#tRe6JVOcSAiI$LlXM znLUqn@iz^sG%$!j?Vi(mkEg3mw`o43o$AjNEA_8VR=rxY;d4$HWui_9;C?A}rakCfajM?S)%`|&*mHlqKPdtRw$x?gS2L%iDxo&y(F=RUCz8-48 zT>5plmC_&03GP{9KXhnDUn3N^+!kqV1gIOUW?RerMX<*S%S7 zW~9Eax=Yu4(S%h3UZA*8-GFWE*Ay)!9x8Nw$NS%&H$V^3?>dE)DQfs>Bg3-jp z*h0UJyL<#$CE3pqhhN9Wj|!7MuW+t!d2g-Mr0ra^whU*ogi8opbMe+ohF!JJjrv=? z;Y?VSdUAB2z-C>`TaX#h(1D2qjWz@&>DQUWPrH{><~gJ*+@U_DKQ%H9O?EF?d4+Ms zRO7lb>Rt6$@q1?ldYn+4r0w3UG+HBtk+;s)ht3uprj!##TLT}hiZp$!66moWP!oJ) zWiZ3y66f>=8jJVlC_;Tz&mO*Y5$@o57A>9CkpvBBVLKkgpajP8;5Tc; z-%Wo>a#G9&t8ykftY&JVv}7Rutv{eI?Wrfys0#PM30Z@F8O%)cD*JU{*x3ErP?hfR z+}Ir7ZJ*X0=2~-i%=RT~;QCgF#pu}_zZ2r*eJiAu5N*>}I#wiO5hqNP+-(NsKUL$2 z=_$4}4N}}&!#?-zx<2h&XMFBzv1{%JS_><3~AK!_IHKN~29Pg!Bq^B>TbXGsq@?RLV zP95HHPG&KmeJ0PXOLJ%Fa{d4lYut~!r9^#VUC-UBp7q{e)zZG9mCxV{udh=uyIqTu zNk#gVbH%6#sIM^F@w0?ae`WJVwvHFUYkPZGqFZR))OV!AR7OiZHzveF{u~N(HB~jJ zcCz~1KEY#vDc&9VQ%sE23-sYUgFBuCGa)CDhH3DxirKAnX`I6+CPp)*#_%Gw?5!+Bi94M; z$bojL4gsNFDw(-2yg&7n>gJ}b_SUU0ue~E=n1V3(p;s?-lpY>y8hlfK=;VAs(-!S% zBBR+gc4?v%Je|fk95nvaoVH1lWli99dc0Y_wyOBq6bYteIyBs(p-F4n!0px&XNI8J zLQh!UP1~(CDLRD4h)j`E3sEK%R_4>x8Ng9)H7_lFYd6{R+0y(Baqt4$x88Ch{a^I@ zLjq|wpKEFQKHto!ImPs)a-*ewuZ=%$@jdi@D0(wsTsnK}HQWxIh90&f4{R5RgN(uM zW)@1D9u1u^(+=5Rp1@DBo4wbRZ*&NhIpLR|AM<5D#FX@&mx_P6b^RPR2os`TJ#oMD z=XEI-t~y4QQZ`ArF^>u`uV{jqFikw^0keNEu5~e{r>G^gm-+A0*?A?5FhxHyydJ60 zo`7jkm+a;U{(Xu{aE57b?Jxb(|GO#Kga1JOM_8=?#OFUH`Og&mXJavb=08*L|CuRh z26ALe^=wK_^!_(NWQ4LC4wU470*GrD8e%`r`DP-E;$rzv841XoG zrPH{chebwU#vEah z_OJo|zH~nukP*brx=({ONSg8f-_(>LJG@0sDbVU~ENOHV@cgW>cG8K{TR`op)|{Q` zvyN*55a`J~0~}*~QN%@2Tj-yd=`$D7PwsLKf#2HP{}Z5j_+j~e1G!x^p-hE^kD+ns zTWyY~u9d&cM>g)fX1>NXgislUepMX32Qn_hYA;O|xN8L05+7C2Mzou~=Kpsd1Li36 zKs{~f$fx`pfphjiO!|$K2bbi=v_59V`Z+JI34_bd+<^ooFQ6&XL@ve8(cv0tP{mhf zh?mQGj3MVkX4m1RSY|LU%GAihxO$=PVH?~Ovl$&;%9AbCDV8Tiqg+GG*URK6KIHLO z?V*SH(qWr~!5vj8ZO*UcuQG74U~=wxZPySzXhXWk6S@-9)fpyv8c(WVw*h2(3}G$1 zqP9@ODDx26|Je&R{^%#d#q%k2{5Ehx6EHr>V=$Ho<=hBKChm_s{qtHGGjiwvZ&83Y z@257?XNEI72PeBnzz`{Ey3pRcC(dW4T}nB4{{(*n<-Yi{rLvQlpZh3IkqYV2H`YcVxRF@8=n#G3ijPysp;2 zDOTUfj4(o#ZyRN~x=<+G2m@q5KI=cK2H#X}e}6Fhn(dkm42Ck#PLVywt~jV63!=lD zz(gv&x3Lgt_eAi{R~LWFZqW5~93aFIcX@Z}pYYo3S9qEOyHW40+84gvTV= zWZS=*W}%A~jmJh;M3f}jm|IGrM!xme!TwTcBi3M7$UTETFX1^6K3QrQn>n;IuY#R&U-TTYA{uu#k)n5l~liJ;knHR4gjb-8y8x#!e`B?^T^Hi7-C=%iE`vDfOKVQ=U5bdr*rt>BRTq93 z7_`EUBZdw?T+e$Bp`@|WfdRrvTi4usuKYYp;$78eZXT3`llmSaV3H>u$SH~C(YUY= zJ8TNjEcvnUdBBMslze$(-tSrw&&XpMkvCHDK|ecpH!o`5i%ZjrKRC%nHB2Yj0Yj}i zW$GD{d9p|NPY+nIYu{H5%!^%r=R=l4+jZc1M_b5uvk5i#{ycet{}GnVktzw)@3fa# zE$?$)_YN1_YnLz5RYqHOMSu*&Tn9Z}WB*IJ<5PN(s5jdGR{&oCp#L=3#f?2BIOrk&w=O7TEkSbk1>b}K z0tj>v0U1>HUE*lI>}Ol(;%JdP&XyOpdiMDGbv z7dQV8aG&qXeVCau^DuMfccz>(6Z29ROhL*>ii3kgp{b#2@K4tNM*yOKTz;HL3c5Bm&7fSK;fWHj1L`L!tT4KO-`xra^nx#SAoi zKX=%b9?|v_L{ihlTH!F$*b<}0qm|LXuInIBur~TE$fw-Fzq)+#O>JNUWdBFU&5?}H z5lIuXe%$_ni0cO>h{d@vQe&A_-vr@qKCi-D5*2M0ofohkTW~bN$cX1bz$`N8Q=yh4 z=3X}EvuQ)MOKVa~_rVAQ>GJnZ_r#8W$0_EtN_^s4g?=eEmM|34{C8!?-wPXO?`q{j z9%js`h$jq-#ddqVFW&#CE66%sH&9W%0f&x_@94MgSz$cbRQoDBWa_$@@R&$(Yi@`K zeIg&x`DF3oe;QD|(A3zeyuTVX&dg-6$=?P4T>nfV`EnmabrPodM0@cGMP@=1#BYFi zwaNQ!9Q+7aRv7eZ34AiRVrzOCx|rokPEZ3$A*A*o5@wmd+TW5kkDB5Z7s??0g-uEj zm1&FOn0i65rCxg)Da4R=p@ZJXa7v8F$A206b(se-4WMZoqnfh^G$T%pb!{iQg(rtB zZJ^lnsU@7WN@lW)AwpYQ=X%MnOqFbS`g60tV##C@V%#2Ks9FcVC3nu@C?wpGVUAgS z8#rq8srhLzK-A^IgqJ^t9<^)d%cRxWD{SUEi<%oJ4{KEV2_EKOMnLzz!*lEZFk|Ug zr66X)k%}*<=#AuRM+x9{CXb{xM!os>3k=1`+sZhmqyS?hUp$F{iz`jm7>(J?1ckN+ zovt5o97zue($tuipt^~gMKD#ylK#WpkL3NXj({&9JbiD`Z@UT}{i=f=>Qx~jKVTe5 zrUc9$yhFe}$`w|%>Pkx80G5xb zwI1dFZ}>mOgZ(*NXvp_HS`JKF$CXS={iND&v%)CBfbA{l%c&U4{IgZ+yDu(}-dND4 zzBqGvs6jB3JvGmOU`BIk>8^;H`L1#siYaYGbA{h?lTK8YB1R&-1U6xLJ*sTI`-!`m zJovstNQl&Eygd6sx!{eB3!T(CV(@7pn$HtO6QOI)vt!6H}|hdHKIPaf^0N| zm5)gTgV#D+YK7}WY?uMJ9 z$ezRsR|u&#Z#ioUsN@uXcSrbbU$Ro-$vW6Mn};R@GmR;qm1y>)c0Qx)s=Dy`B&o}Q zx2v?{LdyAPj3mNQyZ~t4kWh8td0$@0e?HG?Sj=Mhlgz7U=oYII}jS>Dhdl zp{iKTDfR(t@^<=<;cU=sb$VCM-GxfiMB1`c%#aj|IQ*g<4m?|%r1-OxEc3=-q4n)P z@6JWOVBH1|cComCE9ba=a({#3XQqaXO&#>%Qfa#oF>Bd})Pz3=$$@K(5{<6(xpUX{ zNeb}d?X^xWS?jgh;P?<9bdW+R(rmR-*Pn$B0XfDMj%B;j(<~ql(>mGS^SPZqi@A6< zmbBbzJM??;18nTIRl7qL*?3y!)JaG{fq`T2fuKVq3y%11bME{M6Ugglikqf@VsDqw zmt=5PY24Lx3Q5~sqsT+AxZHY(uJhPgk2LMM=yk)$9Bk&*jt^svN@Gr!Nv=0xuG3ps z+?KFY(*BmoFrB+!U_##{`Vd|3M10LfNI!a85d1p1MaU92jV^rFXeV8HX4U^C^nk<4G6wDz zPv*YdRCc;tLWd%m1>N{4o^UNXQDCs2e2-9x>7<7{Y4EHM>i5dKxZ@jO`q#UZ$=KFn zC!yskey-xfwwnVtUhD>4mqn&Kpyg#=kXssuH0zvFrn}(OmlkwCt0x)W$j=S#Q2CdZCpBW4v z7R(xa+WtlEit-#ss)oU$2pkR>Fi ziG8;L+B>7R{PIZVh$vSq^&NIY=caXUTp-}`bm4K^svTN86W;WKj;HEa&@HJh%z@bX zx|nrYKk#Se2G}>q>N}%X|D=!0lvD?xLoF)09aySSNdf5oW%*;|-dfZl@LL3<+mI0O zkDV%!*H?a1lwja}NrNY`RK{@arSHK<4&hJcrH4{Kj_&jvH%*r2rJl(3`??JT?Z{ds4VZelWLrCt%Q+XZ&=$j9(?(Qra(7Z-Sda%6VAlmJ_2R9$8K<_g-q2nwY=57VW})Y&EAlTRh%>qcBQuS<71P-SVAlS zGU=9MT-XV>fZ43!&5l68J|Fvn2{JMii%2HXM=sO`VOJD)s0H74$UAjO)rLk9=icqS?``@4*!U)g+yD9dMB%Xx zpjZxYOr_KPNb6rdX9_KzqSyf@(+pXi1Y<^kX$08x*)x)OLZOh{*btRiBLKc&`jSP%vpCBzJM(s*AGa;K) zf}P=}Dg&32V@C8R+5r`h;re4wL`cp<9rBS)Q2Qh=I}?EAwuSOTal8O>P9)=+ZN`@N zl1t_eBO=q5yzZc0c@gU?$De{sM@D|rkw`dWmq1gq-9f?*$k`4Cs0`w+*i6OqcQbZ) z^68Y@9I_`gwwR0r^hj6Fg!^bv%QPq0B*V4F_jjsd?;2!j%6C3Z1Ab?QKI=0>;!&}S zc{%PX+2h?Z`<^enI4+J;KDiRuU|`L{cw-mZR;t5@UgW5JvR}(AkYnJDl5+PtTr~RX z-m0FV{Wq5qvngC-Lz&e%;sqQ1Q>Upg&`wW$DS{NxCn~TNdg7SE3g3DstmkQWNE2Z& z=QG)jR+2qNbY6Xh2UUusxIWUxJzoRssx=G<0`#0VC7c0toL6tTpdEZmRJl<(WWqo~ z8(WRHPYr+Lh`j+>EdU`B5;QTcim{)K0cT`d`pX}W99?Tv=p{1|tdXjN*7ybU%B{<~VJ%Z~8SXB5!3>QR7HF^O z*W&(UzNcBih)Vr9X}A1b@9iG-yohd?I^rN#@Pczx_o-X(D!Yp12`{V43Yn692MWiAhT6eK`;uB)zw`-~1Ea^Bbgda~3+Aga7Vu7tl!{UuQR;)+69aTTA zG!YYHbcPcDlB<3BvMWAe>wLt9dgsCNHp*x}wYjK27{5VF9yR&RDQ9>Cx)Die#6Rx_ zydD^#Ek<3-w}y6FA02^o9;$az^pHSx6rUDYtPK~%=r9<=m*Dv3*8()3)-T?^`87~p z+wr3H_01)x^6tV2P3yrqY*g2V*Fkh{=T$Cb3{jhuBjaz zjFV2EhpMX8LM0@Q$LkJ>e({UmISVbxn#U}Fb2~ShMsDny4<_(XZvxY_{gr3pf01E; ztxu;Vy>0$fTEox#a%^30)ky-b&V(H|Nx8Ay$>YDN^IPy`IlB5*yEQh}+#@{xseKXriimh^m^MC9h<*RjsSkppOf#T09q^ChRgY5AA}3f9iXW78Zi30W*)u zrYKrh`=XtR#7mVg4XROzz0!IE7wERs=X-?g%#`}tX-@78=2qKRfQZ52Z=r;f&Gt`V zt+u!q3j`E$a*Uv0>~XX|tp1%^#MwVEOLuTP5O zJ45jqZ-*YLk`jX~k@e7o1vjB^cBoX;Z_zQk2jcC3@viXxpOeHYaf%usg^wHJTt0Vl z)ug6Ome+gbacN=)5R!??a{+^&J@S(|FGKlJP?)y)cELl1{NzAoG&Goob~gKpKhrLf z+3!m5lRUCn486Eevwi1+>Oz)Ny zU+5SmfF;e@#~P*J_g__}c|`d{LrT3Ma7v0vA1GB1^+FYPAU@Ao>BkiXIQ;Q=^?NZQ zN{Pt}H0gL|r$*psKAzBIR=90ANRMUNz)ThH-bMjvuTC(=Rd>S z{EeR{?Xig*y2tPd`(BskanY^+DwMySk0nZK39J;xKZzD%{a!TgfQmch*@&r85SzCM z|E@S$;IDj2w4pL~EM_55(u?VlwQ#DTzR&%)4tQe*>9G`pv$jDs+{Vo@co<@LjWN3D z69;&;x%!pAZ2=QGO7{8`%AIdvRY#e3iysJlT+NLO_!orh#QU+t>dBVyy`Sc+afQ$ECr z7>U3Vo-@lc@wixFklstTZee$1KO5M4?4@V)wC}6v)=W8ppu##@z-u^~GobtVWFvo6 zLFmG#`*vM%mleLh;$0E7JOi0gqUvEvnl7)>debnk68QqDfPU7C6wttPE!iC2feZI1 zjx%;0tS1teLD$qW6pCLt2MMA7>h=X{|DDUC9Dy!k>h`}B|6lpvFyKBT zHTfpWPaY=1PKBQOo}uYVZ)@Xae++1r)Sc9Pny#Yewy=V#xguu69rQ_)mFKO_5w1FW zaOdqzbjXSee*AoyFHPH<+3$TDaUTvq4iB-fTTCGj5YLPZX%r{NCO7VrsEXcjOf>#7 zIba<2w*8gvddT=7J9vuv^ZQOo}~`FR&pjNtpGqj&AnYR2$$~2Bk8o@F>co_@D01hOIwBrTZ<&5 zAS^2-fF-41H{KpPD>;h@(}5JbJc8B!K(W~|IB(sE6^J#KWv-Q>FcLr2zj}Y~SyyH2 zxtr#UL2YZv=uO>fE)C_cf7U%+XX;KNi(0}0?i1LIGI{|v2+@^jw*AXPKW9*`l73Ul85C&6NLrT>SU0c(AE z7?xfC#o(*V#<213FNSAd{xO_+`G>(ooSEVBo4*Wdg3Js*|NdvV_wgT)1_uXf7#s-Y zW4QJ1F9R1F14Gr3?+m+x`50_heq=Zv$M#ZZ3u8^df@Zid|bUl}@Wxfxv7enO53gbR3B85jP=otL5Q)HjAQQ%;864}UZ0iZCFs{tpeAjmR`1dTwVqQxGHqKBl+7R;bP zGNeL@%%z10Y$G#E?IFq~7;~AX8E5Y7w{vd~fjMHNj1P0TT)vO*@O}U9cMj*{Fc1VL zw))2rFenC~XF#JFGy$LwgY>`Dw>#=I6MM~klwojc2G0z*wIJXa-G0=>fYAp<0E9sj zVD`^6_CS{t!@|K|t5BNC;ibuo zgU=n)RW||?sN0}Lx?YK%Q7_il+fcDi1H&Q}+K0T@**u2LOI3)`%5e4#4^ePF&6h>V zakbM0-YdXJ;(b)&UYR`D8qebTM;E@0`Ns@Y#jtJ`XChHL$t`6f}*& zNe8s#M@XBktg#?zo*XxGv|#8}D{QvGMt*k;;dnpn#e6kGLgggXA&DDjfdw??>5wp2 zfvyoR;^)Yv!#CDjVX_NIpn0P)9K#MjGHQQ9s{}f>M?yv~`KnqAB3K5kByfb*orIxl z)Q7S*2Zs2+s{X_R5YZj>G93_AXbW>I3<|<|j+oi3KDQ;s=CSw2WI8B$xzed#PK#B6-38Cl+L&FxbV*T?*dpkaMz$i z6e~kviw(V2KdumklxRw}ZWo>ocyN)DlA{nkq+54TvX!k4!~HLAoOr=wTf7Pf($uJ+ z!*7uPBsNP6(R5XrDeMy>5F!vFAohhpZcKvTngzQ#{nMTcCDf!Ym_qgXZx;c=cj^i& b#rFIcX%26o@;im700000NkvXXu0mjf7L;qx literal 0 HcmV?d00001 diff --git a/assets/kurious/favicon.ico b/assets/kurious/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9684f32350b147bba23f7513e0b1356ed643ca58 GIT binary patch literal 15406 zcmeHNX>3$g6n;d1`A7WW4}UmQ1QAzI0;sqU7hExliI|`XV%%^={b9f@CK^ptOkC+q z3$y}dD~Of-rTv{Ip00^ z-22YE=Sb2p=@M!9a0&Aw>D5amX`&=aMMY+L%oUPUign}0S?!}Gss2hy8iRds2#zr8 zG3zn;T#k=?ZfDf%Dl&3;XpA}55%sx?Ait-Ou|+_5^W$sc9aQ6&+yr{W3(A^@Ko6aV z;MTVw5p0FXp+yiszZU`7={kf=HDUKyaD{bO$V*xAowdEMLOre zzkWI-;Vbh_}z@$m}{ z5UPC-;%93yp9_HvGr(6e68w}ez5y{k2}Xx*YAaZvFE(+KH#&ovVKIS$}KZeMT?G^VXEP zv!JuG5bR#p!0{&Bg`N|I%-!a1%iq?&GF2%mt!Y4n&kt(nEe~g{+)St{-2IN*=9x}$~0(>hGFodRNT$#{Im|S*jzeJR8p_xUBnukrM_ZAS9=>SO zMjP2M5`aHwmrej>^#fLW2kOaLv|Tr`y(;*MJQM%uiAtssJ+Tgg)vqCG9rUP-x;G8! zKgezLBbVO_fj^&T`A|8qX%^blPt#w}F79U=oBoG)f7wkAnfS-schfMI1L2J|n>wYT zEiISb4B@{&gUCTQ_)4#3yE#-h4r#XL7-|~@Xu48QZ+wvdCZvf&=-$1$Q zZC~|g-uMmJSM+kG)8!l3+14LxVe)XciSO@p_X7Wydb%gUD_Ut5KAG-GuvwB9Tt3`a z;&{&Ea@3>zR60KgmPOU09Gc_?G2xem0Q znX9~0``h^Y=X)eo?xJkV-_?!OA4=o{32pztlpFdxG~Y3+J^{3L%xm$Ds7sApPd}mhkInkBTax{$p8OL6 zTQ+$%_(^xk{~{9kJJg2nI97=2H184g-%Pgnj(~V;o#=`&O>ZXgM2{>_)<=)7NcNAl zZco;S>gFf=_Z5Dhdj#mJC&`2Kz=(%+4YP;UN$MIbJP~Bd7JC$%oHhhy1L68DVDA$+@da9{6RdgMIzbzF*c53 z+{F1wK2`G3k*)=+UKU+Br}#dqj~-vm^A(MeMi*mKF&ByaycEwTlIA$I=10d_1V=rzZa`ow30!Z!ir%z7J_{ z(|a(C^yFX1L#(A55{RAr_d?b^oigU%kafYbIJsn0&bN=H;xbfWV z#uv|6x%{?n^)mG*pDUdMxQFGkvEBNl(#i@yuDycqNqPrq9ZjH}Z{YV1(ITD^OQxnT zdqS@~Q!x}$&JO>;+Gv^PXX78(wXx-I%Rkfp?5)k#A6tKV(~(T=w*J`qlSw~%Ya{&` z%04g?yEEL|JO^t#;#a-J&TWGgUvIcP#g2Np#QD@vihW4V31#ocm=lWMz;zgM@f#F# l(j^83*MW4&>vo0* + + + + + {{ end }} diff --git a/internal/kurious/ports/http/templates/list.tmpl b/internal/kurious/ports/http/templates/list.tmpl index 125fd09..6fb9de9 100644 --- a/internal/kurious/ports/http/templates/list.tmpl +++ b/internal/kurious/ports/http/templates/list.tmpl @@ -34,6 +34,45 @@

Welcome to the Course Aggregator

+
+
+
+ + +
+
+
{{ range $category := .Categories }}
{{ $category.Name }}