diff options
| author | Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> | 2020-01-05 18:49:09 -0500 |
|---|---|---|
| committer | Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> | 2020-01-05 18:49:09 -0500 |
| commit | 59e8a698bd1b394865b08cd281505876aac42df4 (patch) | |
| tree | 605411fe34344895e4f2f0963b069dbb0512a29f | |
| parent | a70f225d6abda73d07e26d7f9b32a18be4edb1d4 (diff) | |
Implement `remove-footnote-references' for `first-paragraph'.
| -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)))))) |