// readme

scottyfermo.com

My portfolio site. What it says about the projects lives on the site itself, so this file stays out of that business (and out of the business of going stale).

Stack

  • Dioxus 0.7.10, Rust compiled to WASM, prerendered to static HTML so crawlers and link unfurlers get real markup
  • Shared UI (panels, nav, themes, banners) from orangui, a git dependency pinned in Cargo.lock
  • GitHub Pages on a custom domain, deployed by GitHub Actions on push to main

Build

cargo install dioxus-cli --locked
dx serve                                       # dev server
dx build --release --ssg --force-sequential    # what CI runs

--force-sequential is required: without it the parallel client build finishes last and overwrites the prerendered index.html with a bare shell.

Layout

  • src/data.rs is the content; every project is a const in there, on one of four sections
  • public/ is copied verbatim to the site root, so the OG card, sitemap.xml, and robots.txt keep un-hashed URLs
  • index.html is a custom dx shell, kept only to set lang="en"
  • context/rules/ holds the commit and CIโ€ฆ