You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
529 B
Racket
19 lines
529 B
Racket
11 years ago
|
#lang racket/base
|
||
|
(require (prefix-in html: css-tools/html) sugar/define txexpr)
|
||
|
|
||
|
|
||
|
;; initial set of block tags: from html
|
||
|
(define+provide project-block-tags
|
||
|
(make-parameter html:block-tags))
|
||
|
|
||
|
|
||
|
;; tags are inline unless they're registered as block tags.
|
||
|
(define+provide/contract (block-txexpr? x)
|
||
|
(any/c . -> . boolean?)
|
||
|
(and (txexpr? x) (member (get-tag x) (project-block-tags)) #t))
|
||
|
|
||
|
|
||
|
(define+provide/contract (register-block-tag tag)
|
||
|
(txexpr-tag? . -> . void?)
|
||
|
(project-block-tags (cons tag (project-block-tags))))
|