Need help with graffiti?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

cztomsik
635 Stars 13 Forks MIT License 699 Commits 10 Opened issues

Description

HTML/CSS engine for node.js and deno.

Services available

!
?

Need anything else?

Contributors list

# 353,892
Rust
CSS
588 commits
# 325,652
lsif-en...
Shell
HTML
code-se...
5 commits
# 427,869
PHP
4 commits
# 1,054
Babel
garbage...
type-sy...
Electro...
3 commits

title: Home nav_order: 1

permalink: /

graffiti

HTML/CSS engine for node.js and deno. No electron, no webkit, no servo, all from scratch.

Discord | Quickstart repo


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 

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://... </file.html></file.html>

Features and limitations

  • low memory footprint
  • JS libraries generally work fine (react, vue, svelte, ...)
  •  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

react-calculator

hmr

hackable-tv

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 

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.