* Bump the cargo-deps group with 36 updates Bumps the cargo-deps group with 36 updates: | Package | From | To | | --- | --- | --- | | [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.63` | `1.0.67` | | [quote](https://github.com/dtolnay/quote) | `1.0.29` | `1.0.33` | | [syn](https://github.com/dtolnay/syn) | `2.0.27` | `2.0.37` | | [rustversion](https://github.com/dtolnay/rustversion) | `1.0.12` | `1.0.14` | | [trybuild](https://github.com/dtolnay/trybuild) | `1.0.80` | `1.0.85` | | [gloo-worker](https://github.com/rustwasm/gloo) | `0.3.0` | `0.4.0` | | [serde](https://github.com/serde-rs/serde) | `1.0.168` | `1.0.188` | | [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.12` | `0.2.15` | | [gloo](https://github.com/rustwasm/gloo) | `0.8.1` | `0.10.0` | | [urlencoding](https://github.com/kornelski/rust_urlencoding) | `2.1.2` | `2.1.3` | | [slab](https://github.com/tokio-rs/slab) | `0.4.8` | `0.4.9` | | [thiserror](https://github.com/dtolnay/thiserror) | `1.0.44` | `1.0.48` | | [implicit-clone](https://github.com/yewstack/implicit-clone) | `0.4.0` | `0.4.1` | | [tokio](https://github.com/tokio-rs/tokio) | `1.29.0` | `1.32.0` | | [jemallocator](https://github.com/tikv/jemallocator) | `0.5.0` | `0.5.4` | | [average](https://github.com/vks/average) | `0.13.1` | `0.14.1` | | [tabled](https://github.com/zhiburt/tabled) | `0.12.2` | `0.14.0` | | [indicatif](https://github.com/console-rs/indicatif) | `0.17.5` | `0.17.6` | | [serde_json](https://github.com/serde-rs/json) | `1.0.104` | `1.0.107` | | [clap](https://github.com/clap-rs/clap) | `4.3.9` | `4.4.4` | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.71` | `1.0.75` | | [chrono](https://github.com/chronotope/chrono) | `0.4.26` | `0.4.31` | | [git2](https://github.com/rust-lang/git2-rs) | `0.17.2` | `0.18.1` | | [regex](https://github.com/rust-lang/regex) | `1.8.4` | `1.9.4` | | [reqwest](https://github.com/seanmonstar/reqwest) | `0.11.18` | `0.11.20` | | [semver](https://github.com/dtolnay/semver) | `1.0.17` | `1.0.18` | | [gloo-net](https://github.com/rustwasm/gloo) | `0.3.0` | `0.4.0` | | [base64](https://github.com/marshallpierce/rust-base64) | `0.21.2` | `0.21.4` | | [strum_macros](https://github.com/Peternator7/strum) | `0.25.0` | `0.25.2` | | [log](https://github.com/rust-lang/log) | `0.4.19` | `0.4.20` | | [fake](https://github.com/cksac/fake-rs) | `2.6.1` | `2.8.0` | | [time](https://github.com/time-rs/time) | `0.3.22` | `0.3.28` | | [uuid](https://github.com/uuid-rs/uuid) | `1.4.0` | `1.4.1` | | [bytes](https://github.com/tokio-rs/bytes) | `1.4.0` | `1.5.0` | | [axum](https://github.com/tokio-rs/axum) | `0.6.18` | `0.6.20` | | [postcard](https://github.com/jamesmunns/postcard) | `1.0.6` | `1.0.7` | Updates `proc-macro2` from 1.0.63 to 1.0.67 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.63...1.0.67) Updates `quote` from 1.0.29 to 1.0.33 - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.29...1.0.33) Updates `syn` from 2.0.27 to 2.0.37 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.27...2.0.37) Updates `rustversion` from 1.0.12 to 1.0.14 - [Release notes](https://github.com/dtolnay/rustversion/releases) - [Commits](https://github.com/dtolnay/rustversion/compare/1.0.12...1.0.14) Updates `trybuild` from 1.0.80 to 1.0.85 - [Release notes](https://github.com/dtolnay/trybuild/releases) - [Commits](https://github.com/dtolnay/trybuild/compare/1.0.80...1.0.85) Updates `gloo-worker` from 0.3.0 to 0.4.0 - [Release notes](https://github.com/rustwasm/gloo/releases) - [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md) - [Commits](https://github.com/rustwasm/gloo/compare/0.3.0...0.4.0) Updates `serde` from 1.0.168 to 1.0.188 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.168...v1.0.188) Updates `prettyplease` from 0.2.12 to 0.2.15 - [Release notes](https://github.com/dtolnay/prettyplease/releases) - [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.12...0.2.15) Updates `gloo` from 0.8.1 to 0.10.0 - [Release notes](https://github.com/rustwasm/gloo/releases) - [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md) - [Commits](https://github.com/rustwasm/gloo/commits) Updates `urlencoding` from 2.1.2 to 2.1.3 - [Commits](https://github.com/kornelski/rust_urlencoding/commits) Updates `slab` from 0.4.8 to 0.4.9 - [Release notes](https://github.com/tokio-rs/slab/releases) - [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/slab/compare/v0.4.8...v0.4.9) Updates `thiserror` from 1.0.44 to 1.0.48 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.44...1.0.48) Updates `implicit-clone` from 0.4.0 to 0.4.1 - [Commits](https://github.com/yewstack/implicit-clone/compare/v0.4.0...v0.4.1) Updates `tokio` from 1.29.0 to 1.32.0 - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.32.0) Updates `jemallocator` from 0.5.0 to 0.5.4 - [Release notes](https://github.com/tikv/jemallocator/releases) - [Changelog](https://github.com/tikv/jemallocator/blob/main/CHANGELOG.md) - [Commits](https://github.com/tikv/jemallocator/compare/0.5.0...0.5.4) Updates `average` from 0.13.1 to 0.14.1 - [Commits](https://github.com/vks/average/commits) Updates `tabled` from 0.12.2 to 0.14.0 - [Changelog](https://github.com/zhiburt/tabled/blob/master/CHANGELOG.md) - [Commits](https://github.com/zhiburt/tabled/commits/v0.14.0) Updates `indicatif` from 0.17.5 to 0.17.6 - [Release notes](https://github.com/console-rs/indicatif/releases) - [Commits](https://github.com/console-rs/indicatif/compare/0.17.5...0.17.6) Updates `serde_json` from 1.0.104 to 1.0.107 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.104...v1.0.107) Updates `clap` from 4.3.9 to 4.4.4 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.3.9...v4.4.4) Updates `anyhow` from 1.0.71 to 1.0.75 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.75) Updates `chrono` from 0.4.26 to 0.4.31 - [Release notes](https://github.com/chronotope/chrono/releases) - [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md) - [Commits](https://github.com/chronotope/chrono/compare/v0.4.26...v0.4.31) Updates `git2` from 0.17.2 to 0.18.1 - [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/git2-rs/compare/0.17.2...git2-0.18.1) Updates `regex` from 1.8.4 to 1.9.4 - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/regex/compare/1.8.4...1.9.4) Updates `reqwest` from 0.11.18 to 0.11.20 - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.18...v0.11.20) Updates `semver` from 1.0.17 to 1.0.18 - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](https://github.com/dtolnay/semver/compare/1.0.17...1.0.18) Updates `gloo-net` from 0.3.0 to 0.4.0 - [Release notes](https://github.com/rustwasm/gloo/releases) - [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md) - [Commits](https://github.com/rustwasm/gloo/compare/0.3.0...0.4.0) Updates `base64` from 0.21.2 to 0.21.4 - [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md) - [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.2...v0.21.4) Updates `strum_macros` from 0.25.0 to 0.25.2 - [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md) - [Commits](https://github.com/Peternator7/strum/commits) Updates `log` from 0.4.19 to 0.4.20 - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/compare/0.4.19...0.4.20) Updates `fake` from 2.6.1 to 2.8.0 - [Commits](https://github.com/cksac/fake-rs/commits) Updates `time` from 0.3.22 to 0.3.28 - [Release notes](https://github.com/time-rs/time/releases) - [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md) - [Commits](https://github.com/time-rs/time/compare/v0.3.22...v0.3.28) Updates `uuid` from 1.4.0 to 1.4.1 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1) Updates `bytes` from 1.4.0 to 1.5.0 - [Release notes](https://github.com/tokio-rs/bytes/releases) - [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/bytes/compare/v1.4.0...v1.5.0) Updates `axum` from 0.6.18 to 0.6.20 - [Release notes](https://github.com/tokio-rs/axum/releases) - [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.6.18...axum-v0.6.20) Updates `postcard` from 1.0.6 to 1.0.7 - [Release notes](https://github.com/jamesmunns/postcard/releases) - [Changelog](https://github.com/jamesmunns/postcard/blob/main/CHANGELOG.md) - [Commits](https://github.com/jamesmunns/postcard/compare/v1.0.6...v1.0.7) --- updated-dependencies: - dependency-name: proc-macro2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: rustversion dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: trybuild dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: gloo-worker dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: prettyplease dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: gloo dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: urlencoding dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: slab dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: implicit-clone dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: jemallocator dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: average dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: tabled dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: indicatif dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: chrono dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: git2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: regex dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: reqwest dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: gloo-net dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: base64 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: strum_macros dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: log dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: fake dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: time dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: uuid dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: bytes dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-deps - dependency-name: axum dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps - dependency-name: postcard dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-deps ... Signed-off-by: dependabot[bot] <support@github.com> * bless stderr files after syn update --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
Router Example
A blog all about yew. The best way to figure out what this example is about is to just open it up. It's mobile friendly too!
Concepts
This example involves many different parts, here are just the Yew specific things:
- Uses
yew-routerto render and switch between multiple pages.
The example automatically adapts to the --public-url value passed to Trunk.
This allows it to be hosted on any path, not just at the root.
For example, our demo is hosted at /router.
This is achieved by adding <base data-trunk-public-url /> to the index.html file.
Trunk rewrites this tag to contain the value passed to --public-url which can then be retrieved at runtime.
Take a look at Route for the implementation.
Improvements
- Use a special image component which shows a progress bar until the image is loaded.
- Scroll back to the top after switching route
- Run content generation in a dedicated web worker
- Use longer Markov chains to achieve more coherent results
- Make images deterministic (the same seed should produce the same images)
- Show posts by the author on their page (this is currently impossible because we need to find post seeds which in turn generate the author's seed)
- Show other posts at the end of a post ("continue reading")
- Home (
/) should include links to the post list and the author introduction - Detect sub-path from
--public-urlvalue passed to Trunk. See: thedodd/trunk#51
Running
Run this application with the trunk development server:
trunk serve --open
Notes
Content generation can take up quite a bit of time in debug builds. If it is too slow, you should try running with the release profile.