Awesome
Surplus-toys
Surplus-toys makes it super simple to write single-file 'toy' Surplus.js apps: demos, games, experiments, etc.
It's old school webdev: no build tools, just a single HTML file. Hit reload to see changes.
How to use it
- Make a single .html file
- Put your javascript, including Surplus JSX, in a
<script type="text/jsx"></script>
tag in the file. NOTE THE "text/jsx" PART. - At the end of the file, include the surplus-toys script:
<script src="http://unpkg.com/surplus-toys"/>
Surplus-toys will compile your "text/jsx"
code into regular javascript and execute it.
Example
<h1>Hello World with Surplus-toys</h1>
<script type="text/jsx">
var you = S.data("World");
document.body.appendChild(
<div>
Your name: <input type="text" value={you()} onInput={e => you(e.target.value)} />
<br/>
Hello {you()}!
</div>
)
</script>
<script src="http://unpkg.com/surplus-toys"></script>
For more examples, see surplus-demos.
FAQ
Can I use surplus-toys with multi-file apps?
No. This is for demos. If you need multiple files, look into a real build system. Surplus has plugins for all the major ones.
How big apps can I make?
Surplus apps tend to be pretty expressive, i.e. a few lines of code does a lot. For longer examples, see games like the Asteroids demo, which runs to a few hundred lines.
How does it work
Surplus-toys bundles both the surplus runtime and compiler into a single script. Since you tagged your code with "text/jsx" not "text/javascript", the browser didn't run it on initial load. Surplus-toys then finds all such script tags, compiles their contents, and inserts new script tags with the generated javascript.