All docs

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

  • /docs index 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.txt and 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).