From 5743477c5bde06c9f4a8c32978fa4917f65200ed Mon Sep 17 00:00:00 2001 From: Correl Roush Date: Mon, 26 Aug 2024 10:50:16 -0400 Subject: [PATCH] Initial commit --- .gitignore | 1 + .hugo_build.lock | 0 archetypes/default.md | 5 ++ hugo.toml | 4 ++ themes/example-theme/LICENSE | 21 ++++++++ themes/example-theme/README.md | 7 +++ themes/example-theme/archetypes/default.md | 5 ++ themes/example-theme/assets/css/main.css | 22 ++++++++ themes/example-theme/assets/js/main.js | 1 + themes/example-theme/content/_index.md | 9 ++++ themes/example-theme/content/posts/_index.md | 7 +++ themes/example-theme/content/posts/post-1.md | 10 ++++ themes/example-theme/content/posts/post-2.md | 10 ++++ .../content/posts/post-3/bryce-canyon.jpg | Bin 0 -> 19224 bytes .../content/posts/post-3/index.md | 12 +++++ themes/example-theme/hugo.toml | 23 ++++++++ .../layouts/_default/baseof.html | 17 ++++++ .../example-theme/layouts/_default/home.html | 7 +++ .../example-theme/layouts/_default/list.html | 8 +++ .../layouts/_default/single.html | 10 ++++ .../layouts/partials/footer.html | 1 + .../example-theme/layouts/partials/head.html | 5 ++ .../layouts/partials/head/css.html | 9 ++++ .../layouts/partials/head/js.html | 12 +++++ .../layouts/partials/header.html | 2 + .../example-theme/layouts/partials/menu.html | 51 ++++++++++++++++++ .../example-theme/layouts/partials/terms.html | 23 ++++++++ themes/example-theme/static/favicon.ico | Bin 0 -> 15406 bytes themes/example-theme/theme.toml | 31 +++++++++++ 29 files changed, 313 insertions(+) create mode 100644 .gitignore create mode 100644 .hugo_build.lock create mode 100644 archetypes/default.md create mode 100644 hugo.toml create mode 100644 themes/example-theme/LICENSE create mode 100644 themes/example-theme/README.md create mode 100644 themes/example-theme/archetypes/default.md create mode 100644 themes/example-theme/assets/css/main.css create mode 100644 themes/example-theme/assets/js/main.js create mode 100644 themes/example-theme/content/_index.md create mode 100644 themes/example-theme/content/posts/_index.md create mode 100644 themes/example-theme/content/posts/post-1.md create mode 100644 themes/example-theme/content/posts/post-2.md create mode 100644 themes/example-theme/content/posts/post-3/bryce-canyon.jpg create mode 100644 themes/example-theme/content/posts/post-3/index.md create mode 100644 themes/example-theme/hugo.toml create mode 100644 themes/example-theme/layouts/_default/baseof.html create mode 100644 themes/example-theme/layouts/_default/home.html create mode 100644 themes/example-theme/layouts/_default/list.html create mode 100644 themes/example-theme/layouts/_default/single.html create mode 100644 themes/example-theme/layouts/partials/footer.html create mode 100644 themes/example-theme/layouts/partials/head.html create mode 100644 themes/example-theme/layouts/partials/head/css.html create mode 100644 themes/example-theme/layouts/partials/head/js.html create mode 100644 themes/example-theme/layouts/partials/header.html create mode 100644 themes/example-theme/layouts/partials/menu.html create mode 100644 themes/example-theme/layouts/partials/terms.html create mode 100644 themes/example-theme/static/favicon.ico create mode 100644 themes/example-theme/theme.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..364fdec --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +public/ diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..910b5f0 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,4 @@ +baseURL = 'https://example.org/' +languageCode = 'en-us' +title = 'My New Hugo Site' +theme = "example-theme" diff --git a/themes/example-theme/LICENSE b/themes/example-theme/LICENSE new file mode 100644 index 0000000..8aa2645 --- /dev/null +++ b/themes/example-theme/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) [year] [fullname] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/themes/example-theme/README.md b/themes/example-theme/README.md new file mode 100644 index 0000000..7cec74e --- /dev/null +++ b/themes/example-theme/README.md @@ -0,0 +1,7 @@ +# Theme Name + +## Features + +## Installation + +## Configuration diff --git a/themes/example-theme/archetypes/default.md b/themes/example-theme/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/themes/example-theme/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/themes/example-theme/assets/css/main.css b/themes/example-theme/assets/css/main.css new file mode 100644 index 0000000..166ade9 --- /dev/null +++ b/themes/example-theme/assets/css/main.css @@ -0,0 +1,22 @@ +body { + color: #222; + font-family: sans-serif; + line-height: 1.5; + margin: 1rem; + max-width: 768px; +} + +header { + border-bottom: 1px solid #222; + margin-bottom: 1rem; +} + +footer { + border-top: 1px solid #222; + margin-top: 1rem; +} + +a { + color: #00e; + text-decoration: none; +} diff --git a/themes/example-theme/assets/js/main.js b/themes/example-theme/assets/js/main.js new file mode 100644 index 0000000..e2aac52 --- /dev/null +++ b/themes/example-theme/assets/js/main.js @@ -0,0 +1 @@ +console.log('This site was generated by Hugo.'); diff --git a/themes/example-theme/content/_index.md b/themes/example-theme/content/_index.md new file mode 100644 index 0000000..652623b --- /dev/null +++ b/themes/example-theme/content/_index.md @@ -0,0 +1,9 @@ ++++ +title = 'Home' +date = 2023-01-01T08:00:00-07:00 +draft = false ++++ + +Laborum voluptate pariatur ex culpa magna nostrud est incididunt fugiat +pariatur do dolor ipsum enim. Consequat tempor do dolor eu. Non id id anim anim +excepteur excepteur pariatur nostrud qui irure ullamco. diff --git a/themes/example-theme/content/posts/_index.md b/themes/example-theme/content/posts/_index.md new file mode 100644 index 0000000..e7066c0 --- /dev/null +++ b/themes/example-theme/content/posts/_index.md @@ -0,0 +1,7 @@ ++++ +title = 'Posts' +date = 2023-01-01T08:30:00-07:00 +draft = false ++++ + +Tempor est exercitation ad qui pariatur quis adipisicing aliquip nisi ea consequat ipsum occaecat. Nostrud consequat ullamco laboris fugiat esse esse adipisicing velit laborum ipsum incididunt ut enim. Dolor pariatur nulla quis fugiat dolore excepteur. Aliquip ad quis aliqua enim do consequat. diff --git a/themes/example-theme/content/posts/post-1.md b/themes/example-theme/content/posts/post-1.md new file mode 100644 index 0000000..3e3fc6b --- /dev/null +++ b/themes/example-theme/content/posts/post-1.md @@ -0,0 +1,10 @@ ++++ +title = 'Post 1' +date = 2023-01-15T09:00:00-07:00 +draft = false +tags = ['red'] ++++ + +Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem. + +Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do. diff --git a/themes/example-theme/content/posts/post-2.md b/themes/example-theme/content/posts/post-2.md new file mode 100644 index 0000000..22b8287 --- /dev/null +++ b/themes/example-theme/content/posts/post-2.md @@ -0,0 +1,10 @@ ++++ +title = 'Post 2' +date = 2023-02-15T10:00:00-07:00 +draft = false +tags = ['red','green'] ++++ + +Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia. + +Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud. diff --git a/themes/example-theme/content/posts/post-3/bryce-canyon.jpg b/themes/example-theme/content/posts/post-3/bryce-canyon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a923bea0d182c65213ad3a105fa05f61c881976 GIT binary patch literal 19224 zcmb4qWl-K+)NRlQx8gilad&rjcP;KvT#HMKI}|DI?oM%ccXusboZI)#y))n6ZznmE zWS!YrvrjVFCwt{%`C}VEla-W_1Rx*)0OH>Qe5?Ut04y{N3=A~vzXk*g3xY>QfQN&F z|AdT!h>HCQ2M7BT78Wi684)f%DLxh!5e+dZIRzCp6)qtiBON6p86_3ve@-A^K_GZI zcnkyt3`#sKJj(yIeRKopaKJDGJro2w0ErF(g%0u24}kyign{^v?*BJv2uLUxSO5g~ z4;4WJAR(ZjAfaI(p`l=5A)$bOAOMXHgF(t70{cnD81u7JU_5IsnW$+rAFe+(cX(V_l1hZgzt zSq0OWRn;jl_hS`6`Un04&;cP}JskLB5C($xJ%;F26Gl8tTnzZ+3kc|YPeZ*9+~xI00}&38O#;fMEdXumB=tfEyoBwgz^DQ4o*;Y87F`24#>v zCd8WWF;vsbjFJ16Hz4mb4Km#fz+~zK+-HQrkbiSP-x?rRRD=mzeXXFH1BKxa5diBX zWvFjE%hOQ&bN`Ohfv=fX5MgTnceir&JxLn{qO*h$0m?_k1QT?Rsf`NpCILueK2JmS zzDz>}{lBf79oR0O4FE&j<$!>pMu3sv*$TpOYfcz}E9PGe{AGdjX15$@s^w`&i-1p* z0iT?5px3R0NloRUH#ZxAEK~2<9JJxSPUcVJHh>6e4ho7jkQ;s>i~uiC0u?UwkJ-q( zE}&fDgAaV6P6z&wPlLQD1E3z=2}MflVs5Nz_(p|ht!lWbo|SeZA$o*n=d}@VR=WPt zg<8&T#D@AlJ!8ag`mfkT6sM2!H3%RyQ1 zoPZFM8@hNZlcyFn6-??4;l9g(P0kU;%t5&sxyvz?H}h5|ZAZI3(yz;Ag7sJ_to5Ea0y5^2uSo<&33&K?+pPh`U!6oQEK&fOcsMATj^`Ec0(HIR{ph4l7_FnUp?& zM!=oy+}|6pQh%@B43g-+2mKKSiwI_?1Co+Mr*FrQWG(JrCjj=NrCVX-m)Hqx(6`^& zo!F49RcuizMle1l)()(Y-Ec++Y2lsSzzD9U(~12E z8c_-8O}0hGa5+5)3vBsIb5<55c}Iws^hurB<3(-)1b=Lssxsrbh@F~&>FxJ>I-y6c zUIp{r_C1oA(_T*UDBR_0hwY7V#99kyZ`{KZ~zy1Nu^UP;fKxBeg;^PD^PIrQ(I$F{JCrA^qs;gm={hXStd zb}ng^Q(f%ZsE=f?bz=XXE4J-|4`4p>#tI_Zl*#(@>-0~w#>U}ys}F#^+cKH^R5cQU zzce;CuUiBW1h8=;TAd*`W}6n=y*(g5kO+{x4ME4`5M; z6_XEOhUq0NWtfAA9w+mJg1W*rcI7Lbaho&0|a!*BE;F<%E ze%46_(~mpCP_eh;2Y(~u@G9$wnOVNdalY)xF19&L@mJxBL7k1bIa0@{cu5R=Cb+K7!C zcT}#~59N+Do$TOi<(c_uGz6 zO9E&4X5((TsWr`^~CCQI!Ji<78yYG4=4`EQrAE9n3$ zx7{+~pp8kdQ)XZ8!kT-jT0%CZO;~vOn}P4I<<-_;_Hf0-LVxlqzYSWCxD)hWjPrhJ z+VuTc26dLuN4#0G!aPg;B(!0wIPx_L2v&dhFPUslDme(;rfzth8kTAb{A zX8Qn!XPgPiexr=l{X2=a-_%Gv>Ngl^in+GtFO#>7K+;Tz9SI?>?0+(22XnIxB>aSG zWv`&d*Sq+P$;5F{VS749{Q*QP4wN(>6W(v33_3m+=1>)1v#H%M&8F}O#wq+R&09AT zDbX43-=-aJ6|!5fe^1z6%1KEd<>4<*CwG~V5BT&jL4XkMC-NrtM_x>E@^UMk9(Kni zo;+KA4x(q?^3cv_8V0*|_X9vaajxJ>53#VA{2YS!<*IdPvv4#b3f#tq-}U&*73X&g zI>+5?_8^H7{M0Q1y(w7U$kgW=1?fjRQ4AJ3(Wl20Qw;yWh7>K-$|0xLhnlj{GL?~V zjA+SJys6uiB2MF$RBJ}aKRgQ@qMO4jrTYM+tLB+@ohUlOueEp3{2$kEpIe0td3LMV zR6cv^FM%PYiW-(o&NQN5Pkvi9#UF%$2|K;^oxL4l=?pSEartc!f6HP0knyW+3#5-v z(`H3uMu9&YqO7xxf2L|{u8UYu`h{jGLRLq)+s6&KtXnkfxXU)reCo3q9!8VQ`E(Pe zoKNV*19lT^Ogy-y)UHJ+%!A8Lh+fsDx4mN%#32uka$796@P&|TWQ zPb@anta75$!me*_OpIucPqG{u5wun%{w>?2tJ41?~^|iZqNyJ!;b=h) zQmzEcpr)J)YRaeRdk02Eq_IhF7JOH$)3dr5C>I}PuFCnAgZkymAN35|Ah3{j-mQ{P ze)KF2m1)hs|5m4XW+J|d73G>Pud9#!*UO9KK~Yem!^}y7P0|fxNX?#ah*U*Edr`u} zo)3$lvHLBm@yNv~i%L7wUhEERei`l#k!GzcZoqgc9}Eu^A*$2XY9$Zj&xY?UX)hbH zm+EdU^Njn^BBT5V!BB%J3SY*AW;MaKGyHy}vlWYri--UPV(YLo`k?eMRPKpvlO|4i z4nccyduHB`-J2Rxepc@J^Pt!zydpi;lCf#q&`!*k`_B#wpzwVtK^K&;5tM zB+8=}x1poJ^Q;qt!Wu)~qnuVUqdg{UABozn{gkqglZ@&)L83m=JV&HdJ@b&D!*^72 zo6;88b+|k5bpVQ_ZSFziJ&z{H<8!L&5_wt(tu7M>=Lm_39BmL}g3P(zjjg~h{2@%W zBCA(|qLnWzQ%95aHOjTGk2gbi7r11BOS4tzYxVr~j=R*HgVJ~mNPj=$G7b*Vw%06^ zyquG`WIijGV$4}zxz30tzLI0GYfhJy^FTzMbo20FE&Q3 z2O1~xIK46BH6oH#JC(+!Z&&kFUSR}j;!jn(Nh9#^nZCzsI#a1K<3)PB8v#Rjd$85! zM13-H`3ReI3$Eb<1*(lb;Y}STtlg+3`}b2hWKfuEk(!eAk@?17J*rMMXY`j(oQK=p zN9vZ_zC-UrZ8a2IS+{uLlklN}6f0;+s=`;TT%zALiJOctIdW># z_hDhr0M2Y%R31ARfjKG>jkUWn9^bGqzN-bHg9Jc+ z*|LY)bG(MS#}{G>S2s8;cw|PR13@zGldvE%=&Y{Ij3J_UI`$W{MQ_;Pujal)c@)X# z^X47vjI;jAB$oGJ3@I$f9wNJNFSa|xLQhkv6zdNlnBV<8OaD_w<-t#uk?u=LsbZ}B zJ}8d;eZ}*Z*>8B3{4?SE2^3}+^mcnLNbUl>@h^+Slbsn|j54rO+rJnm;i+zmmvcH| z9=nx6xI>r+dxJrO>T7xRuVIs`I`O-km|k(OE4Ny;{DDy)fLk#V%Y*o>-1M7}9gRCJ?iZyNd(IYZblV<%|G(fG=B`f64wB62r8@=tdHzU3S+ z>JwbaD^gs&1D<6&WX1%%X`+{6K?Jl)Bw;GSX9N7Unmlju6T4l=Is;#AVaf}8*%fG5 zn69--#RXe&FESz0Hzer~Tm4dEcYVm4V&-*woa~|Vtq1`6J zByThVU+R(y!tao|^jbS@(?}l)I1F;YX&}dCaG(nHU}Tt#PF>e`jrN+b+0#{>pRIAS zUmQUEM`cHZZ@(J~snjEaqMJr7+Z%!o#awI>Cnr_K82_3Gze$0>&woGHcnK+%Y!~*} zW9quKq#rQYYkFxQxkwTQmyRF?iTrzMh^g;K=^72w7j$44_A&LfAeaThuRRE~ExKmx zFPJ&S!bZ%gUImF!{``&Kp84~^s|W_^C@M4SdyG<}>$f=BlA}2~A3KXhZhKX0ER!%4 zF|Tg4bu_-cT(Upfr78u5&E~$13m2JZj46lGg{ob>J%H(NYZ{Ij>p|Odkt?kg@&qlg zQOWk(DKa?Es$s2FPb!@+^6>T|=N(!JE-nQ+x^;>we*OwXNLTgg`NnaAiVRX#o{!8?IUn9|$Q73vr|9pU8lNtOpEIUs%B*8* zq4TXXgpP&8vWRW|d0tjE6)r->qHayU{p!8|-@2hOBm~3cLGzZtiOLDFH~3_+?ehVa zx{C}AU;T)fAst#XhS8Ou>4eW3kpbKmT3R39$U3voYH~my#TDM8wIWD_h(+SZ@gFzt zpKzO2V_@0<53WWzC;XZhg7Ot?t@hRyb0HFO)Ameo{4|o5pi*6dee~&h>+I$>M}M{J z&Nei^cnszZ0r_4IMFMv$pG>*k;*ImGnfBHo?mB z$<)u9#PIZk)~xMv)nr6DuET%Qb#u>GOx*C!&CS{}F#2kDjpQIE?(_?_Vwr@5!ar>84Tb!J8ucKVw-AueKss!-H>UxLz7o}9Jt1zVilUxH2 z$xCU~S7(U3w^RLv2YqAOW4TxiDQKS%$5MskI%&j~O=tCOBS^3AQwYdH^T^}k7{gIy z56#8P+z){DF_7K|0lLvbBM}#hOhAh)rXx#%A>)o##$!amsrt-4onwxSVfB=;LbjGv zYmDS`$$_vC^WU@CNEw9v73g>Rg@HVwC$k$v8KM&k)nW8LShZ$C$wk4Jw%JXg+=4FH zM;l-7&8KSeMjb>cYDz6yl<3?v? zz-3ytM#T&*j7lU?u`SQDBN89HE+65o+;6IL4RnkA@y;s(?JNO7kbA3!+>k|Z zCaaWA%E$u~F<@R#PkFl#u0qGi#rEA3}6Udd3!Tidh~|ONA~W zJfP@CwS|wgjlX?8*OT5p2xMagd<&f3hTnIhQDr@KofEbM zbr3Oxl7a)LuhZ{IBbd)`i&I?ux7(tZ!p<$RE9{c;AR6OZiGsN~6de`ARWdYVlVh4) z0YE&z3DfDW>V=0oz$THfo0{al`!EuL9{NVfhROm>0v&-+>5PgBG=0DSY?3={jlIaF zd~)K#&|VRWhsYx7F1hZgBr?Z?hc_jgIwCUzbJ@XQs2HQ+`@U%@ip?9dk> zMjC{yr`Blwy4cjL{o1PE1Xa3cML1Ml2+34g(ICJxlayu=CW)jIc9JH{J;bMegIbIU zNc8IVMO22$ag&P&-B@7FcV}An#et z=@&TB0}Z7uf8vO6qAs9gem_;=nkF4s=F-=OxG}g<&AC2N&ACB19bOV6A3{2A(IDYE zjz#wsKa{0M!3`e7W2q=XkIyn?!Hqap27W)~nPdz70NiU+Jm6M2W21^`?HXnp>7+Ng z8ST>%sefLEL1NasyezT1T)rR4U9XefozMJ^#@dL&CJQnk%v(u#TQOYkFp=}FoMXbPjLj!@Dy3StD<*eWc1rf z@Qae&szr*A+rmBoW-r^rUxg!}LnIWIK|ee7F@(q#1iS|&lYE2Lj^-c>FQl3tW=q#6 zccaXsd9#N<5hV=CKH$yjui~>?b(_}q*O5){I9Wv6fnl`VlO7l>v3J+HvW&^Uql`J6 ztIZD+E5~p7SJ(gIz)s6xHHg5jh}b<=K^M1MQrB_px+YZTMvVoLF_j61XavzNLzeg5y-7%TP*5r;gfx~)$`4SBMy zo8&!w!iG+N{+6dkW!wGmLKY0%uy-wO)c(WF_?y8bf^?cjVT^Rp{qkh%LT3!xb$^!U z;Kp&tK!17d3*6U=dVBm*t4LVBfF9bt_(|{EDJT7#h{4Mi-n;|$lN&Cr6u$P6j&Sjm zlSY!nEK|T9`~nCzPNjVDLv|WC8E&)vCQ#r$&IJRFeeP9IXx4(a;k^E*%}|^%HvoZq z$Vfpojv7Z91{o>OB{^EX2tKWd2qtzAAi_U7A~4Kuq|goeqNzj6#Q0X^h5j ze*nL&4PJsET}tKc|wtEZT2j%w8o&p z){s#Go$^J+{!4AnDm70Jw?@)Ewdop4yeyGC$+@ZotnGNotSgnvmE0)$LJ>q%f*`2C zZ$8hn%dXaUghYtPrnZY=qmZC$5}03Mz&RZBUTKA(xvMKZ#^MA~cJbP({<@5Zu}{&- zHBD=CbA+(LT!4tfMSLc}{h}E`tDm+Os4K|V&t@v0#r>P;#_YDEivpSfhx~TE8u-g| zSSdjvJ-K#{qf?W$c&n7H*^zcgUrX~#jy?nlvcOei+im~Nh609hf;7G_XSr&>T{N*| znHf_uBBDhldKuirn|{MTNuC#L*?oxewf0&9Q5u`428?kaa_R}nq6?amXdtAo3)3O9 z3yKBDX0m}Mw`F)pf~U2_ZY);6&P)&!;75MRO%KZ`q%pPi`+-pW4rVjHNqe=7t)6W= z+{0b9#Nz0Lr>_?XUbVE~o zQkOR_F7cK*T@bI|4{f~cpjv?ob~$-j%J|OJzb0V!h^;;S5YAA02v;Z^#I38$rH8x% z;kj*w9)HSqW^gq@zr0$d#IhTM6ut$K1)eEL)UM~vtW&V`;uE&t&2|ZU6GmeT5cv}^ zM}#`-{3Q2FPJmJ_a@eEClAPBSXH#)`QeUQ}zu?dIrJd^~Do^D)flZqfzeSS4!&tPr z8v|3ns;m0#nTSi{Nz~1NmD$yhSGZbBp*NfWruc&uy0N zP?nT#{bm?+5q9O!DZk)!f;=mfC$dMYB1WvV;bFrkq3e=%e5&^B zVeK_jSyoKw{SROZlXM1geULF}0Nb6D%jmA?v*k}Y9wKchtEpC=g2800S;>JBBWAX_ zC{+o<{T&i@^0EYVe6vK3ep&x;=6{oH1zml#l>@G(IURjDTQ}?x<^5O_Rv{B)p9fE9 ziZm@~(@qk6IG%NB!Qd!mOxhyT;kdouAX&&zNrZn{xgJ!eFET)C;RZK#GZ5G1k`5VM z(J;1_mK%mEk{}kkH6(u&TU)@Uu#>@O9<+I;hV+1;|06B8H;ESBei;wQL^{fyAWvoj!!#6Hd=P{SDYtPHAWZn?ONSu8mAt&6>KuXf zuOhG3f*VM_S0zBlo3}gk`6*Bb7kgc4{D~gqKY?wf1TIHnm1(w#lbi*3AfK;y8(K5FEu5=yu5qjSdB*&>Cp;cq7B!x|HZ3rB{6mXF zcd{kF%i-5#&2RAE3Kt1<>bQrIr2=MAPE-6^4Y6nzshErDZnBKY_wW#SQRdT^A`Fijk$LimjHvuZj@LSyKhI?_=b1B=)7Q4r! zGvgvQZkjXDnYtOC9`&wc`fB zI*sFu2U&(eFNc{LpXKOI@;w7c65x5n*09=Gt$ID{ENx$GtqxekF;iES#(k#@J2Y!| zIL%%-e`7@Ou&aQhij@1We9X|bIV_?5mv!~AI9C&fESRvy3POS#z?Oo^m2fSyUnauMmWOp@Ai`KC%qGy;AV0g%#xe&# zdxBzCE@Utei`f(DRiz=;d4s1B%u<*iHP1A}Jh1bT;D6;3nW?gzdsY3EoEhUOm?C4V zd_jjz(Fxyp#kSx%Dss6ntQx*)G;Z=ETBuSn{{R>~cakn*WTZ8yra#>YMU3oAx9r+Y z4{gui?k1|Xuhvm(Xrq~JJKb`9sj2ev;+o~%+x4p%`vS5ivU8SWShipLVX4*vH67h@ zqWuA=&vae)wu7=?g-qQiEK4Q!rS;IqTS#2G2VG+5%nz9QKs#O2bpA-cxKupmNn|ee zp3qVz521~=T|a=!q}QaSdCv~6=B>QHBQuP#znqGrrzkx*&l58*CcT~JrWd~mid8?c zq$r;ufuTY*a3NDJ9*B{&B>krJ+EU(6;@&f2<4X2n)FKq+TXugKHu_VRf5pUMsi+5| z4R~O9qX?#zY{c$Hct}KH-{>t52Af64jp{gS)Cqz8ZIaW2wC8^%uCL&kGR7Q=s?-?li8v@CLLJB(V^x-qxoa*9;@j& zesX-yDmLZkLdB35F(wI@nv^nO2|VY{ow`fL{JyqA9cv{YI0zEwq?53$)u# zkRzUVnG&G3E2&+qWhG2=6kfZ>!nQ&dsN*aJt3j%y@lX6|l%~R^YINK7H*>K(BB19e zKgf`8yPE1J$WgKQZd%_!k1ibRx0j5Xc{`2pH#0$MqNM2ri;1JNDhs|L+`*6{>?G;a zAtw)r{5osl&}@Q=sq}pNIxqj>JWQ`ET0J>`wN{uc%&2AgV8l3puk=q=Yh~s`&&Xu0 z^?up0os65Sc_?X^QTgz#Xad_Z(f#3>WqF+ln&=3CE^ExQ%i}aPy=Yf8mSG)F#AAT5 z!}AUf3CxmoMsZQYQ5>Sy&EcyQQCPouMWQ(b%F2|6eWe7qI&JIj#EoVTl5x05qx;&D zH4!k)5)>84bQ$g{Ir(h4Rz5|a^Y@*_2WI=xUXGt7@C~HHe;@0Vx<%>oZs<4Wm#-Ae zhaX&rO1YnK6$>$@u6A=wj8yOBO$-)11~xkaEx-;^I?l65YMMa2(v!y42b{v=d@Mdf1OzM6D~~-0`6Q;Ryrx ztez*r@FNU&S7XnLAJuR{oK>m~@5y9c;9p`O>u!Ns_+|CU@nrEYBKXoklldnfLQp13 zg`d9b*0_c#7ODR0>LM9C$3hm(hs*1Drw)E2~K<*~^DMA@8@O3UhUr!5kD2RD6; z71a(9=@#iaq`gRtK1jqlgymtf2KCb+c?r^ClcKXNP0bkc9{`QTQ!G*1$wQUv{(H&B zAl>;2`(o-fucX#t{BLnhnAm04BNEHmD(ymixn(hW@{Cso4k08xU5R3c`6L^QLz;aG zC^1a2?2K%E^s|U_l^D#_`tbb}ixbDLH`)$UZu;6294#SON{pvEk{=_S03&cL05X26 zs54iXSB%0Z`-m zDFeA38f_+*qV$E5r35VYuPjo+V}(pK0&-t}EE+Tn3U~UVW7b-M+w`Qc9~6%o;xR_I zM+g+_I7ZLtw|-KKjT-0r&kz|jWboCdR?eP-aCb+I8juMH&7t|Rhh93kW*B^$3_9)t zCZyohWRGus)?^VJRvE&5#u*2!kPvUenQzDQB@F_23E~!M!VbZ45|)xt#2Qhh5!S!V z_7gxLp5aQTw6twT^WSUGOysd-k`;EKNeDcSQpl6V>XOYNOGt;L7J8X(l}jbSz0wq3dQyjsXo91#l*?pgnOp4^(=KS^ z%4fcC;#1?`^o5d=RmJLo14E$_OXAqAa4PYOG-3PV2S8XZKVq(>fV+jWCU)i2d(EyE zuEsYAw@3C+41F1-s$pdjYR--g8iVGO?w4fsoTP2Ei{7=VxI?ztnJEsZM;kQP>U1Jf zM`MLJDlOACd)fZJFX1*KRl(QO$>kLxsCrxgb@xz_E|XqtRUmD=icM}wZdMkRc!!C3 zAUULzh~5o}9#;^iZ)940p~E3sTj}V)^(2u5OYIS5b_7-rjdY@?p%wLT*p3qjWkrdd zP=`P=U82jfUIB=RW>B)(6-qBsPWIP1Y2LIU6yFP?EU}K|_zYvXJx^XZn^r44a4@7g zC)eMLsIohyM$BLB;nI^>##fvgh(Z$6^+>IHNayXL1M>rlQ{cxKr#BQ`bfnZT2sk)P zQ_>9^4@MJLrtHbg8az+%j3*VjzZT1$M0KHf5YYr|Zbte@#*@T2fiofsLPe`x{+yj@ z%eGrg|Be?EtYM-+(kKWqE4SxU&uRf3^J%fAo~(eK4Is8`ag+x!aM4OgzQuoAo^+8Y z3N-Z?Lkv3@Wv$29cDeDRL$wtBvF3F^)1(S<1WgIr4P&rIM;5)}gS7Wobe8&Zp-UMb z8TC(qvr3af7;o)OZjO3QY!@?i_tf&D**@5{Kem_rPphN+d_Q+4NzM6dI(zpUrwZyf zsJZ1CP+8ppa!cLn-+tZwcdh>M7!zV@?D!}&ZYn4c(Y+FzSv4UEqOa)N1AQc^@4)N5 z#>kY*V}<^NABT8bN^_+FdntP}2GF89osTs{1;QiryZ0yajlU|K2IHsXbCg6_7qQfZ zaR)*S-;-Fj7Se1%h0&tKYA5dOMCjSV|A>d5s0|-J)^a@enbpB*;0mu&GqL5m-ZYTM zUqrN8ab~!X+ztp{f8$+rwr-b=W*O3+bGNuFSv61|X$Z){-H_rLWEFT`ygm+xmcvOc zl`i}zMKr}F3-ErkmM#$lI3hzO>YAmTzmrk3y!PLhiOUXzRu(9nz_+;E4CgVs#|-gI zk!8)xP)u)caq6!yrR=c%T!+F2(Vfzz8xW$M*S1Dj2Igxp4jm|W%24LfH1{aV;Jg!l z04VqEM>-r}>y!eQE@V1ioaU`-!xSbImqUHBiHRdouvCh-VDOGFnQ)l&-HUHE6RYfz zOY4-X?LruJk1BuoLDEKDet#BGM^}qXLoJ&469SlIN>z$jMBh*E?0`3D5PAO|Iz+q!)htBVj!90-?jSpGGYhO8>kLj`&I z`6>fzzRII@3`s+{g(z4MAXe&xPZq}TvalxCegN6`hz#pLV6NfoquGn%GsD7%RdPtsqR47D@a~XO=y&h`7L2tA`OS=M(D-A_sJW8P{0`Jpp5UX|= zxh38y%lx-|LIoeSBr@!Zn|yFWg0;ITY1R(GI7S$Mf|B=jlfa*7l-A#Ej_#8tZ z$*k_`pX2Tr7f;9FC|aS6|J-wgcLt9(M-e>I1#FFjK8FO2XyQ4w@WKi>d%iEQYeYjH zMbRs=WClmgqEk9J_wAt0H2owY+*Fb7q4bYI0F1(Ec z{-TvAkqJA{ukz)d`djtm&Xnrdq17L^Mdk;9xe8p0Oc>~(Z_`Q4y^b;6B2H?W49A1f zaLBT&b&p1PU87auXI%f)j}CMKm*GijAYgr5ri>*gr8A@%Cl`4VcE9}4UZuDNOoN_C zjQsr@X&aXRE~I||h@S3~lJ#6THv;=5mo=rMW!nL$T|DpiC!U+^)-t~piOELYw^Lzn zd>!VL5;iA~J6MwuAolWJd|3?B-FgnVf6o{tDmgi$+mEi%hOxE|o*xC!4u4Km_|+kX zQr3Jc1?@h8s8f9$A3p5t8%ldP^i9P?s+z+r*kJt!1bNwK#uIXv&}d(mvtwF0bop%MFHHNcIa}n%d+Bk)0+v&(A_i(dDdZX+}AFz050S z-#C^r_C-s|@ka@Mzx(4Bo!r5{#|F!$pO>=@V3NG{s>S*xs|;SQU<{XhSC3%#ItqeJ zn?jO7TsBD>Ks0wX5y!Pgj|C+^RJqu&y6bL?*+?!Zv->F{Q`>igiDZb1ITkVq4kfi& z?=kunz8=2vURXF>H%YzS>bEs`RD>svID8pd?-8%ikQo8t3H%NV2{{aHtZ$ZEYj>7g zm%#Wr6DEd%LO}RCTXu#KiK}Tkoh#e8jNOIX!*wHe?iL00%Y>S23kB!a=Per_4jx=F zKFBhtk{uanm#2#3mCx54j3*kv}e4-V$Ob3b@T4AI~+p=Ec zCm5l=+$Hc(?Tv>E|H)d&ko=)tzzscEiXUY*n}f5r7o$Pk5B)3W;_RVNGOX zO5g|$AtK!;_D%Efk_HR@Hq$(Yu2CvD`M2za=u^t@#HVla{omqyeLYY9;#Hbd-dOUe z+Y<%m=^9x7#%-wSGEX?9;ETxIPRz7i<9^Y~PA*kwx%(Q%j7%w>#GLx6*|`z6D9`BwIq&9*Dgn~|yfSV7Ody_K()p7#7oNHKM-5u%?1(ee{s z`I=pNh6#DPt5xA8vh=HDCklr`D>!^L*R8`& zr3(Fx4eF>4Qb}>2N3~O@`S*o^RF<_!EHdU=`4kKrc(YMrl~4Mz5u)v;HbH&UOe&KK zCTmIV9J|MN3bOWcT5}{Zt8cDHqv2KR-*#F^0f9*gkD`N5ft5O6-14kfqb^|j>pG6} z-NvOc<1cwFIWYPQSDePE?=)=uzzYqw?rkx~0_l4^JE^C|&C^TRN<=D}ZM@eiMIk#9_Wd4k8QF}y z+nKvXPP?PQMPl&1br)|`U@e+CNlLm6rpX|z#)!pf#c=j`Gd7T&`Om~mvo{!bwc+<6 zI$I3yhp(h5dMgJ()O#(=;JSRM<@7rK=-R4j;H%&i9A-q86Bz8izlgSo{)Lv^=0vEuz0v>e2&Evxsm5T zrRpcxNECyA#mmgNbrqA(3GmF)blHAR$}8&PrkR--1(s#z{_GWHl*vV_6=<=pWPgWq z6yTO(N)W}j_X2n|RFHxW@yyc~E!SFjdSl@m6Zuabb{&<)PfY$Cvs8@ zBx2bmC?#ED{7hb|Q*hMfGe=Lno2h%K+j6t682e93Gli9k&!Tn9yu#*o86clid3OJ=Ii#IBi)Ex*-nFWG_r!xq}c7Oyb*^x zf6bmhEp~J?->96JRwBcPNnK&+3OiTRNJZ<@u|9ow1T96}&334JRW8agO#XQAc9tso zH#zgRVK11lhS)x|Lj+Hg?s}YqnLkZ%8i9OnH}r3#1D_8y{i_LnVFyY_bIr zE%kD~1o|rt3}ACg0&}V1(X1}-rb-ob*QxA#y01(s7?OT!g4;uxrevUpYQi>qqUO9l zrH;p7dNml$=m*;1#AlHYAbU4=FjBGm>(|TeR_tAUQ3CGn179{J4|NVKcP!`#)6JZ! z+m^s7-R{NFKR3wOpNKOl+VsjXiS!-NB*hZjx%s2>33(4YITtyq>jSCcTfONS8<9EJ z>2>wB+&!Ij#B-9VN;Y|@wjz$4nvk(a#R(b3hiPi^2V&rnivMMtj1y?Ff z@)pwM%#PUxR^Ll4i+a4Swd#9ZPmLpVA@qnY=np4PrLz5l#LL?u zI?0BKFRkGYWd^hkmrE-I5fmpU7bKF$L~!etQLwr=>i6M|pf_FgyKP6rL?DFrhK;Nx z(2%nfHlr0T0bm;b#Jghg<*IJvLI8Y)s!MHVvF9Kni5R;OLvu<;#%0_rg;A?Hcx2v9 ztfXthPC1bE)&ysq>Jwk9;>DnuZ`KrVY5$II&DFd(XXDM|D|#t#XAlPd79^Mz7OhR|3c;XX*2mITp-r z^nU#2C6-DyJeI|_Bi_*3(9jYiEuEmlb%}~uiK{szVdU*JZPDh*qa@gxwL3PD^6XpT z-uy}5Ucx$ECS@ZjL5!#%Gv-Z-BePI3zQXjr$(u9Pnq1|3YnxB$2T++rP5h$nDAcxJtubFN?hrFFT=@R7=ptRUAey!)L zbG+lcSP-=p$+S5uA!il!SM}>nzAEf)nf814lAwea7J;O9?>J#~43$4R`=b1x{4`|= zYq!Z+MTomeMVU)m*Hudb!Nj?!dfkfIbw-{iQz$4_$Tio0_OU87yvyPXi9FrmDf46x2Kk5?a495qBIo<7UV$T;ObVvyXVdKmurmWQ z2TF9d27T_&r99zNR~3d9W@X z3!NcKlGLvV!WC#KTm6-i+YIZyJD-w#F|5T+?=J!Xk_S3(V6d0Dugcj*}7$o;;p zp#)*8fEEZS21&s+v zSN5?lQpR4kuH^Bv`?3ycbtkQUcHSv;FBT2gyY&*Kct?r7bCPRvGZ#iRoaqkzA;aHh z&)T`)<^Mi?7i>Hh!kS%%Bd z7^_QHtu>>ayr@-POITW`atP0O_M@qQk(JjDZQY;`DUqXr;qz07Uj@_%)Dj_`#!C1f;+?~M z7kl$-kLQq-ccSLFK2ux9d22PV@u}$=Lim#e?Va}(9`p& zFxm*l-Jo!X3SIJRQ!Fk&IdB_i63?a2Zs1N+b~BQ;Fx-A;r3>C|Vggm&43V6-P;Se7`{&5p41d)nxKe`u+FEgNFE-~Lfq zQ4_MM$VS40`|Oe}d-sYv!ubX!vdfq85dcXmktqcsN^2vTrLl$H|0TbF*-yVG>n-qd zcE1RVBSmJKpbv4>dqEY^64!~C?a)EWVw-oxqmS}XO->`T#3L{vXfq?q%0E%7t4;Tj zH;|{a(q&4eFoPo5k9}VF5!~;6UlndA$L!Ng-20us_9XE_+hPK2`^ME5y6?Xe*D%9j z;C_Ao1+9Hed>cAklHBd#%l;Ra3C9Yy@rPmej+*|)L2cPcTZ}b5a_puEXX7XbR`lui zzXES`_8bK*lC*lxPZnPXJ#>pQ3Wh30EU4;rk`3H(Ec9=?-}TKt{YekYOnydA*jw3w zFBZ&qV-D3CalFhe7)r_cJ0%P&;CBy?nDg`E{nM^o`3SVR>8G2TaLD~!?n!MVh@Sfa zJ#oaHYBtrS3kLEIxVn^R67n5P8WNY@QlV=OMozf9wXv^gRu45I9%lbW%5iWMhk<}| za8Ncgg_u!F-lVD!6D5P0D-ycdY<;D%;TVq*@3*-%tjo>yq|=~ncFKfmfsTY(lgw8a zH9<0`M?qV%M+VY3>{yuVd$4RH)fHx zk8ryMT=b~fM_tqjtzXqw;zDEC;+*bt5;p(tapmie$BegpCdae8JL%>~Y6sgyY#0uD z-IewZZsmLcNW|F}qVh8`SkdHrxKWXzL&UREDlh7dlAU=%|0iJzp7rxxN#tY@TQB;# zdZ(4vCcgyPy|||G~QG(w65eT zD9I(W(Lk*toSh;h(pJwv(L4olBCPtQ+ggSh@*~4I`ksLPYthBxI{O}GPcdCY*y&mh zk)@DqtRh)Q{%Z}+fB7DtYVL*@L!@xeH0Rqbq1+UfIdkdIR;d|S;yvkz$A5_aCw~uE zLmi`H_T>DBXl<$wCkNb*-nl%C-x}cS@$meP-$gt4-Ys{++Oi}DE2u2PKOmtbg(QAS z$7<)7k@8}au1<(}&mKkiWqcdqxpkYO(C3f7FuEmu?2pc5|+ao1ESUt z?71GZuWRX{*!ee7Ligs`R%aOzBj+2K_4VL#eJRd#sTT};a{4R0J#lGvr&G1Hy41A? zY@6HYibjLgN4FRQpQT|9d+nVQa_gj9UfxNwZ`l&Tyr z{{WNbBQ1=Md8c+s9F|f~V?E`oIeR%uki_||8Rbf-&jX?Q(rpbU&DM>lc!OJ$MbldD zOKH9yb}|Rq2?sbQ zj`U@MjBnXEq};2~S9g5S$!g32i6$8*ws_CmIj%divWr_=t9eBG#?u=goSbx~Em=*i zM2gn;P{BHRpEJ9Um6-M0Q#Hb9(hruITJXdp3-XZdgPMavt4p$Le-YkZw2>4rswxlV z8PDdna{6jwqV~30&P3A^W86D;tWAk+;YCndBeQh7JiDVp2M!1Q;1U=dCal zlb!_v8qTP!%s^EcC(@;{o)_btX?49~N8JlW9G+At$8wcIc|TG~ub=WV%2^vduNz3h zgFFG@Ypb0{<0lOjku0()LJX=w1$_WDw~K;Odp?87@*@?hJxuA=kQRGbJ{o3Frbqw{ zfG{(jxX*g^);Pzb$$2F%*#7{Dj^0_GW{N2OMe|E@Bc3_;=sjw#yC$qWsFpTUl>}oT z;E%mgCU?hob_t`lS2sxLjX_&3bftJ~ z^2RXOao_X$*2`u+a2VrD}2A+a=MCS5}eQ z01Ru%Wx*#o>C|JI%jJi&MUFwfFuB$>>$^zo?Uzo5%W#j&nO6aZ(m3o!IQHvGUP@|_ zalqFs4#&f-7-2lIOCeFX43MM#HP7-UZ1J*7y$;@VQ1>!|{T3BbkETv4cW4$gOJ`-L z>B;4Yx2qrg#xflJdVVTiNixU(|Xv8rIO-O%<;1pc?krUAOn$r zagTpm-jiLJT{F!!IPPSIXrj7zk9JdV{#^I3I?`vTqUy_d5W0{TcF;L<(~iF8r(;b~ zYdo_{qK!O&{HrYPZ(dB z)i8Ht=boSQ{MI`&ZBsQq0Jt-FzfXDRkukYYlls0>gg(Z){7E;JTRD8VC56&GuoGVT zJOU{iR&OpZlaZHUk&fVd@%z-UR6IC!VvMH;83!O5pgdpvQ}LF!p@Rj1)sJ z_2Zx;>}#SKrw;lD7|C*b4~9HtqU-lhV`X&G-9r+)vqj~snd`GBoF3KaW6K%za=6iD zs!wBS8i~vZq>_=edzss>%DqX?rCgd_jw(-}9a~tsw}v$^y_lHo0PSg2N9uMN+KRo& zB=i`iZH|)v07|EaOg5J@+SyrK&KyQ>FC!8(s9WbFJxS;ZILY)FqT(c&Wrv2Wbjz01 zZl#6v>ukwsW>7L)x&2NF>P`Xw0NhEbbh%)gd?KE6DqY-OPT+T*@ss zHg-8JR8W?aJ?+y#uBjT}$tw|r9=}>v1!b|Sf*@ + + + {{ partial "head.html" . }} + + +
+ {{ partial "header.html" . }} +
+
+ {{ block "main" . }}{{ end }} +
+
+ {{ partial "footer.html" . }} +
+ + diff --git a/themes/example-theme/layouts/_default/home.html b/themes/example-theme/layouts/_default/home.html new file mode 100644 index 0000000..0df6597 --- /dev/null +++ b/themes/example-theme/layouts/_default/home.html @@ -0,0 +1,7 @@ +{{ define "main" }} + {{ .Content }} + {{ range site.RegularPages }} +

