Commit 8d72a7e

HPCesia <me@hpcesia.com>
2026-02-10 11:06:50
Make slugger's separator configurable
1 parent ccd8a75
Changed files (1)
src
contents
_lib
src/contents/_lib/utils/slugger.typ
@@ -6,23 +6,23 @@
   "[[\p{No}\p{Pe}\p{Pf}\p{Pi}\p{Ps}\p{Po}\p{Pd}\p{S}\p{C}\p{Z}\p{Cn}]--[\p{Alphabetic}\ \-]]",
 )
 
-#let slugify(content) = {
-  lower(to-string(content)).replace(reg, "").replace(" ", "-")
+#let slugify(content, sep: "-") = {
+  lower(to-string(content)).replace(reg, "").replace(" ", sep)
 }
 
-#let slugger(contents, record: (:)) = {
+#let slugger(contents, record: (:), sep: "-") = {
   if type(content) != array {
     contents = (contents,)
   }
   let result = ()
   for content in contents {
-    let original-slug = slugify(content)
+    let original-slug = slugify(content, sep: sep)
     let candidate = original-slug
     while candidate in record {
       let count = record.at(original-slug, default: 0)
       count = count + 1
       record.insert(original-slug, count)
-      candidate = original-slug + "-" + str(count)
+      candidate = original-slug + sep + str(count)
     }
     record.insert(candidate, 0)
     result.push(candidate)