Skip to content

Commit 32c1d63

Browse files
committed
scriblib/footnote: Slight cleanup
1 parent 597ad57 commit 32c1d63

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

scribble-lib/scriblib/footnote.rkt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@
2929

3030
(define note-number (make-parameter #f))
3131

32+
;; TODO: move this utility function somewhere it can be exported from
33+
(define (xexpr-element xexpr)
34+
(make-element (make-style #f (list (xexpr-property xexpr ""))) '()))
35+
3236
(define (note #:number [number (note-number)] . text)
3337
(define (no-number)
3438
(make-element
@@ -42,19 +46,19 @@
4246
number
4347
(let ([nn (note-number)])
4448
(if (integer? nn) nn 1)))]
45-
[f (lambda (s d)
46-
(define a `(a ([name ,(format "~a~a" s n)] [href ,(format "#~a~a" d n)])
47-
[sup () ,(format "~a" n)]))
48-
(make-element (make-style #f (list (xexpr-property a ""))) '()))])
49+
[a (lambda (x y)
50+
(xexpr-element `[a ([name ,(format "__footnote_~a_~a__" x n)]
51+
[href ,(format "#__footnote_~a_~a__" y n)])
52+
[sup () ,(format "~a" n)]]))])
4953
(note-number (+ n 1))
5054
(make-element plain
5155
(list
52-
(f "__footnote_src_" "__footnote_dst_")
56+
(a "source" "target")
5357
(make-element
5458
note-box-style
5559
(make-element note-content-style
5660
(list
57-
(f "__footnote_dst_" "__footnote_src_")
61+
(a "target" "source")
5862
": "
5963
(decode-content text)))))))
6064
(no-number))]

0 commit comments

Comments
 (0)