From 9775c27bbdaade9b4de311959ff70fa189999f02 Mon Sep 17 00:00:00 2001 From: Kristian Borgwarth <10348902@pm.me> Date: Fri, 3 Apr 2026 02:40:34 +0200 Subject: [PATCH] fix(template): fail on invalid template path --- core/handlers/create_note_handler.go | 4 +++- core/template/templater.go | 23 ++++++++++------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/core/handlers/create_note_handler.go b/core/handlers/create_note_handler.go index 5509d11..5869070 100644 --- a/core/handlers/create_note_handler.go +++ b/core/handlers/create_note_handler.go @@ -30,7 +30,9 @@ func (h *CreateNoteHandler) Handle(ctx context.Context, raw json.RawMessage) (an return nil, err } - data, err := template.RenderTemplate(cmd.TemplatePath, cmd.Title) + slug := frontmatter.Slugify(cmd.Title) + + data, err := template.RenderTemplate(cmd.TemplatePath, cmd.Title, slug) if err != nil { return nil, err } diff --git a/core/template/templater.go b/core/template/templater.go index 443f5aa..75eb301 100644 --- a/core/template/templater.go +++ b/core/template/templater.go @@ -1,11 +1,3 @@ -package templatepackage template - -import ( - "os" - "strings" - "time" -) - package template import ( @@ -15,7 +7,7 @@ import ( ) func RenderTemplate(templatePath string, title string, slug string) ([]byte, error) { - tmpl, err := readTemplate(templatePath, title) + template, err := readTemplate(templatePath, title) if err != nil { return nil, err } @@ -26,17 +18,22 @@ func RenderTemplate(templatePath string, title string, slug string) ([]byte, err "{{slug}}", slug, ) - return []byte(r.Replace(string(tmpl))), nil + return []byte(r.Replace(string(template))), nil } func readTemplate(templatePath string, title string) ([]byte, error) { - if _, err := os.Stat(templatePath); os.IsNotExist(err) { + if templatePath == "" { return createDefaultTemplate(title), nil } - return os.ReadFile(templatePath) + + template, err := os.ReadFile(templatePath) + if err != nil { + return nil, err + } + + return template, nil } func createDefaultTemplate(title string) []byte { return []byte("---\ntitle: " + title + "\ndate: " + time.Now().Format("2006-01-02") + "\n---\n") } -