Reorganize and rewrite examples

This commit is a large-ish scale reorganization of our examples. The
main goal here is to have a dedicated section of the guide for example,
and all examples will be listed there. Each example's `README` is now
just boilerplate pointing at the guide along with a blurb about how to
run it.

Some examples like `math` and `smorgasboard` have been deleted as they
didn't really serve much purpose, and others like `closures` have been
rewritten with `web-sys` instead of hand-bound bindings.

Overall it's hoped that this puts us in a good and consistent state for
our examples, with all of them being described in the guide, excerpts
are in the guide, and they're all relatively idiomatically using
`web-sys`.
This commit is contained in:
Alex Crichton
2018-09-20 16:20:42 -07:00
parent a85e49a2b4
commit 3efe51eb8b
128 changed files with 939 additions and 1304 deletions

View File

@@ -1,14 +1,15 @@
# Web Audio example
# WebAudio
This directory is an example of how to use the Web Audio APIs from Rust. It creates a very simple
FM (frequency modulation) synth, and let's you control the primary frequency, the modulation amount,
and the modulation frequency.
[View documentation for this example online][dox]
To run, first install some utilities via npm:
[dox]: https://rustwasm.github.io/wasm-bindgen/examples/web-audio.html
> npm install
Then build the project with either `build.bat` or `build.sh`.
Finally, run a development web server with `npm run serve` and then open
[http://localhost:8080/](http://localhost:8080/) in a browser!
You can build the example locally with:
```
$ ./build.sh
```
(or running the commands on Windows manually)
and then visiting http://localhost:8080 in a browser should run the example!

View File

@@ -1,2 +0,0 @@
cargo +nightly build --target wasm32-unknown-unknown
cargo +nightly run --manifest-path ../../crates/cli/Cargo.toml --bin wasm-bindgen -- ../../target/wasm32-unknown-unknown/debug/webaudio.wasm --out-dir .

View File

@@ -3,8 +3,6 @@
<meta content="text/html;charset=utf-8" http-equiv="Content-Type"/>
</head>
<body>
<script src='./index.js'></script>
<input id="play" type="button" value="Click me first to turn on audio"/>
(headphone users, please make sure your volume is not too loud!)