package css-parser

  1. Overview
  2. Docs
A CSS parser written in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

v0.2.3.tar.gz
md5=bb422eaf04d524fda80a5a50ab0466f3

Description

Parses a CSS Level 3 string and produces an AST.

Published: 24 May 2020

README

ocaml-css-parser

A CSS parser written in OCaml.

Parses a CSS string and produces an AST.

Build

npm install -g esy
esy
# to build and run tests
esy dune runtest

Example

let css =
{|
  {
    color: red !important;
    width: 100%;
  }
|} in
  let ast = Css.Parser.parse_stylesheet css in
  (* ast is a value of type Css.Stylesheet.t defined in lib/types.mli *)
  (* that looks like that:
    ([Rule.Style_rule
        {Style_rule.prelude = ([], Location.none);
         block =
           ([Declaration_list.Declaration
               {Declaration.name = ("color", Location.none);
                  value = ([(Component_value.Ident "blue", Location.none)], Location.none);
                  important = (true, Location.none);
                  loc = Location.none;
                 };
               {Declaration.name = ("width", Location.none);
                  value = ([(Component_value.Percentage "100", Location.none)], Location.none);
                  important = (false, Location.none);
                  loc = Location.none;
                };
            ], Location.none);
         loc = Location.none;
        };
     ], Location.none)
  *)

Dependencies (3)

  1. sedlex >= "2.0" & < "2.4"
  2. menhir >= "20200211"
  3. dune >= "2.4"

Dev Dependencies (1)

  1. alcotest with-test

Used by

None

Conflicts

None