about summary refs log tree commit diff stats
path: root/internal/builder/homepage.templ
blob: 848b9ed0329c65110ae6e46b6d93a06c5b7c172e (plain)
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 builder

import (
	"website/internal/config"
	"website/internal/content"
)

templ homepage(config config.Config, posts []content.Post, content string) {
	@page(config, PageSettings{
		Title: config.Title,
		TitleAttrs: templ.Attributes{
			"class": "p-name u-url",
		},
		Path: "/",
		BodyAttrs: templ.Attributes{
			"class": "h-card",
		},
	}) {
		<div id="content">
			@Unsafe(content)
		</div>
		<section>
			<h2>Latest Posts</h2>
			@list(posts[0:3])
		</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>
	}
}