No description
Find a file
2025-04-08 15:39:33 +05:30
examples (xxx) add examples + some testing data to run 2024-03-28 11:50:57 +05:30
src fix: treat child combinator as delimiter 2025-04-01 21:56:00 +05:30
testing_data (add) nth parser 2024-05-02 16:47:29 +05:30
tests (add) nth parser 2024-05-02 16:47:29 +05:30
nim.cfg (fix) add deepcopy support on ORC 2024-03-28 11:19:20 +05:30
README.md xxx: update README.md 2025-04-08 15:39:33 +05:30
stylus.nimble bump: 0.1.2 -> 0.1.3 2025-04-08 15:33:06 +05:30

Stylus -- a CSS level 3 parser written in pure Nim

Stylus is mostly a rewrite of rust-cssparser in Nim (for now) and it aims to support the entire CSS3 specification.
The tokenizer and parser are mostly done, but a few functions and missing.

The Parser

The parser is not designed to hand over a proper rule vector to you - you're supposed to build one yourself! The parser simply gives you the tools to gracefully parse a CSS3 stylesheet. This allows for a flexible range of syntax that might not be prescribed in the actual spec.

Users

Stylus is currently used by:

  • ferus, a web engine written in Nim (here)
  • figuro, a UI toolkit for Nim (here)

Have a project that uses Stylus? Let me know!