The codebase came from the Yew sample app documentation.
-
Setup GitHub pages
https://github.com/<repository_name>/settings/pages
-
Run trunk build
trunk build --release --public-url <repository_name>/
- Copy contents from
dist
folder todocs
folder
This is a fairly minimal template for a Yew app that's built with Trunk.
For a more thorough explanation of Trunk and its features, please head over to the repository.
If you don't already have it installed, it's time to install Rust: https://www.rust-lang.org/tools/install.
The rest of this guide assumes a typical Rust installation which contains both rustup
and Cargo.
To compile Rust to WASM, we need to have the wasm32-unknown-unknown
target installed.
If you don't already have it, install it with the following command:
rustup target add wasm32-unknown-unknown
Now that we have our basics covered, it's time to install the star of the show: Trunk. Simply run the following command to install it:
cargo install trunk wasm-bindgen-cli
That's it, we're done!
trunk serve
Rebuilds the app whenever a change is detected and runs a local server to host it.
There's also the trunk watch
command which does the same thing but without hosting it.
trunk build --release
This builds the app in release mode similar to cargo build --release
.
You can also pass the --release
flag to trunk serve
if you need to get every last drop of performance.
Unless overwritten, the output will be located in the dist
directory.
There are a few things you have to adjust when adopting this template.
The code in src/main.rs specific to the example is limited to only the view
method.
There is, however, a fair bit of Sass in index.scss you can remove.
Update the name
, version
, description
and repository
fields in the Cargo.toml file.
The index.html file also contains a <title>
tag that needs updating.
Finally, you should update this very README
file to be about your app.