HTML Infinite Mario with Blockly scripting.
I built this for use in a live "learning to program" environment, so I didn't need to document it well. I've had other priorities since then ... Sorry about that.
To get started, I'd actually recommend the tutorials that come with Blockly itself. Even basic Mario is fairly complicated.
When ready, look in the examples directly, and try out Jump.blockly first. Working through this from scratch requires logic and self-inspection. That is, "When I make Mario jump repeatedly, what process am I using?" It's more complicated than you might think at first.
To open files, look in the upper right corner. Sometimes when opening files, until you click or do stuff in the blocks view, you can't see what just got opened. Guess I should file a bug.
More sophisticated control gets tricky fast. Before long, I found Blockly was not ideal for serious programming, but it's still fun for getting started. Code some machine learning for bonus points. (Heh heh.)
I don't yet have sensory blocks for seeing the map, so the best you can do is wander. Well, I guess if you are tricky, you might be able to remember where you've been and so on, but that's probably more trouble than it's worth.
While only the minified scripts and core media are used, this is designed to be easy to run with sibling project dirs for "blockly" and (my modified version of) "mariohtml5".
Oh, and of course thanks to the Blockly, Infinite Mario, and mariohtml5 folks ... and Nintendo, too.