On this page:
css/ c
css?
xexpr/ c
write-css
create-stylesheet
create-webpage
Version: 5.1

30 XML and CSS

Carl Eastlund <cce@racket-lang.org>

 (require unstable/web)

This library is unstable; compatibility will not be maintained. See Unstable for more information.

This module provides tools for programmatic creation of static web pages. It is based on the XML collection; see documentation for xexpr?.

css/c : flat-contract?
(css? v)  boolean?
  v : any/c
This contract and predicate pair recognizes CSS-expressions, which are described by the following grammar:

  css = (list style ...)
     
  style-def = (cons selector (list property ...))
     
  property = (list name value)
     
  selector = text
     
  name = text
     
  value = text

Here, text is any of the datatypes described in Text Representations.

This flat contract corresponds to xexpr?. It is reprovided from xml. In versions of Racket before the implementation of xexpr/c, this module provides its own definition.

(write-css css [out])  void?
  css : css/c
  out : output-port? = (current-output-port)
This function writes CSS-expressions to output ports by its canonical text representation.

(create-stylesheet file css)  void?
  file : path-string?
  css : css/c
(create-webpage file xexpr)  void?
  file : path-string?
  xexpr : xexpr/c
These functions write style sheets (represented as CSS-expressions) or webpages (represented as X-expressions) to files.