about summary refs log tree commit diff stats
path: root/internal/builder
diff options
context:
space:
mode:
authorAlan Pearce2024-06-18 20:19:05 +0200
committerAlan Pearce2024-06-18 20:19:05 +0200
commit1f9f24e2cef08f40fe2597b3644d08b28e31d370 (patch)
treeb5157b49e8777335b54738ceada783450e8570e4 /internal/builder
parentb27c96688785372787eb5c3c71a32767fab71ac4 (diff)
downloadwebsite-1f9f24e2cef08f40fe2597b3644d08b28e31d370.tar.lz
website-1f9f24e2cef08f40fe2597b3644d08b28e31d370.tar.zst
website-1f9f24e2cef08f40fe2597b3644d08b28e31d370.zip
pass rendered html to homepage
Diffstat (limited to 'internal/builder')
-rw-r--r--internal/builder/builder.go10
-rw-r--r--internal/builder/homepage.templ17
2 files changed, 11 insertions, 16 deletions
diff --git a/internal/builder/builder.go b/internal/builder/builder.go
index 141bd6f..b4ade4a 100644
--- a/internal/builder/builder.go
+++ b/internal/builder/builder.go
@@ -206,7 +206,15 @@ func build(outDir string, config config.Config) (*Result, error) {
 	r.Hashes = append(r.Hashes, h)
 
 	log.Debug("rendering homepage")
-	if err := renderToFile(homepage(config, posts), publicDir, "index.html"); err != nil {
+	_, text, err := content.GetPost(path.Join("content", "_index.md"))
+	if err != nil {
+		return nil, err
+	}
+	content, err := content.RenderMarkdown(text)
+	if err != nil {
+		return nil, err
+	}
+	if err := renderToFile(homepage(config, posts, content), publicDir, "index.html"); err != nil {
 		return nil, err
 	}
 	// it would be nice to set LastMod here, but using the latest post
diff --git a/internal/builder/homepage.templ b/internal/builder/homepage.templ
index 1df401b..df5bc32 100644
--- a/internal/builder/homepage.templ
+++ b/internal/builder/homepage.templ
@@ -2,23 +2,10 @@ package builder
 
 import (
 	"website/internal/config"
-	"path"
 	"website/internal/content"
 )
 
-func getContent(filename string) templ.Component {
-	return templ.ComponentFunc(func(ctx context.Context, w io.Writer) error {
-		_, index, err := content.GetPost(path.Join("content", filename))
-		if err != nil {
-			return err
-		}
-		_, err = io.WriteString(w, string(index))
-
-		return err
-	})
-}
-
-templ homepage(config config.Config, posts []content.Post) {
+templ homepage(config config.Config, posts []content.Post, content string) {
 	@page(config, PageSettings{
 		Title: config.Title,
 		TitleAttrs: templ.Attributes{
@@ -30,7 +17,7 @@ templ homepage(config config.Config, posts []content.Post) {
 		},
 	}) {
 		<div id="content">
-			@getContent("_index.md")
+			@Unsafe(content)
 		</div>
 		<section>
 			<h2>Latest Posts</h2>