DOC/ Updated 2026-09-14
Deployment
Build, hosting, domain, and analytics setup.
Build
The site builds to a fully static dist/ folder:
pnpm build
Astro outputs the single home page, the documentation pages, the sitemap, and the static assets. There is no server runtime, so any static host works.
Hosting
Production hosting is Vercel:
- framework preset: Astro
- build command:
pnpm build - output directory:
dist
The domain is planned as ella.yuricunha.com, configured as the Astro
site in astro.config.mjs, which drives canonical URLs and the sitemap.
Documentation routes
/docsindex of available documentation pages;/docs/<slug>individual documentation page.
Both are static routes generated from the docs/ collection, defined in
src/content.config.ts. Canonical URLs have no trailing slash (the Astro
config uses trailingSlash: 'never').
Analytics
Umami is prepared but inert by default. The Analytics component only renders when both environment variables are present at build time:
PUBLIC_UMAMI_SRC=https://your-umami-host/script.js
PUBLIC_UMAMI_WEBSITE_ID=your-website-id
Without them, the site ships zero analytics JavaScript. No placeholder IDs are committed.
CI pipeline
The GitLab pipeline runs on main. It is created with a GitLab profile that
has identity verification, because GitLab.com refuses to run CI jobs without
it. Trigger it with:
glab api --method POST \
"projects/isyuricunha%2Fella-mizuki/pipeline" -f "ref=main"
Verify the created pipeline reaches success: quality, build, SAST, and
secret detection must all pass before considering the deployment green.
SEO
- metadata, Open Graph, Twitter cards, canonical, and JSON-LD in
BaseLayout; robots.txtand the sitemap are generated into the build;- the social card is
public/og.png(1200x630, generated with the Geist fonts from a rendered HTML template).