- Rust 41.8%
- HTML 31.9%
- CSS 22.8%
- JavaScript 2.6%
- Makefile 0.9%
Replace the hand-rolled axum/tera server with the framework's DefaultAppState + run_website wiring (main branch of hero_website_framework). Templates, static assets, and content.rs are unchanged apart from /assets -> /static paths in base.html; handlers keep injecting the same `site`/`page` objects so the existing templates render identically. visitor_gate_middleware is deliberately omitted to keep the marketing site public. README updated for the framework setup. |
||
|---|---|---|
| src | ||
| static | ||
| templates | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Makefile | ||
| README.md | ||
| rust-toolchain.toml | ||
| service.toml | ||
www_marketplace
Naming:
www_marketplaceis the repository's working name and Slice (slice.coop) is the working brand name. Both are placeholders — if the team picks different names, swap the brand insrc/content.rsandtemplates/, and rename the repo as needed.
The capacity marketplace and revenue engine of the Co-op Cloud ecosystem. Built
on the Hero Website Framework (hero_website_lib): the library provides the
framework routes (admin, auth, blog, API) and request middleware, while this
repo supplies the site-specific content, templates, static assets, and page
handlers.
Project structure (the key elements)
www_marketplace/
Cargo.toml # Rust project config (depends on hero_website_lib)
service.toml # hero service manifest (binary + Unix socket)
Makefile # make run / make dev (defaults to PORT=2225)
src/
main.rs # wires hero_website_lib: state, router, middleware
handlers.rs # site-specific page handlers (one per route)
content.rs # structured page data
templates/ # website UI templates (Tera, base layout + pages)
static/ # css, js, images (dark mode toggle ships in js)
The admin panel, user auth, blog, and visitor analytics are provided out of the
box by hero_website_lib (pulled as a git dependency from Forge); the admin
panel lives at /admin. This repo only adds the site-specific pages. Templates
and static/ assets are embedded into the binary at build time, so changing
them requires a rebuild.
Run
make run # http://localhost:2225
make run PORT=2300 # override the port
make dev # debug build, faster to compile
The --port listener is for local development only. In production the binary
binds a Unix socket (website_marketplace/web_public.sock) behind a reverse
proxy and is managed by hero_proc via --start / --stop.
Pages
/Home/products/gpuGPU Slices/products/computeCompute Slices/products/storageStorage/products/ai-boxAI Box/products/inferenceInference, coming soon/pricingPricing/businessFor Business/docsGet started (outline)
Notes (do not publish without confirming)
All prices and specs in content.rs are illustrative placeholders. Confirm
live prices, regions, and the sustainability claim before publishing. Dark mode
ships by default; settlement runs on SPORE under the hood but is never surfaced
to buyers (prices show in EUR and USD).