about summary refs log tree commit diff stats
path: root/internal/components/markdown.go
diff options
context:
space:
mode:
authorAlan Pearce2025-03-18 22:40:46 +0100
committerAlan Pearce2025-03-19 17:33:58 +0100
commit896d844cac976afd0ee8aa73dd2fb28e15e7ac79 (patch)
treecc8d288d0039cb3d2084f43cafe8d4e0aea50e8b /internal/components/markdown.go
parent1183108baa44fde88944e9207fb7763668c2b448 (diff)
downloadsearchix-896d844cac976afd0ee8aa73dd2fb28e15e7ac79.tar.lz
searchix-896d844cac976afd0ee8aa73dd2fb28e15e7ac79.tar.zst
searchix-896d844cac976afd0ee8aa73dd2fb28e15e7ac79.zip
feat: Convert templ components to gomponents
Diffstat (limited to 'internal/components/markdown.go')
-rw-r--r--internal/components/markdown.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/components/markdown.go b/internal/components/markdown.go
new file mode 100644
index 0000000..405ab52
--- /dev/null
+++ b/internal/components/markdown.go
@@ -0,0 +1,15 @@
+package components
+
+import (
+	"regexp"
+)
+
+var firstSentenceRegexp = regexp.MustCompile(`^.*?\.[[:space:]]`)
+
+func firstSentence[T ~string](text T) T {
+	if fs := firstSentenceRegexp.FindString(string(text)); fs != "" {
+		return T(fs)
+	}
+
+	return text
+}