Static page for publishing the Weavy.ai model catalog on GitHub Pages.
data/models.json– single source of truth for the data, editable through Pull Requests.wasm/table_utils– Rust utilities compiled to WebAssembly (prefix matching and credit parsing).src/– HTML/CSS/JS template for the interface.scripts/build.js– Node script that injects the data and copies assets intodocs/.docs/– build output produced locally or by CI; ignored from version control.
- Edit or add entries in
data/models.jsonfollowing the structure{ "id", "type", "name", "credits", "comment" }. - Keep credit values as strings (numeric conversion happens via WASM).
- Open a Pull Request.
# Compile the WebAssembly module (requires the wasm32-unknown-unknown target)
cargo build --release --target wasm32-unknown-unknown --manifest-path wasm/table_utils/Cargo.toml
# Generate the static output in docs/
npm run buildThe build step injects data into docs/index.html, copies the JS/CSS bundle and .wasm output, and publishes a copy of models.json under docs/data/.
- Workflow:
.github/workflows/deploy.yml. - Triggers: push on
mainor manualworkflow_dispatch. - Steps: checkout → install Rust (with
wasm32-unknown-unknown) → install Node → build the WASM crate fromwasm/table_utils→npm run build→ uploaddocs/as the Pages artifact → deploy viaactions/deploy-pages. - GitHub Pages must be configured to use the GitHub Actions source (Settings → Pages → Build and deployment).
Once configured, each push to main rebuilds the site and publishes it automatically without committing generated files.
- Sorting by clicking each column header.
- Inline prefix filters per column, powered by WebAssembly for case-insensitive matching.
- Light / dark theme toggle persisted locally.
- Language toggle (FR / EN) with live translations.
- Responsive layout showing the total number of entries and the build timestamp.