summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--haunt/post.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/haunt/post.scm b/haunt/post.scm
index 2b97629..0a0bb8d 100644
--- a/haunt/post.scm
+++ b/haunt/post.scm
@@ -36,6 +36,7 @@
post-sxml
post-metadata
post-ref
+ post-ref-all
post-slug
%default-date
post-date
@@ -57,6 +58,13 @@
"Return the metadata corresponding to KEY within POST."
(assq-ref (post-metadata post) key))
+(define (post-ref-all post key)
+ "Return a list of all metadata values for KEY within POST."
+ (filter-map (match-lambda
+ ((k . v)
+ (and (eq? key k) v)))
+ (post-metadata post)))
+
(define char-set:slug
(char-set-union char-set:letter+digit (char-set #\-)))