Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dab0mb/eventsheet-wasm
An extensible custom CSS engine that uses WASM
https://github.com/dab0mb/eventsheet-wasm
css html javascript rust wasm
Last synced: about 2 months ago
JSON representation
An extensible custom CSS engine that uses WASM
- Host: GitHub
- URL: https://github.com/dab0mb/eventsheet-wasm
- Owner: DAB0mB
- License: mit
- Created: 2019-07-13T12:55:45.000Z (over 5 years ago)
- Default Branch: wasm
- Last Pushed: 2023-01-04T04:29:56.000Z (about 2 years ago)
- Last Synced: 2025-01-03T15:24:33.426Z (about 2 months ago)
- Topics: css, html, javascript, rust, wasm
- Language: JavaScript
- Homepage:
- Size: 859 KB
- Stars: 25
- Watchers: 3
- Forks: 3
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eventsheet-wasm
An extensible custom CSS engine that implements a parser using Rust / WASM. You can find an in depth explanation about the engine in [this Medium article](https://medium.com/the-guild/i-wrote-a-customizable-css-engine-in-javascript-b1e05c8914fe); however, the article is refers to the [JS version of the engine](https://github.com/DAB0mB/eventsheet-wasm/tree/js), and a Rust / Wasm version of it should be coming soon. The purpose of this project, aside from implementing a useful CSS engine, is to compare Wasm to JS side by side with a relatively similar implementation (See [js branch](https://github.com/DAB0mB/eventsheet-wasm/tree/js)).
## Pre-requisites
Make sure you have [Rust compiler](https://www.rust-lang.org/tools/install) installed along with [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/). More info about the setup can be found [here](https://rustwasm.github.io/book/game-of-life/setup.html).
## Demo
First you need to build the demo:
npm run build-demo
Then you need to create a public server for the generated `bundle` dir:
serve bundle
Navigate to the address shown on screen e.g. `http://192.168.1.128:5000`. Note: DO NOT use localhost otherwise you'll get CORS related error. Copy the contents of `bundle/eventsheet-demo.js` and run it in the browser's dev-console. You should see an interactive button that says "click me" in the middle of the screen.
## License
MIT