title | nav_order | permalink |
---|---|---|
Home |
1 |
/ |
HTML/CSS engine for node.js and deno. No electron, no webkit, no servo, all from scratch.
- not production-ready, and it probably doesn't even work currently (ETA Q1/2022)
- DOM is "done" (in a sense of what I wanted to achieve)
WebView
is macos only (for now)- react/preact/vue is working with this
- nodejs bindings are missing, only deno is working currently
- hit-testing is missing (again)
- rendering is broken
- layout is WIP (I am currently replacing yoga with custom impl)
- CSS is working but <style> is currently not respected
# one-shot (takes forever)
npx github:cztomsik/graffiti run <file.html>
# or install locally
npm i github:cztomsik/graffiti
npx graffiti run <file.html>
# or with deno
git clone https://github.com/cztomsik/graffiti
cd graffiti
npm i
deno run -Ar --unstable --no-check lib/cli.js run http://...
- low memory footprint
- JS libraries generally work fine (react, vue, svelte, ...)
<script>
elements are only evaluated during page-load- CSS-in-JS should work fine,
@import
is not supported - flexbox only (block is emulated, inline/float is not supported at all)
- no process isolation so it's unsafe to use it as a browser
- git clone
- have nodejs 15.x
- have rust in
PATH
- (linux-only) have X11 headers
apt install xorg-dev
npm i
npm run build && npm run prepare && node lib/cli.js run <html-file>