VNDB fork of mithril.js
Find a file
impinball 986dde6d5f Merge remote-tracking branch 'upstream/next' into speed, unfix "fixed" version
By "fixed", I mean "screwed up, not at all following the correct version
number, and refusing to ask on Gitter what the correct version really is, and
just assuming the wrong version despite hints all over the source screaming
'THIS IS THE CORRECT VERSION, YOU STUPID IDIOT!!!'".

I feel that should be a relatively accurate explanation of the mistake I made
while working on this patch (the specific commit that introduced it was
squashed in rebasing, and another commit was easier than a revert, since the
one that introduced it also entailed a few other things).
2015-07-23 05:26:31 -04:00
deploy #518 fix package.json file for cdn.js 2015-03-30 14:54:20 -04:00
docs Clean up tests, resolve style differences, reduce upstream diff 2015-07-23 05:25:18 -04:00
tests Merge remote-tracking branch 'upstream/next' into speed, unfix "fixed" version 2015-07-23 05:26:31 -04:00
.editorconfig tweak editorconfig preferences 2015-04-22 21:00:11 -04:00
.gitattributes Avoid EOL diff horror by enforcing CRLF on commit 2015-04-26 12:53:35 +01:00
.gitignore #686 prevent redraw lock on error 2015-06-23 13:43:54 -04:00
.npmignore adds saucelabs integration to unit tests 2014-07-25 11:23:47 -04:00
.travis.yml Updated Travis CI config to run e2e tests 2014-05-28 23:46:09 +03:00
dragdrop.html rework api 2015-04-09 22:44:45 -04:00
Gruntfile.js Merge remote-tracking branch 'upstream/next' into speed, unfix "fixed" version 2015-07-23 05:26:31 -04:00
guide.html rework api 2015-04-09 22:44:45 -04:00
LICENSE Initial commit 2014-03-16 18:59:39 -07:00
mithril.closure-compiler-externs.js externs for closure compiler 2014-07-21 22:48:24 -04:00
mithril.d.ts Strengthen types, describe API in TypeScript file 2015-07-09 09:41:15 -04:00
mithril.js Merge remote-tracking branch 'upstream/next' into speed, unfix "fixed" version 2015-07-23 05:26:31 -04:00
mithril.min.js Merge remote-tracking branch 'upstream/next' into speed, unfix "fixed" version 2015-07-23 05:26:31 -04:00
mithril.min.js.map Merge remote-tracking branch 'upstream/next' into speed, unfix "fixed" version 2015-07-23 05:26:31 -04:00
modulator-test.html Remove trailing whitespace 2015-07-09 03:38:42 -04:00
mvc.html clean up 2015-04-13 08:29:03 -04:00
onerror.html clean up 2015-04-13 08:29:03 -04:00
package.json Clean up tests, resolve style differences, reduce upstream diff 2015-07-23 05:25:18 -04:00
README.md Clean up tests, resolve style differences, reduce upstream diff 2015-07-23 05:25:18 -04:00

JS.ORG Join the chat at https://gitter.im/lhorie/mithril.js Build Status

Mithril

A Javascript Framework for Building Brilliant Applications

See the website for documentation

There's also a blog and a mailing list


What is Mithril?

Mithril is a client-side MVC framework - a tool to organize code in a way that is easy to think about and to maintain.

Light-weight

  • Only 5kb gzipped, no dependencies
  • Small API, small learning curve

Robust

  • Safe-by-default templates
  • Hierarchical MVC via components

Fast

  • Virtual DOM diffing and compilable templates
  • Intelligent auto-redrawing system

Sample code

//namespace
var app = {};

//model
app.PageList = function() {
	return m.request({method: "GET", url: "pages.json"});
};

//controller
app.controller = function() {
	var pages = app.PageList();
	return {
		pages: pages,
		rotate: function() {
			pages().push(pages().shift());
		}
	}
};

//view
app.view = function(ctrl) {
	return [
		ctrl.pages().map(function(page) {
			return m("a", {href: page.url}, page.title);
		}),
		m("button", {onclick: ctrl.rotate}, "Rotate links")
	];
};


//initialize
m.module(document.getElementById("example"), app);

Learn more