From d4db97edda778fbf77cedc89f62184f412f18edf Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Sat, 9 May 2020 22:31:30 -0700 Subject: Add get-tags function --- z.scm | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'z.scm') diff --git a/z.scm b/z.scm index 6e8972a..c318d9a 100644 --- a/z.scm +++ b/z.scm @@ -95,7 +95,7 @@ (define (cat-node id) (prn (read-node id))) -;; Indexing +;; Metadata (define (get-title id) (-> id @@ -103,17 +103,21 @@ (re.match "title: ([^\n]*)") (match:substring 1))) -(define (index-titles) - (fold - (lambda (node ls) (acons (get-title node) node ls)) - '() - (list-nodes))) - (define (get-by-title title) (let ([index (index-titles)]) (assoc title index))) -(comment - (define index-tags) - (define index-links) - ) +(define (get-tags id) + (-> id + read-node + (re.match "tags: ([^\n]*)") + (re.group 1) + (string.split #\space))) + +;; Indexing + +(define (index-titles) + (fold + (/. node ls (acons (get-title node) node ls)) + '() + (list-nodes))) -- cgit v1.2.3