From 254c966d8c809b57e420fdee29876e0439a29a53 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 15 Apr 2023 13:54:53 +0100 Subject: issue: Ignore preformatted blocks. * tissue/issue.scm (file-details): Ignore preformatted blocks. * tests/issue.scm ("Ignore preformatted block"): New test. * issues/ignore-preformatted-blocks-in-gemtext-parser.gmi: Close issue. --- tissue/issue.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tissue') diff --git a/tissue/issue.scm b/tissue/issue.scm index fd4a852..14bd75f 100644 --- a/tissue/issue.scm +++ b/tissue/issue.scm @@ -214,9 +214,15 @@ return #f." (define (file-details port) "Return a hashtable of details extracted from input PORT reading a gemtext file." - (let ((result (make-eq-hashtable))) + (let ((result (make-eq-hashtable)) + (in-preformatted #f)) (port-transduce (tmap (lambda (line) (cond + ;; Toggle preformatted state. + ((string=? "```" line) + (set! in-preformatted (not in-preformatted))) + ;; Ignore preformatted blocks. + (in-preformatted #t) ;; Checkbox lists are tasks. If the ;; checkbox has any character other ;; than space in it, the task is -- cgit v1.2.3