<!doctype html>
<html>
<head>
<title>moxie, rust UI tools</title>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=1" name="viewport" />
<script src="ofl/reloadOnChanges.js"></script>
<link rel="stylesheet" href="https://unpkg.com/normalize.css@8.0.1/normalize.css">
<link rel="stylesheet" href="https://unpkg.com/purecss@1.0.1/build/pure-min.css"
integrity="sha384-oAOxQR6DkCoMliIh8yFnu25d7Eq/PHS21PClpwjOTeU2jRSq11vu66rf90/cZr47" crossorigin="anonymous">
<link rel="stylesheet" href="index.css">
</head>
<body>
<div class="content">
<header class="header">
<img src="assets/logo.png" alt="moxie logo" height="150" />
<h1>moxie</h1>
<p>a lightweight platform-agnostic declarative UI runtime, written in rust</p>
<p>
<a href="#web">web</a> |
<a href="#xplat">xplat</a> |
<a href="#book">book</a> |
<a href="#repo">repo</a> |
<a href="#related">related</a> |
<a href="#chat">chat</a>
</p>
</header>
<h5 align="middle" id="web">web crates</h5>
<h2>
moxie-dom
<a href="target/doc/moxie_dom/index.html">
<img src="https://img.shields.io/badge/docs-master-steelblue" alt="moxie-dom master branch docs badge"
align="right" />
</a>
<a href="https://docs.rs/moxie-dom">
<img src="https://docs.rs/moxie-dom/badge.svg" alt="moxie-dom docs badge" align="right" />
</a>
<a href="https://crates.io/crates/moxie-dom">
<img src="https://img.shields.io/crates/v/moxie-dom?color=steelblue" alt="moxie-dom version badge"
align="right" />
</a>
</h2>
<p>
a WebAssembly-based library for describing the web's DOM using moxie
</p>
<h3>(toy) examples</h3>
<ul>
<li><a href="dom/examples/hacking/index.html">DOM hacking</a></li>
<li><a href="dom/examples/todo/index.html">TodoMVC</a></li>
<li>
<a href="https://github.com/anp/moxie/blob/master/dom/examples/ssr">
server-side rendering
</a>
</li>
</ul>
<h2>
augdom
<a href="target/doc/augdom/index.html">
<img src="https://img.shields.io/badge/docs-master-steelblue" alt="augdom master branch docs badge"
align="right" />
</a>
<a href="https://docs.rs/augdom">
<img src="https://docs.rs/augdom/badge.svg" alt="augdom docs badge" align="right" />
</a>
<a href="https://crates.io/crates/augdom">
<img src="https://img.shields.io/crates/v/augdom?color=steelblue" alt="augdom version badge"
align="right" />
</a>
</h2>
<p>
provides an "augmented DOM" implementation that can run almost anywhere Rust can.
compiles as either a thin wrapper around web-sys or a DOM emulation layer written in
pure Rust which can be used for testing or to render HTML strings.
</p>
<h2>
raf
<a href="target/doc/raf/index.html">
<img src="https://img.shields.io/badge/docs-master-steelblue" alt="raf master branch docs badge"
align="right" />
</a>
<a href="https://docs.rs/raf">
<img src="https://docs.rs/raf/badge.svg" alt="raf docs badge" align="right" />
</a>
<a href="https://crates.io/crates/raf">
<img src="https://img.shields.io/crates/v/raf?color=steelblue" alt="raf version badge" align="right" />
</a>
</h2>
<p>
runs an event loop in the browser using requestAnimationFrame
</p>
<h5 align="middle" id="xplat">platform-agnostic crates</h5>
<h2>
moxie
<a href="target/doc/moxie/index.html">
<img src="https://img.shields.io/badge/docs-master-steelblue" alt="moxie master branch docs badge"
align="right" />
</a>
<a href="https://docs.rs/moxie">
<img src="https://docs.rs/moxie/badge.svg" alt="moxie docs badge" align="right" />
</a>
<a href="https://crates.io/crates/moxie">
<img src="https://img.shields.io/crates/v/moxie?color=steelblue" alt="moxie version badge"
align="right" />
</a>
</h2>
<p>
offers memoization and runtime-coordinated mutable state for presenting interactive
interfaces. no platform framework dependencies.
</p>
<p>
includes the <code>mox!</code> macro, a Mockery Of XML. express nested function calls
and builder instantiation using XML-lite syntax
</p>
<h2>
topo
<a href="target/doc/topo/index.html">
<img src="https://img.shields.io/badge/docs-master-steelblue" alt="topo master branch docs badge"
align="right" />
</a>
<a href="https://docs.rs/topo">
<img src="https://docs.rs/topo/badge.svg" alt="topo docs badge" align="right" />
</a>
<a href="https://crates.io/crates/topo">
<img src="https://img.shields.io/crates/v/topo?color=steelblue" alt="topo version badge"
align="right" />
</a>
</h2>
<p>
create trees of stable identifiers for repeated nested function invocations. allows
later calls to "rendezvous" with the results of previous calls at the same location in
the tree.
</p>
<h2>
illicit
<a href="target/doc/illicit/index.html">
<img src="https://img.shields.io/badge/docs-master-steelblue" alt="illicit master branch docs badge"
align="right" />
</a>
<a href="https://docs.rs/illicit">
<img src="https://docs.rs/illicit/badge.svg" alt="illicit docs badge" align="right" />
</a>
<a href="https://crates.io/crates/illicit">
<img src="https://img.shields.io/crates/v/illicit?color=steelblue" alt="illicit version badge"
align="right" />
</a>
</h2>
<p>type-indexed scoped-singletons, implicitly propagated as nested environments</p>
<hr />
<h2 id="book">book</h2>
<p>
the <strong><a href="book/pkg/index.html">book</a></strong> covers project values,
general concepts, information for contributors, etc.
</p>
<p>it's a work in progress and very incomplete today.</p>
<h2 id="repo">
repository
<img src="https://img.shields.io/crates/l/moxie?color=steelblue" alt="license badge" />
</h2>
<p>
the project is <a href="https://github.com/anp/moxie">hosted on github</a>. both the
repo and the project chat (below) are covered by an actively enforced
<a href="https://github.com/anp/moxie/blob/master/CODE_OF_CONDUCT.md">code of
conduct.</a>
</p>
<h2 id="related">related projects</h2>
<h3><a href="https://github.com/tiffany352/moxie-native">moxie-native</a></h3>
<p>
from the repo: "Warning: This is a work in progress and not yet usable for nontrivial
applications."</p>
<p>
a "webrender-based UI framework with a moxie frontend" which features a "relatively
small footprint" and is "targeted towards real world desktop applications."
</p>
<h2 id="chat">chat</h2>
<iframe src="https://discordapp.com/widget?id=590930607396093971&theme=dark" width="350" height="500"
allowtransparency="true" frameborder="0">
</iframe>
</div>
</body>
</html>