From 59e8a698bd1b394865b08cd281505876aac42df4 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Sun, 5 Jan 2020 18:49:09 -0500 Subject: Implement `remove-footnote-references' for `first-paragraph'. --- haunt/jakob/utils.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/haunt/jakob/utils.scm b/haunt/jakob/utils.scm index 33f8f93..2036503 100644 --- a/haunt/jakob/utils.scm +++ b/haunt/jakob/utils.scm @@ -47,13 +47,23 @@ is of an odd length and every second element is DELIM." delim (intersperse (cdr lst) delim)))) +(define (remove-footnote-references content) + "Remove any elements from CONTENT." + (map (lambda (elt) + (if (list? elt) + (remove-footnote-references elt) + elt)) + (remove (lambda (elt) + (and (list? elt) (eq? 'sup (car elt)))) + content))) + (define (first-paragraph post) (let loop ((sxml (post-sxml post)) (result '())) (match sxml - (() (reverse result)) + (() (remove-footnote-references (reverse result))) ((or (('p ...) _ ...) (paragraph _ ...)) - (reverse (cons paragraph result))) + (remove-footnote-references (reverse (cons paragraph result)))) ((head . tail) (loop tail (cons head result)))))) -- cgit v1.3