templates/homepage.templ (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | package templates
import (
"go.alanpearce.eu/website/internal/config"
"go.alanpearce.eu/website/internal/content"
)
templ Homepage(config *config.Config, posts []content.Post, content templ.Component) {
@Page(config, PageSettings{
Title: config.Title,
TitleAttrs: templ.Attributes{
"class": "p-name u-url",
},
Path: "/",
BodyAttrs: templ.Attributes{
"class": "h-card",
},
}) {
<div id="content">
@content
</div>
<section>
<h2>Latest Posts</h2>
@list(posts[0:5])
</section>
<section>
<h2>Elsewhere on the Internet</h2>
<ul class="elsewhere">
<li>
<a class="u-email" rel="me" href={ templ.SafeURL("mailto:" + config.Email) }>
{ config.Email }
</a>
</li>
for _, link := range config.Menus["me"] {
<li>
<a class="u-url" rel="me" href={ templ.SafeURL(link.URL.String()) }>{ link.Name }</a>
</li>
}
</ul>
</section>
}
}
|