Module: LightningcssRb
- Defined in:
- lib/lightningcss_rb.rb,
lib/lightningcss_rb/ast.rb,
lib/lightningcss_rb/error.rb,
lib/lightningcss_rb/version.rb,
lib/lightningcss_rb/ast/selectors.rb,
lib/lightningcss_rb/unknown_error.rb,
lib/lightningcss_rb/ast/selectors/id.rb,
lib/lightningcss_rb/ast/selectors/base.rb,
lib/lightningcss_rb/ast/selectors/nesting.rb,
lib/lightningcss_rb/ast/selectors/attribute.rb,
lib/lightningcss_rb/ast/selectors/namespace.rb,
lib/lightningcss_rb/ast/selectors/universal.rb,
lib/lightningcss_rb/ast/selectors/combinator.rb,
lib/lightningcss_rb/ast/selectors/pseudo_class.rb,
lib/lightningcss_rb/ast/selectors/type_selector.rb,
lib/lightningcss_rb/ast/selectors/class_selector.rb,
lib/lightningcss_rb/ast/selectors/pseudo_element.rb
Overview
Ruby bindings for the LightningCSS parser, transformer, and minifier.
The native extension exposes the underlying LightningCSS AST as JSON; the methods here wrap those primitives with a friendlier Ruby interface.
Defined Under Namespace
Classes: AST, UnknownError
Constant Summary collapse
- Error =
Class.new(StandardError)
- VERSION =
"0.0.1"
Class Method Summary collapse
-
.minify(css) ⇒ String
Parse, optimize, and minify CSS.
-
.parse(css) ⇒ Hash
Parse CSS into the LightningCSS AST as a Ruby Hash (with symbol keys).
-
.to_css(ast, minify: false) ⇒ String
Serialize an AST (as returned by LightningcssRb.parse) back to CSS.
-
.transform(css, minify: true) ⇒ String
Parse, optimize, and re-print CSS in one step.
Class Method Details
.minify(css) ⇒ String
Parse, optimize, and minify CSS. Shorthand for ‘transform(css, minify: true)`.
62 63 64 |
# File 'lib/lightningcss_rb.rb', line 62 def minify(css) _transform(css, true) end |
.parse(css) ⇒ Hash
Parse CSS into the LightningCSS AST as a Ruby Hash (with symbol keys).
32 33 34 |
# File 'lib/lightningcss_rb.rb', line 32 def parse(css) JSON.parse(_parse(css), symbolize_names: true) end |
.to_css(ast, minify: false) ⇒ String
Serialize an AST (as returned by parse) back to CSS.
42 43 44 45 |
# File 'lib/lightningcss_rb.rb', line 42 def to_css(ast, minify: false) json = ast.is_a?(String) ? ast : JSON.generate(ast) _to_css(json, minify) end |
.transform(css, minify: true) ⇒ String
Parse, optimize, and re-print CSS in one step.
53 54 55 |
# File 'lib/lightningcss_rb.rb', line 53 def transform(css, minify: true) _transform(css, minify) end |