* De-servicify router (mostly) Still uses the redraw service, but it no longer has an intermediate service of its own. Also, did a *lot* of test deduplication in this. About 30-40% of the router service tests were already tested on the main router API instance itself. Bundle size decreased from 9560 to 9548 bytes min+gzip. * Merge `m.mount` + `m.redraw`, update router Simplifies the router and redraw mechanism, and makes it much easier to keep predictable. Bundle size down to 9433 bytes min+gzip, docs updated accordingly. * Make `mithril/render` just return the `m.render` function directly. * Deservicify `m.render`, revise `m.route` - You now have to use `mithril/render/render` directly if you want an implicit redraw function. (This will likely be going away in v3.) - Revise `m.route` to only `key` components * Add `redraw` to `m.render`, deservicify requests * Test error logging * Update docs + changelog [skip ci] |
||
|---|---|---|
| .github | ||
| api | ||
| bundler | ||
| docs | ||
| examples | ||
| module | ||
| ospec | ||
| pathname | ||
| performance | ||
| promise | ||
| querystring | ||
| render | ||
| request | ||
| stream | ||
| test-utils | ||
| tests | ||
| .deploy.enc | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc.js | ||
| .gitattributes | ||
| .gitignore | ||
| .npmignore | ||
| .travis.yml | ||
| browser.js | ||
| hyperscript.js | ||
| index.js | ||
| LICENSE | ||
| mithril.js | ||
| mithril.min.js | ||
| mount-redraw.js | ||
| mount.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| redraw.js | ||
| render.js | ||
| request.js | ||
| route.js | ||
| stream.js | ||
mithril.js

What is Mithril?
A modern client-side Javascript framework for building Single Page Applications. It's small (9.31 KB gzipped), fast and provides routing and XHR utilities out of the box.
Mithril is used by companies like Vimeo and Nike, and open source platforms like Lichess 👍.
Mithril supports IE11, Firefox ESR, and the last two versions of Firefox, Edge, Safari, and Chrome. No polyfills required. 👌
Installation
CDN
<script src="https://unpkg.com/mithril@next/mithril.js"></script>
<!-- or -->
<script src="https://cdn.jsdelivr.net/npm/mithril@next/mithril.js"></script>
npm
# For the most recent stable version
$ npm install mithril --save
# For the most recent unstable version
$ npm install mithril@next --save
The "Getting started" guide is a good place to start learning how to use mithril.
Documentation
Documentation lives on mithril.js.org.
You may be interested in the API Docs, a Simple Application, or perhaps some Examples.
Getting Help
Mithril has an active & welcoming community on Gitter, or feel free to ask questions on Stack Overflow using the mithril.js tag.
Contributing
There's a Contributing FAQ on the mithril site that hopefully helps, but if not definitely hop into the Gitter Room and ask away!
Thanks for reading!
🎁