Website for the Co-op Cloud
  • Rust 41.4%
  • CSS 32.7%
  • HTML 24.1%
  • JavaScript 1%
  • Makefile 0.8%
Find a file
Emre 450ee475db Port site onto hero_website_lib (Hero Website Framework)
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 path updates; 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.
2026-06-11 17:31:06 +01:00
src Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
static Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
templates Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
.gitignore Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
Cargo.lock Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
Cargo.toml Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
Makefile Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
README.md Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
rust-toolchain.toml Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00
service.toml Port site onto hero_website_lib (Hero Website Framework) 2026-06-11 17:31:06 +01:00

www_cloud_coop

The Co-op Cloud umbrella website (cloud.coop). 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_cloud_coop/
  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=2224)
  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

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:2224
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_cloud_coop/web_public.sock) behind a reverse proxy and is managed by hero_proc via --start / --stop.

Edit content

Edit src/content.rs (the structured page data), and the templates render it. Rebuild to see changes — templates are embedded in the binary.

Pages

  • / Home
  • /ecosystem The six tracks of the ecosystem
  • /governance Governance & Membership
  • /technology Technology (the open stack)
  • /manifesto Manifesto