This project holds pure Racket implementations of W3C's CSS specifications. It is not complete, but anything that makes it here is useable. Given enough time and attention that I certainly won't have alone, one can piece together a CSS engine from the parts in this repository.
Any non-standard or implementation-specific behaviors are documented in the Scribble manual(s) for each collection.
This project is not endorsed by the W3C.
The code ships as a multi-collection package. Each w3c/css-*
collection corresponds to a W3C specification module for CSS (not to
be confused with Racket modules). The Racket modules inside that
collection may cover more than one level (read: edition) of their
governing specification.
Section references appear near relevant code, so grep -r '4.3.13' css-syntax
will bring up the "Convert a string to a number" algorithm.
This section shows currently available collections, along with the W3C specification and edition date that collection currently tracks. While it is possible for a collection to track more than one level, the latest level has priority for support and development purposes.
w3c/css-syntax
: CSS Syntax Module Level 3 (16 July 2019)
Full compliance with W3C specifications is a big job. If you already have pieces of a CSS engine lying around, consider contributing here to appear in the credits.
If prudent, I may also include dependencies from other projects and reprovide their bindings in the right collections. That would depend on if the license of the outside code is compatible with the license of this repository, and written consent of the author(s). Those authors will also appear in the credits.
- Sage Gerard: Package author,
css-syntax
implementation, docs, and tests.