Repository
Current version released
3 years ago
Versions
title: Home nav_order: 1 permalink: /
graffiti
HTML/CSS engine for node.js and deno. No electron, no webkit, no servo, all from scratch.
Work in progress, prev version
- nodejs 15.x, deno 1.8.3 (1.9 is broken)
- CSS, events, (p)react/vue/svelte support
- CLI for running
*.html
files - rendering is broken/low-quality, resize is broken
WebView
is macos only (for now)
Follow me on my twitter for updates.
Usage
# one-shot (takes forever, remote URLs are deno-only)
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://...
Features and limitations
- 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
Dev setup
- 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>