From 189ebeefde074ecacbc7efeb61b1764546cff6e6 Mon Sep 17 00:00:00 2001 From: orangix Date: Mon, 19 Jan 2026 17:08:15 +0100 Subject: [PATCH] add noteq --- render/helpers.go | 17 +++++++++++++++++ render/render.go | 3 +-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 render/helpers.go diff --git a/render/helpers.go b/render/helpers.go new file mode 100644 index 0000000..a752ae3 --- /dev/null +++ b/render/helpers.go @@ -0,0 +1,17 @@ +package render + +import "github.com/mailgun/raymond/v2" + +func (r *renderer) registerHelpers() { + funcmap := map[string]any{ + "noteq": noteq, + } + raymond.RegisterHelpers(funcmap) +} + +func noteq(a, b any, options *raymond.Options) any { + if raymond.Str(a) != raymond.Str(b) { + return options.Fn() + } + return "" +} diff --git a/render/render.go b/render/render.go index d62e32a..7befcde 100644 --- a/render/render.go +++ b/render/render.go @@ -20,7 +20,6 @@ func Render(out io.Writer, name string, bind map[string]any) error { type renderer struct { templates map[string]*raymond.Template - funcmap map[string]any } const ext = ".hbs" @@ -28,7 +27,7 @@ const ext = ".hbs" func Initialize(views fs.FS) { r := new(renderer) r.templates = make(map[string]*raymond.Template) - raymond.RegisterHelpers(r.funcmap) + r.registerHelpers() fs.WalkDir(views, "/", func(path string, d fs.DirEntry, err error) error { if err != nil || d.IsDir() { return err