From a37c3cd58525be76705ea930551f3935a232790e Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 2 Apr 2016 15:56:19 -0400 Subject: post: Allow dashes in slugs. * haunt/post.scm (char-set:slug): New variable. (post-slug): Use slug char set. --- haunt/post.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/haunt/post.scm b/haunt/post.scm index 47aaa55..90a397c 100644 --- a/haunt/post.scm +++ b/haunt/post.scm @@ -56,10 +56,13 @@ "Return the metadata corresponding to KEY within POST." (assq-ref (post-metadata post) key)) +(define char-set:slug + (char-set-union char-set:letter+digit (char-set #\-))) + (define (post-slug post) "Transform the title of POST into a URL slug." (string-join (map (lambda (s) - (string-filter char-set:letter+digit s)) + (string-filter char-set:slug s)) (string-split (string-downcase (post-ref post 'title)) char-set:whitespace)) "-")) -- cgit v1.2.3