diff options
| -rw-r--r-- | haunt/jakob/utils.scm | 14 |
1 files 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 <sup> 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)))))) |