diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-02 19:58:16 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-02 19:58:16 +0200 |
| commit | 668014f3ee2f6bd60220c04ceb008202d6aa9341 (patch) | |
| tree | b067fe27b8a7d20a79be4f97c64c67332e53bf0b /backend/logs.go | |
| parent | 94dceb4f7c1740de9215b36ec183f93ca4337ee7 (diff) | |
feat(backend): parse log entry
Diffstat (limited to 'backend/logs.go')
| -rw-r--r-- | backend/logs.go | 16 |
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) } |
