The public face of HiQ Cortex — marketing, methodology, docs, and blog.
- Production: https://cortex.hiq.earth
The name echoes the "Trail" quality in our brand: a chain of reasoning you can follow back to the origin. That's what this site is, too — the public breadcrumbs that lead into Cortex.
- Astro 5 (SSG) + MDX content collections
- Tailwind 3 for styling; design tokens in
tailwind.config.mjs+src/styles/global.css - i18n: English primary (
/), Chinese fallback (/zh). Seeastro.config.mjs. - Deploy: S3 + CloudFront (us-east-1), DNS via Cloudflare
- CI: GitHub Actions on push to
main
npm install
npm run dev
# → http://localhost:4321- Marketing pages:
src/pages/*.astro(English),src/pages/zh/*.astro(Chinese) - Blog posts:
src/content/blog/*.mdxwith frontmatterlocale: en | zh - Docs:
src/content/docs/*.mdxwith frontmattersection,order,locale
Voice: short sentences, noun-heavy, no GPT-plastic openers. Read a few of the existing pages before writing new copy — tone matters more than structure.
Production deploys run from GitHub Actions on merge to main. Manual deploy:
npm run build
./scripts/deploy.sh # syncs dist/ → S3 + invalidates CloudFrontInfrastructure bootstrap is a one-shot:
./scripts/bootstrap-infra.sh # creates S3 bucket, CloudFront distribution, Cloudflare DNScortex-trail/
├── astro.config.mjs # i18n, integrations, site URL
├── tailwind.config.mjs # design tokens
├── src/
│ ├── pages/ # routed pages (Astro files)
│ │ ├── index.astro # English landing
│ │ ├── solutions/ # /solutions/bom-matching etc.
│ │ ├── methodology.astro
│ │ ├── blog/index.astro
│ │ ├── docs/index.astro
│ │ ├── 404.astro
│ │ └── zh/ # Chinese mirror
│ ├── content/ # collections (blog, docs)
│ ├── components/ # Header, Footer, SiteHead
│ ├── layouts/ # BaseLayout
│ └── styles/ # global.css (Tailwind entry + base layer)
├── public/ # static assets (snail.svg, favicons)
└── scripts/ # infra + deploy helpers