{
  "_id": "6a49e83354b1f994258a9b8b",
  "Package": "cssparser",
  "Type": "Package",
  "Title": "Simple CSS Parser and Tools",
  "Version": "0.1.1",
  "Author": "mikefc",
  "Maintainer": "mikefc <mikefc@coolbutuseless.com>",
  "Description": "Simple CSS parser and tools.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.1.2",
  "URL": "https://github.com/coolbutuseless/cssparser,\nhttps://coolbutuseless.github.io/package/cssparser",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libicu-dev libxml2-dev",
  "Repository": "https://trevorld.r-universe.dev",
  "Date/Publication": "2021-11-02 09:25:55 UTC",
  "RemoteUrl": "https://github.com/coolbutuseless/cssparser",
  "RemoteRef": "HEAD",
  "RemoteSha": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-05 05:10:54 UTC",
    "User": "root"
  },
  "_user": "trevorld",
  "_type": "src",
  "_file": "cssparser_0.1.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/7cba7a8a20a905ba61cd61b632c5baaca6c613cab3634b0d60f498744698386c",
  "_filesize": 638401,
  "_sha256": "7cba7a8a20a905ba61cd61b632c5baaca6c613cab3634b0d60f498744698386c",
  "_expires": "2026-10-13T05:14:25.000Z",
  "_created": "2026-07-05T05:10:54.000Z",
  "_published": "2026-07-05T05:14:27.570Z",
  "_jobs": [
    {
      "job": 85194766021,
      "time": 175,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "8088552223"
    },
    {
      "job": 85194766028,
      "time": 130,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "8088548642"
    },
    {
      "job": 85194766041,
      "time": 69,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "8088543210"
    },
    {
      "job": 85194766019,
      "time": 93,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "8088545282"
    },
    {
      "job": 85194626180,
      "time": 168,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8088536876"
    },
    {
      "job": 85194766035,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8088549001"
    },
    {
      "job": 85194766024,
      "time": 71,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "8088543343"
    },
    {
      "job": 85194766022,
      "time": 75,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "8088543782"
    },
    {
      "job": 85194766027,
      "time": 81,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "8088544316"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428",
  "_status": "success",
  "_upstream": "https://github.com/coolbutuseless/cssparser",
  "_commit": {
    "id": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
    "author": "mike <mikefc@coolbutuseless.com>",
    "committer": "mike <mikefc@coolbutuseless.com>",
    "message": "bump version number in DESCRIPTION\n",
    "time": 1635845155
  },
  "_maintainer": {
    "name": "mikefc",
    "email": "mikefc@coolbutuseless.com",
    "login": "coolbutuseless",
    "description": "Cool, but useless.",
    "uuid": 181818
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "selectr",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "gridtext",
      "role": "Suggests"
    },
    {
      "package": "jpeg",
      "role": "Suggests"
    }
  ],
  "_owner": "coolbutuseless",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 7,
  "_contributors": [
    {
      "user": "coolbutuseless",
      "count": 7,
      "uuid": 181818
    }
  ],
  "_userbio": {
    "uuid": 2433259,
    "type": "user",
    "name": "Trevor L. Davis",
    "followers": 78,
    "description": "Studies electricity markets"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/cssparser"
  },
  "_devurl": "https://github.com/coolbutuseless/cssparser",
  "_pkgdown": "https://coolbutuseless.github.io/package/cssparser",
  "_searchresults": 8,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/cssparser.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "css_apply",
    "css_apply_inline",
    "css_colour_to_hex",
    "css_length_as_pixels",
    "css_merge",
    "css_pretty_print",
    "css_string_as_css_length",
    "css_string_as_pixels",
    "read_css",
    "read_inline_style",
    "style_merge",
    "style_pretty_print"
  ],
  "_datasets": [
    {
      "name": "html4_user_agent_css",
      "title": "HTML4 user-agent css",
      "object": "html4_user_agent_css",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "alpha_mul",
      "title": "Multiply alpha channel by given value",
      "topics": [
        "alpha_mul"
      ]
    },
    {
      "page": "alpha_set",
      "title": "Set alpha channel",
      "topics": [
        "alpha_set"
      ]
    },
    {
      "page": "cat_indent",
      "title": "A version of cat which has an indentation depth",
      "topics": [
        "cat_indent"
      ]
    },
    {
      "page": "css_apply",
      "title": "Create a named list (indexed by 'xpath') of the final computed style for each element",
      "topics": [
        "css_apply"
      ]
    },
    {
      "page": "css_apply_inline",
      "title": "Apply the CSS to the given HTML, storing the result as inline 'style' tags on each element",
      "topics": [
        "css_apply_inline"
      ]
    },
    {
      "page": "css_colour_to_hex",
      "title": "Convert CSS colour to standard hex colour (with alpha0)",
      "topics": [
        "css_colour_to_hex"
      ]
    },
    {
      "page": "css_length",
      "title": "Create a new CSS length object",
      "topics": [
        "css_length"
      ]
    },
    {
      "page": "css_length_as_pixels",
      "title": "Convert a CSS unit into a rough pixel measurement",
      "topics": [
        "css_length_as_pixels"
      ]
    },
    {
      "page": "css_merge",
      "title": "Merge multiple stylesheets given in priority order",
      "topics": [
        "css_merge"
      ]
    },
    {
      "page": "css_merge_core",
      "title": "A CSS-aware version of nested 'modifyList()'",
      "topics": [
        "css_merge_core"
      ]
    },
    {
      "page": "css_pretty_print",
      "title": "Pretty Printing of a CSS stylesheet (as produced by 'read_css()')",
      "topics": [
        "css_pretty_print"
      ]
    },
    {
      "page": "css_string_as_css_length",
      "title": "Convert a string value into a numeric value with a 'unit' attribute (if a unit is present)",
      "topics": [
        "css_string_as_css_length"
      ]
    },
    {
      "page": "css_string_as_pixels",
      "title": "Naively convert a CSS string value (e.g. '\"1em\"') into the number of pixels this represents.",
      "topics": [
        "css_string_as_pixels"
      ]
    },
    {
      "page": "html4_user_agent_css",
      "title": "HTML4 user-agent css",
      "topics": [
        "html4_user_agent_css"
      ]
    },
    {
      "page": "init_stream",
      "title": "A minimal stream object (reminiscent of an R6 class)",
      "topics": [
        "init_stream"
      ]
    },
    {
      "page": "is_char1",
      "title": "Test if string is a single string with something in it",
      "topics": [
        "is_char1"
      ]
    },
    {
      "page": "lex",
      "title": "Break a string into labelled tokens based upon a set of patterns",
      "topics": [
        "lex"
      ]
    },
    {
      "page": "parse_at",
      "title": "Parse a simple \"at' rule from the stream at the current location",
      "topics": [
        "parse_at"
      ]
    },
    {
      "page": "parse_colour_hex",
      "title": "Normalize a hex colour to an 8-char hex",
      "topics": [
        "parse_colour_hex"
      ]
    },
    {
      "page": "parse_colour_hsl_to_hex",
      "title": "Parse a hsl/hsla colour spec to a hex colour",
      "topics": [
        "parse_colour_hsl_to_hex"
      ]
    },
    {
      "page": "parse_colour_rgb_to_hex",
      "title": "Parse an rgb() or rgba() colour spec to a hex colour",
      "topics": [
        "parse_colour_rgb_to_hex"
      ]
    },
    {
      "page": "parse_declaration",
      "title": "Extract a declaration (i.e. a property/value pair) from token stream",
      "topics": [
        "parse_declaration"
      ]
    },
    {
      "page": "parse_nested_at",
      "title": "Parse a 'nested at' rule from the stream at the current location.",
      "topics": [
        "parse_nested_at"
      ]
    },
    {
      "page": "parse_rule",
      "title": "Parse a rule from the stream at the current location",
      "topics": [
        "parse_rule"
      ]
    },
    {
      "page": "parse_rules_from_stream",
      "title": "Parse rules from the stream at the current location",
      "topics": [
        "parse_rules_from_stream"
      ]
    },
    {
      "page": "parse_selectors",
      "title": "Extract selector from CSS tokens stream",
      "topics": [
        "parse_selectors"
      ]
    },
    {
      "page": "print.stream",
      "title": "s3 method fr printing a stream",
      "topics": [
        "print.stream"
      ]
    },
    {
      "page": "read_css",
      "title": "Convert CSS stylesheet from text or a file into a list object",
      "topics": [
        "read_css"
      ]
    },
    {
      "page": "read_inline_style",
      "title": "Parse CSS declaration block (aka inline style) to a named list of CSS declarations",
      "topics": [
        "read_inline_style"
      ]
    },
    {
      "page": "recurse_node_tree",
      "title": "Depth-first recursion into the HTML document node tree to accumulate/cascade styles",
      "topics": [
        "recurse_node_tree"
      ]
    },
    {
      "page": "selector_specificity",
      "title": "Calculate selector specificity",
      "topics": [
        "selector_specificity"
      ]
    },
    {
      "page": "split_font_shorthand",
      "title": "Split font shorthand property into a named list of verbose \"font-*\" properties",
      "topics": [
        "split_font_shorthand"
      ]
    },
    {
      "page": "style_flatten_to_inline",
      "title": "Flatten a style to an inline string",
      "topics": [
        "style_flatten_to_inline"
      ]
    },
    {
      "page": "style_merge",
      "title": "Merge multiple styles for a given element which are given in priority order",
      "topics": [
        "style_merge"
      ]
    },
    {
      "page": "style_pretty_print",
      "title": "Pretty Printing of a single style or declaration block",
      "topics": [
        "style_pretty_print"
      ]
    },
    {
      "page": "trim",
      "title": "Trim the end off a string",
      "topics": [
        "trim"
      ]
    },
    {
      "page": "xml_duplicate",
      "title": "Make a distinct, unlinked, independent copy of an xml node",
      "topics": [
        "xml_duplicate"
      ]
    }
  ],
  "_readme": "https://github.com/coolbutuseless/cssparser/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "R6",
    "rlang",
    "selectr",
    "stringi",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "web-page-render-frames.Rmd",
      "filename": "web-page-render-frames.html",
      "title": "A Toy HTML Layout Engine in R",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction"
      ],
      "created": "2021-09-29 10:44:21",
      "modified": "2021-09-29 11:08:24",
      "commits": 2
    },
    {
      "source": "another-example.Rmd",
      "filename": "another-example.html",
      "title": "Another CSS parsing example",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Read the sample CSS Stylesheet included in the tsuka package"
      ],
      "created": "2021-09-29 10:44:21",
      "modified": "2021-09-29 10:44:21",
      "commits": 1
    },
    {
      "source": "apply-css.Rmd",
      "filename": "apply-css.html",
      "title": "Applying CSS to HTML",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Preamble: Define the CSS and HTML",
        "1. Apply CSS to create list of styles inddexed by each elements xpath",
        "2. Apply CSS to inline style attributes on each element"
      ],
      "created": "2021-09-29 10:44:21",
      "modified": "2021-09-29 10:44:21",
      "commits": 1
    },
    {
      "source": "css-merge.Rmd",
      "filename": "css-merge.html",
      "title": "Merging/Cascading CSS and Individual Styles",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Merging CSS",
        "Merging individual styles"
      ],
      "created": "2021-09-29 10:44:21",
      "modified": "2021-09-29 10:44:21",
      "commits": 1
    },
    {
      "source": "read-css.Rmd",
      "filename": "read-css.html",
      "title": "Reading/Parsing CSS",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Example"
      ],
      "created": "2021-09-29 10:44:21",
      "modified": "2021-09-29 10:44:21",
      "commits": 1
    }
  ],
  "_score": 4.243038048686294,
  "_indexed": false,
  "_nocasepkg": "cssparser",
  "_universes": [
    "trevorld"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-05T05:13:47.000Z",
      "distro": "resolute",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/97111d302cf06192798151f5e37cdc977c6d83a3bed83992c10a4ef5b3eef437",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-05T05:13:03.000Z",
      "distro": "resolute",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/c36b6c53dc5be794a6770ce2d949f3e7e29e9a535f1ce7885fd7c26431f7b6f2",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-07-05T05:12:08.000Z",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/26f6a5c1cdc17eb79d230df1b3ec802b29e410a8bb0503c718b09af927172a79",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-07-05T05:12:27.000Z",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/8b11a55b93d640c7e24b220bdcb8a31e3eb4b16cc34adb347d61cb58b3a22238",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.1",
      "date": "2026-07-05T05:13:24.000Z",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/65d433daca1ff8c90c92df0c96daedb2f41db1e6ecf2bc541d9fd53b6175d7c0",
      "status": "success",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-07-05T05:11:58.000Z",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/80a92b8da3b5b6c24dbc65f0a05bd6afd18f79df3088e8c73596b05559e42a79",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-07-05T05:11:58.000Z",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/c3dea82b7295a42dc24e65ad34856f07359a828aed87d07c6fae824cb2a9bd12",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-07-05T05:12:07.000Z",
      "commit": "a5a3765fd8b058ae82790045b7b2443f5cbf4d8b",
      "fileid": "https://r2.ropensci.org/ae89c203e67c21e3e79e1adf650742eab522b6faa09925efdc896b90d3d1cb4c",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/28730281428"
    }
  ]
}