summaryrefslogtreecommitdiff
path: root/tissue
diff options
context:
space:
mode:
authorArun Isaac2023-04-15 13:54:53 +0100
committerArun Isaac2023-04-15 13:54:53 +0100
commit254c966d8c809b57e420fdee29876e0439a29a53 (patch)
tree2bec9c4d2d9f84af30e0701d33257de479143417 /tissue
parentec825e7abc430c2389f9af46cccdfc2be585a90a (diff)
downloadtissue-254c966d8c809b57e420fdee29876e0439a29a53.tar.gz
tissue-254c966d8c809b57e420fdee29876e0439a29a53.tar.lz
tissue-254c966d8c809b57e420fdee29876e0439a29a53.zip
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.
Diffstat (limited to 'tissue')
-rw-r--r--tissue/issue.scm8
1 files changed, 7 insertions, 1 deletions
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