about summary refs log tree commit diff stats
path: root/internal/builder/list.templ
diff options
context:
space:
mode:
Diffstat (limited to 'internal/builder/list.templ')
-rw-r--r--internal/builder/list.templ48
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/builder/list.templ b/internal/builder/list.templ
new file mode 100644
index 0000000..48563ed
--- /dev/null
+++ b/internal/builder/list.templ
@@ -0,0 +1,48 @@
+package builder
+
+import "website/internal/config"
+
+templ tagPage(config config.Config, tag string, posts []Post, path string) {
+	@page(config, PageSettings{
+		Title: tag,
+		Path:  path,
+		TitleAttrs: templ.Attributes{
+			"class": "p-author h-card",
+			"rel":   "author",
+		},
+	}) {
+		<div class="filter">
+			<h3 class="filter">#{ tag }</h3>
+			<small>
+				<a href="../">Remove filter</a>
+			</small>
+		</div>
+		@list(posts)
+	}
+}
+
+templ listPage(config config.Config, posts []Post, path string) {
+	@page(config, PageSettings{
+		Title: config.Title,
+		TitleAttrs: templ.Attributes{
+			"class": "p-author h-card",
+			"rel":   "author",
+		},
+		Path: path,
+	}) {
+		@list(posts)
+	}
+}
+
+templ list(posts []Post) {
+	<ul class="h-feed">
+		for _, post := range posts {
+			<li class="h-entry">
+				<span>
+					@postDate(post.Date)
+				</span>
+				<a class="p-name u-url" href={ templ.SafeURL(post.URL) }>{ post.Title }</a>
+			</li>
+		}
+	</ul>
+}