aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2025-10-02 19:58:16 +0200
committerAnhgelus Morhtuuzh <william@herges.fr>2025-10-02 19:58:16 +0200
commit668014f3ee2f6bd60220c04ceb008202d6aa9341 (patch)
treeb067fe27b8a7d20a79be4f97c64c67332e53bf0b /backend
parent94dceb4f7c1740de9215b36ec183f93ca4337ee7 (diff)
feat(backend): parse log entry
Diffstat (limited to 'backend')
-rw-r--r--backend/logs.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/backend/logs.go b/backend/logs.go
index 3b722f1..5a0498f 100644
--- a/backend/logs.go
+++ b/backend/logs.go
@@ -1,6 +1,7 @@
package backend
import (
+ "errors"
"fmt"
"html/template"
"log/slog"
@@ -9,6 +10,7 @@ import (
"path/filepath"
"strings"
+ "git.anhgelus.world/anhgelus/small-world/markdown"
"github.com/go-chi/chi/v5"
)
@@ -93,7 +95,7 @@ func handleLogList(w http.ResponseWriter, r *http.Request) {
func handleLog(w http.ResponseWriter, r *http.Request) {
slug := chi.URLParam(r, "slug")
- _, ok := logs[slug]
+ path, ok := logs[slug]
if !ok {
http.NotFoundHandler().ServeHTTP(w, r)
return
@@ -103,5 +105,17 @@ func handleLog(w http.ResponseWriter, r *http.Request) {
d.Article = true
d.LogTitle = slug
d.title = slug
+ b, err := os.ReadFile(path)
+ if err != nil {
+ panic(err)
+ }
+ d.Content, err = markdown.ParseBytes(b)
+ var errMd *markdown.ParseError
+ errors.As(err, &errMd)
+ if errMd != nil {
+ w.WriteHeader(http.StatusInternalServerError)
+ slog.Error("parsing markdown")
+ fmt.Println(errMd.Pretty())
+ }
d.handleGeneric(w, r, "log", d)
}