feature/site-scaffold
build / build (push) Successful in 3s
williammiceli.me
Single-page contact and links site. Hugo renders one page from data/profile.yaml; Sveltia CMS at /admin/ edits that file through Gitea.
Structure
hugo.yaml— site configuration.content/_index.md— page title and meta description.data/profile.yaml— name, tagline, initials, avatar, links.layouts/index.html— the page.assets/css/main.css— styles, light and dark.assets/icons/— inline SVG icons (Bootstrap Icons, MIT).static/admin/— Sveltia CMS: loader page, config, vendored bundle (Sveltia CMS 0.251.0, MIT).static/uploads/— media uploaded through the CMS.
Local preview
Requires Hugo 0.168 or newer; the standard (non-extended) binary builds this site.
hugo server
Admin
The editor lives at /admin/ and commits directly to this repository.
Gitea OAuth (PKCE)
- Gitea → Settings → Applications → OAuth2 Applications → Create.
- Redirect URI:
https://williammiceli.me/admin/(Gitea stores one redirect URI per application; use the local workflow for local editing). - Leave "Confidential client" unchecked.
- Add the Client ID to
static/admin/config.yml:
backend:
name: gitea
repo: William/williammiceli.me
base_url: https://gitea.williammiceli.systems
api_root: https://gitea.williammiceli.systems/api/v1
app_id: <client-id>
Without app_id, the admin offers personal-access-token sign-in instead.
The local workflow (editing a working copy without committing) needs a Chromium-based browser.
Build
hugo --minify --gc
Output lands in public/. The Gitea Actions workflow runs the same build on every push.
Deploy
The site is static output: publishing means serving public/ from the cluster and pointing williammiceli.me at it.
Languages
CSS
54.7%
HTML
45.3%