all repos — searchix @ 408aed03d3454330120475ca53838a2f4fe28ea3

Search engine for NixOS, nix-darwin, home-manager and NUR users

feat: display results in a table, showing details on click

Alan Pearce
commit

408aed03d3454330120475ca53838a2f4fe28ea3

parent

d40c0e188a7fe1b36887f59c4a9958faa81b3d44

1 file changed, 13 insertions(+), 2 deletions(-)

changed files
M internal/server/templates.gointernal/server/templates.go
@@ -7,6 +7,7 @@ "html/template"
"io/fs" "log/slog" "path" + "regexp" "searchix/frontend" "searchix/internal/config" "searchix/internal/nix"
@@ -19,10 +20,20 @@ )
type TemplateCollection map[string]*template.Template -var md = goldmark.New( - goldmark.WithExtensions(extension.NewLinkify()), +var ( + md = goldmark.New( + goldmark.WithExtensions(extension.NewLinkify()), + ) + firstSentenceRegexp = regexp.MustCompile(`^.*?\.[[:space:]]`) ) var templateFuncs = template.FuncMap{ + "firstSentence": func(input nix.Markdown) nix.Markdown { + if fs := firstSentenceRegexp.FindString(string(input)); fs != "" { + return nix.Markdown(fs) + } + + return input + }, "markdown": func(input nix.Markdown) template.HTML { var out strings.Builder err := md.Convert([]byte(input), &out)