@@ -26,10 +26,11 @@ (require (for-syntax racket/base racket/syntax)) (require racket/list racket/function pollen/decode pollen/tag + net/uri-codec txexpr "dust.rkt") (provide html-fn html-fndef) @@ -74,10 +75,11 @@ html-newthought html-smallcaps html-center html-block html-blockcode + html-index html-dialogue html-say html-verse html-link html-url @@ -113,10 +115,16 @@ (define (html-blockcode attrs elems) (define file (or (assoc 'filename attrs) "")) (define codeblock `(pre [[class "code"]] (code ,@elems))) (cond [(string>? file "") `(@ (div [[class "listing-filename"]] 128196 " " ,file) ,codeblock)] [else codeblock])) + +(define (html-index . elems) + `(a [[id ,(here-id (list "_idx-" (uri-encode (car elems))))] + [data-index-entry ,(car elems)] + [class "index-link"]] + ,@(cdr elems))) (define (html-say . elems) `(@ (dt ,(car elems) (span [[class "x"]] ": ")) (dd ,@(cdr elems)))) (define (html-verse attrs elems)