summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2020-01-05 18:49:09 -0500
committerJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2020-01-05 18:49:09 -0500
commit59e8a698bd1b394865b08cd281505876aac42df4 (patch)
tree605411fe34344895e4f2f0963b069dbb0512a29f
parenta70f225d6abda73d07e26d7f9b32a18be4edb1d4 (diff)
Implement `remove-footnote-references' for `first-paragraph'.
-rw-r--r--haunt/jakob/utils.scm14
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))))))