mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-14 19:26:56 -04:00
Replace the Trunk post_build hook packaging/web/copy-fonts.sh with `cargo xtask web-fonts` (xtask/src/web_fonts.rs), so the web build only needs trunk, the wasm32 target and cargo, with no POSIX shell, and works the same on Windows. The new task reuses crates/text/build/web_fonts.rs for list parsing and URLs, so build.rs and the copier can't disagree on fonts/<sha16>/<file>. It still does nothing without CRAFT_FONTS_DIR, checks each file's SHA-256 against the manifest, and copies the licence next to each face. A listed face that an older craft-fonts checkout lacks is now skipped with a warning, as build.rs does, instead of failing the build. A relative CRAFT_FONTS_DIR is resolved from the workspace root. Update the references in Trunk.toml, fonts.rs, build.rs, craft_fonts.rs and web-fonts.txt, and document the web build's requirements in docs/development.md. Add tests for the copy, a hash mismatch and the no-op case. Signed-off-by: Ahmed Moussa <[email protected]>
19 lines
539 B
TOML
19 lines
539 B
TOML
# Build with: trunk build --release (from apps/vectorcraft-web)
|
|
[build]
|
|
target = "index.html"
|
|
dist = "../../dist/web"
|
|
public_url = "./"
|
|
filehash = true
|
|
|
|
[serve]
|
|
addresses = ["127.0.0.1"]
|
|
port = 8766
|
|
|
|
# Copy the craft-fonts faces web builds fetch (crates/text/web-fonts.txt) into the site's fonts/
|
|
# folder; a no-op without CRAFT_FONTS_DIR. Runs for `trunk serve` and `trunk build`, through cargo so
|
|
# it needs no shell (xtask/src/web_fonts.rs).
|
|
[[hooks]]
|
|
stage = "post_build"
|
|
command = "cargo"
|
|
command_arguments = ["xtask", "web-fonts"]
|