Files
williammiceli.me/README.md
T
2026-10-24 03:55:22 +00:00

59 lines
1.8 KiB
Markdown

# 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.
```bash
hugo server
```
## Admin
The editor lives at `/admin/` and commits directly to this repository.
### Gitea OAuth (PKCE)
1. Gitea → Settings → Applications → OAuth2 Applications → Create.
2. Redirect URI: `https://williammiceli.me/admin/` (Gitea stores one redirect URI per application; use the local workflow for local editing).
3. Leave "Confidential client" unchecked.
4. Add the Client ID to `static/admin/config.yml`:
```yaml
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
```bash
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.