Use Riot with abstract-state-router!
Warning: Muut has on several occasions broken backwards compatibility in the Riot API without bumping major or even minor version numbers. If you get weird errors, make sure you're on at least 2.0.15. If you are getting errors on a version greater than 2.0.15 please open an issue or pull request.
npm + your favorite CommonJS bundler is easiest.
npm install riot-state-renderer
You can also download the stand-alone build from wzrd.in. If you include it in a <script>
tag, a riotStateRenderer
function will be available on the global scope.
var StateRouter = require('abstract-state-router')
var riotRenderer = require('riot-state-renderer')()
var domready = require('domready')
var stateRouter = StateRouter(riotRenderer, 'body')
// add whatever states to the state router
domready(function() {
stateRouter.evaluateCurrentRoute('login')
})
options
is an object that is passed into riot.mount as the default opts object.
var StateRouter = require('abstract-state-router')
var riotRenderer = require('riot-state-renderer')
var renderer = riotRenderer({
hello: 'world'
})
var stateRouter = StateRouter(renderer, 'body')
All templates must be created as custom tags manually (or automatically with something like riotify).
When you add a state to the state router, pass in the tag name as the "template".
For details on setting up states themselves, see the abstract-state-router.