API Reference press v#0.1.0

Copy Markdown View Source

Modules

Press is a dependency-free, pure-Elixir HTML+CSS to PDF engine.

A parsed @page { ... } rule, as produced by Press.CSS.Parser.parse/1.

Parses a CSS string into {page_rules, style_rules}.

A parsed CSS style rule (selector { declarations }), as produced by Press.CSS.Parser.parse/1.

An HTML element node in the DOM produced by Press.HTML.Parser.

Parses an HTML string into a list of top-level DOM nodes (Press.HTML.Element / Press.HTML.Text).

A text node in the DOM produced by Press.HTML.Parser.

Represents an image decoded and prepared for PDF embedding.

Transforms a styled tree into a positioned geometric box tree.

A positioned geometric box in the layout tree.

A paginated page containing dimensions, margins, and positioned layout boxes.

Builds the styled tree: matches CSS rules against the DOM, resolves the cascade (per property, ordered by origin + specificity + source index), applies inheritance, and resolves units to points — except %, which stays symbolic ({:percent, n}) for Layout to resolve against the actual containing block width it computes. See docs/superpowers/specs/2026-07-24-css-parser-cascade-design.md for the full algorithm.

A styled element node, as produced by Press.Style.Cascade.build/3.

A styled text node, as produced by Press.Style.Cascade.build/3.