{{ .LinkTitle }}

+ {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/example-theme/layouts/_default/list.html b/themes/example-theme/layouts/_default/list.html new file mode 100644 index 0000000..50fc92d --- /dev/null +++ b/themes/example-theme/layouts/_default/list.html @@ -0,0 +1,8 @@ +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/example-theme/layouts/_default/single.html b/themes/example-theme/layouts/_default/single.html new file mode 100644 index 0000000..7e286c8 --- /dev/null +++ b/themes/example-theme/layouts/_default/single.html @@ -0,0 +1,10 @@ +{{ define "main" }} +

{{ .Title }}

+ + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ end }} diff --git a/themes/example-theme/layouts/partials/footer.html b/themes/example-theme/layouts/partials/footer.html new file mode 100644 index 0000000..a7cd916 --- /dev/null +++ b/themes/example-theme/layouts/partials/footer.html @@ -0,0 +1 @@ +

Copyright {{ now.Year }}. All rights reserved.

diff --git a/themes/example-theme/layouts/partials/head.html b/themes/example-theme/layouts/partials/head.html new file mode 100644 index 0000000..02c2240 --- /dev/null +++ b/themes/example-theme/layouts/partials/head.html @@ -0,0 +1,5 @@ + + +{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }} +{{ partialCached "head/css.html" . }} +{{ partialCached "head/js.html" . }} diff --git a/themes/example-theme/layouts/partials/head/css.html b/themes/example-theme/layouts/partials/head/css.html new file mode 100644 index 0000000..91b928d --- /dev/null +++ b/themes/example-theme/layouts/partials/head/css.html @@ -0,0 +1,9 @@ +{{- with resources.Get "css/main.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/example-theme/layouts/partials/head/js.html b/themes/example-theme/layouts/partials/head/js.html new file mode 100644 index 0000000..18fe842 --- /dev/null +++ b/themes/example-theme/layouts/partials/head/js.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/main.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/example-theme/layouts/partials/header.html b/themes/example-theme/layouts/partials/header.html new file mode 100644 index 0000000..7980a00 --- /dev/null +++ b/themes/example-theme/layouts/partials/header.html @@ -0,0 +1,2 @@ +

{{ site.Title }}

+{{ partial "menu.html" (dict "menuID" "main" "page" .) }} diff --git a/themes/example-theme/layouts/partials/menu.html b/themes/example-theme/layouts/partials/menu.html new file mode 100644 index 0000000..7183180 --- /dev/null +++ b/themes/example-theme/layouts/partials/menu.html @@ -0,0 +1,51 @@ +{{- /* +Renders a menu for the given menu ID. + +@context {page} page The current page. +@context {string} menuID The menu ID. + +@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $menuID := .menuID }} + +{{- with index site.Menus $menuID }} + +{{- end }} + +{{- define "partials/inline/menu/walk.html" }} + {{- $page := .page }} + {{- range .menuEntries }} + {{- $attrs := dict "href" .URL }} + {{- if $page.IsMenuCurrent .Menu . }} + {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }} + {{- else if $page.HasMenuCurrent .Menu .}} + {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }} + {{- end }} + {{- $name := .Name }} + {{- with .Identifier }} + {{- with T . }} + {{- $name = . }} + {{- end }} + {{- end }} +
  • + {{ $name }} + {{- with .Children }} +
      + {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }} +
    + {{- end }} +
  • + {{- end }} +{{- end }} diff --git a/themes/example-theme/layouts/partials/terms.html b/themes/example-theme/layouts/partials/terms.html new file mode 100644 index 0000000..8a6ebec --- /dev/null +++ b/themes/example-theme/layouts/partials/terms.html @@ -0,0 +1,23 @@ +{{- /* +For a given taxonomy, renders a list of terms assigned to the page. + +@context {page} page The current page. +@context {string} taxonomy The taxonomy. + +@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $taxonomy := .taxonomy }} + +{{- with $page.GetTerms $taxonomy }} + {{- $label := (index . 0).Parent.LinkTitle }} +
    +
    {{ $label }}:
    + +
    +{{- end }} diff --git a/themes/example-theme/static/favicon.ico b/themes/example-theme/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..67f8b777851849527933b78b1f98bd564d8255d1 GIT binary patch literal 15406 zcmeI3%WEH16vro|f`O{FV5Nc>unpZA42Xe(zeP4Fn0Fu>#YKe(c41L;qszMJ-bXDi z>L1W57+rSdLS5OG#!V^IKxvbj6n@gC#QOREdT$vg^US^Tf(#t)%-r+%o^#KA&hHll zeL;V)Z(l$;7%c7yg4co|7#w``eB{|6_?CCW!=`>H2!44k2#&ym2ojIpQ{=j)r>9?; zot^z+et!PXxw*M}BHinq>XMXKboc`~d=&+uPNklCgSOc%pC zkdxhQd};55Lm1#0hSD%6>D`)|ni^JI((I(w8QJADo{YL>VsSr%Ckg*U$-2s8+X=sG z{FIYm*irl0d{!y{D{f@u4p-n@#^$z+5S`e?RJu8p?Lq>0x`@}vIu7kfT z8Od5bMN4D{&~ch_$NgBcM#n%A`@~N^|ABlif3x_ci!t%#JQ&cWarai1&Z6~TkWOa9 zw}_GQ!9UZ~o(wFidYcy6DoF0rq<yz2-5e zTyl`ty!pUE-U+vC*KNN6@vklal>5+`8rxs}uh#LW?(tW105Q;7(Wx&Lm6uJ~)`e`X z^RF;~r?T~jY{_Q$A_iJ-m%jcoHny$5gr&~)r;P=1C}sVP-puv4#i0EM{FfkKed1Em zy4%`}me{Us{}sjpj#~DgVGO#rYen+cu9FI~=yTd>3AzfcLA`SnbFXu|pT#pXGc&>2(2!(N+83v|%y-!B zH|JI#fb9Zw1NxWuxyA*n7Wlp875YYr(Gs{zKTE)l_AX1Q6wmo%>|9k+6aP<2dk>lant}U*_E8rG3D-5uK;;yPx-8W%=Kfda!;c%(fl0 ze&XHrrr^uM0oGf>Z1DFnHhqLl>1%^5TzTuk|3H|*ul4(0o-gE;Z3>^kyq|VB2&R>$ z;3|M)g|TQza{|6pwl*t(FLk^UW^(9F%1?ditXdD)PeI>TZP%AQuxqb<#h1RS^?+T! z8Ck2^t}lCF{~KLC_TZ^~%@^LN9`I|g*;@RHecST~{FkHc(w1kiUj^&=w&0Dy`6E8G zdj4Yla1TF#N4vKWh(zA3A5dm)G|O@NEjS_AkOu zAJA`duQdQy-kiND%)+h<+}gi?*&_V<{_uGJE+68oBmMcH-Rl|t`yCgB%e&5Zsqq=>yyS- z+H#S&ls3nqdmTC0`~O|AJhXPJKi1jW{{U!5hztM# literal 0 HcmV?d00001 diff --git a/themes/example-theme/theme.toml b/themes/example-theme/theme.toml new file mode 100644 index 0000000..3ba3164 --- /dev/null +++ b/themes/example-theme/theme.toml @@ -0,0 +1,31 @@ +name = 'Theme name' +license = 'MIT' +licenselink = 'https://github.com/owner/repo/LICENSE' +description = 'Theme description' + +# The home page of the theme, where the source can be found +homepage = 'https://github.com/owner/repo' + +# If you have a running demo of the theme +demosite = 'https://owner.github.io/repo' + +# Taxonomy terms +tags = ['blog', 'company'] +features = ['some', 'awesome', 'features'] + +# If the theme has multiple authors +authors = [ + {name = 'Name of author', homepage = 'Website of author'}, + {name = 'Name of author', homepage = 'Website of author'} +] + +# If the theme has a single author +[author] + name = 'Your name' + homepage = 'Your website' + +# If porting an existing theme +[original] + author = 'Name of original author' + homepage = 'Website of original author' + repo = 'https://github.com/owner/repo'