From 467bf77d3479c53b32b6f7a32a58d4896248c71c Mon Sep 17 00:00:00 2001 From: Kuba Sto Date: Mon, 21 Sep 2026 17:59:29 +0200 Subject: [PATCH 1/3] Simple conetent + restyled --- .gitattributes | 4 + DESIGN.md | 38 - README.md | 182 +- astro.config.mjs | 24 +- deploy/README.md | 39 +- deploy/build.sh | 32 +- deploy/ctao-portal-build.service | 2 + package-lock.json | 3 + package.json | 6 + public/admin/config.yml | 94 +- public/admin/preview.css | 275 ++- public/assets/fonts/inter-latin.woff2 | Bin 0 -> 48432 bytes public/assets/fonts/space-grotesk-latin.woff2 | Bin 0 -> 22320 bytes public/assets/logo-negative.svg | 102 ++ public/assets/logo-positive.svg | 129 ++ public/assets/logo-sp-negative.svg | 11 + public/assets/logo-sp-positive.svg | 10 + public/assets/nebula.svg | 91 + public/header.js | 151 ++ public/search-client.js | 164 -- .../pages/consectetur-adipiscing.md | 12 + sample-content/pages/dolor-sit-amet.md | 19 + sample-content/pages/lorem-ipsum.md | 25 + sample-content/pages/sed-do-eiusmod.md | 16 + sample-content/uploads/hero.jpg | Bin 0 -> 179959 bytes scripts/check-links.mjs | 3 +- scripts/content.mjs | 34 + scripts/link-content.sh | 14 +- scripts/local-content.mjs | 19 + scripts/preview-styles.mjs | 13 + src/components/NewsCard.astro | 16 - src/components/PageHero.astro | 17 + src/content.config.ts | 51 +- src/data/examples.json | 18 + src/data/placeholders.json | 42 + src/layouts/Base.astro | 278 ++- src/layouts/Placeholder.astro | 10 + src/lib/news.js | 11 - src/pages/404.astro | 24 +- src/pages/[...placeholder].astro | 9 + src/pages/admin/index.astro | 2 +- src/pages/dashboard.astro | 30 - src/pages/example/[slug].astro | 35 + src/pages/index.astro | 93 +- src/pages/login.astro | 16 - src/pages/news/[...page].astro | 83 - src/pages/news/[slug].astro | 144 -- src/pages/pages/[slug].astro | 27 - src/pages/proposals.astro | 28 - src/pages/rss.xml.js | 43 - src/pages/search.astro | 36 - src/pages/search.json.js | 19 - src/pages/sitemap.xml.js | 42 +- src/pages/support.astro | 29 - src/styles/global.css | 1617 +++++++++-------- 55 files changed, 2162 insertions(+), 2070 deletions(-) create mode 100644 .gitattributes delete mode 100644 DESIGN.md create mode 100644 public/assets/fonts/inter-latin.woff2 create mode 100644 public/assets/fonts/space-grotesk-latin.woff2 create mode 100644 public/assets/logo-negative.svg create mode 100644 public/assets/logo-positive.svg create mode 100644 public/assets/logo-sp-negative.svg create mode 100644 public/assets/logo-sp-positive.svg create mode 100644 public/assets/nebula.svg create mode 100644 public/header.js delete mode 100644 public/search-client.js create mode 100644 sample-content/pages/consectetur-adipiscing.md create mode 100644 sample-content/pages/dolor-sit-amet.md create mode 100644 sample-content/pages/lorem-ipsum.md create mode 100644 sample-content/pages/sed-do-eiusmod.md create mode 100644 sample-content/uploads/hero.jpg create mode 100644 scripts/content.mjs create mode 100644 scripts/local-content.mjs create mode 100644 scripts/preview-styles.mjs delete mode 100644 src/components/NewsCard.astro create mode 100644 src/components/PageHero.astro create mode 100644 src/data/examples.json create mode 100644 src/data/placeholders.json create mode 100644 src/layouts/Placeholder.astro delete mode 100644 src/lib/news.js create mode 100644 src/pages/[...placeholder].astro delete mode 100644 src/pages/dashboard.astro create mode 100644 src/pages/example/[slug].astro delete mode 100644 src/pages/login.astro delete mode 100644 src/pages/news/[...page].astro delete mode 100644 src/pages/news/[slug].astro delete mode 100644 src/pages/pages/[slug].astro delete mode 100644 src/pages/proposals.astro delete mode 100644 src/pages/rss.xml.js delete mode 100644 src/pages/search.astro delete mode 100644 src/pages/search.json.js delete mode 100644 src/pages/support.astro diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..7bc9d0f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.sh text eol=lf +*.service text eol=lf +*.timer text eol=lf +*.container text eol=lf diff --git a/DESIGN.md b/DESIGN.md deleted file mode 100644 index 5ff106d..0000000 --- a/DESIGN.md +++ /dev/null @@ -1,38 +0,0 @@ -# Design handoff - -All styling lives in **`src/styles/global.css`**: design tokens in `:root` -(colors, type scale, spacing, radius, shadows, `--header-h`) + plain-CSS -components below them. No frameworks, no preprocessors, no runtime JS for -presentation. Pages are `.astro` templates (plain HTML). - -## Brand (official: CTAO Brand Guidelines, April 2024, PDF in the project docs) - -- Colors: Galaxy Blue `#00004A`, Cherenkov Blue `#00E4D8`, Moon Gray - `#F5F5F5`, Cosmic Azure `#007AFF` (focus rings only; links use the - darkened `--link` so they pass AA on white), Interstellar Indigo `#00009C`. - Cherenkov is an ACCENT (the brand book rations it; currently: primary CTA, - hero subtitle, logo flash); it fails AA as text on white. -- Comments in the code cite `SPEC §…`, `BRAND D.x` and `REQUIREMENTS`: those - are the CTAO specification, the brand guidelines PDF and the team's - consolidated requirements, kept in the project's document folder at - Cyfronet, not in this repo. -- Type: **Inter** for everything, **Space Grotesk** (weight 500) only for - communicative headlines (h1/h2). Sizes come from the `--fs-*` scale. -- Logo files in `public/brand/`; always "CTAO", min 100px wide, no effects. - -## Practical notes (the non-obvious ones) - -- **`public/admin/preview.css` mirrors the `.prose` styles** so the CMS - editor preview matches articles 1:1. When you touch `.prose` or its - tokens, update the mirror (both files carry a KEEP IN SYNC comment). -- Fonts ship **inlined as data: URIs** in global.css (no font requests, no - swap flash). The woff2 files in `public/fonts/` look unused but feed the - CMS preview, so keep them. -- All `animation`/`transition` rules sit in the single - `prefers-reduced-motion: no-preference` block at the end of global.css. -- Scroll-driven effects need `vite.build.cssMinify: 'esbuild'` - (astro.config.mjs): the default minifier breaks `animation-timeline`. -- `--header-h` drives the sticky-header offsets (anchors, TOC rail, reading - progress); change the header height only through the token. -- Deterministic gate before pushing: `npm run check` (types + build + link - check, a few seconds). diff --git a/README.md b/README.md index 70d029b..f31967d 100644 --- a/README.md +++ b/README.md @@ -1,100 +1,110 @@ -# CTAO Science Portal: static site + git-based CMS +# CTAO Science Portal — simple proof of concept -Public portal for CTAO news, built as a fully static site. Editors get a -browser WYSIWYG editor (Sveltia CMS) that commits Markdown to a Gitea repo; -a build job turns commits into static HTML. No application or database runs -on the public path. +The `simple` branch uses the sibling `mockup` project's layout, assets, CSS, +and header interactions. Astro generates a static site. Sveltia CMS edits +exactly four Markdown pages in the separate `ctao/content` repository. -Live demo: · -Gitea on the demo machine: +## Scope -## Repository layout & deployment +| Example submenu | URL | Content file | +|---|---|---| +| Lorem ipsum | `/example/lorem-ipsum/` | `pages/lorem-ipsum.md` | +| Dolor sit amet | `/example/dolor-sit-amet/` | `pages/dolor-sit-amet.md` | +| Consectetur adipiscing | `/example/consectetur-adipiscing/` | `pages/consectetur-adipiscing.md` | +| Sed do eiusmod | `/example/sed-do-eiusmod/` | `pages/sed-do-eiusmod.md` | -Code and content are SEPARATE repositories, so editorial commits never mix -with development: +Home, News, Data, Proposals, Dashboard, Sign in, Search, Support, Privacy, +Disclaimer, and Contact have the shared header/footer, a title, and an empty +body. Search submits to its placeholder. Only English is available; the +other language options are inactive. There are no news articles, news +pagination, RSS feeds, search index, service integrations, or public sign-in. +`/admin/` remains the working CMS entry point. -| Repo | Holds | Source of truth | Who commits | -|---|---|---|---| -| `ctao-portal` (this one, Bitbucket) | Templates, CSS, deploy | development | the team | -| `ctao/content` (Gitea on the demo machine) | `news/`, `pages/`, `uploads/` | editorial | Sveltia CMS / editors | +## Run locally -The demo machine polls ITS Gitea (`ctao/portal` mirror + `ctao/content`) and -republishes on a push to either, so a push to Bitbucket does NOT deploy; -deploying code = pushing it to the machine's Gitea (a deliberate step). The -build overlays content onto code (`deploy/build.sh`); the content paths are -gitignored here. +Use Node 22.19 or newer (deployment uses Node 24). -## Stack - -- **Astro** (static output). Pages are `.astro` templates (plain HTML with a - JS frontmatter block). No React/Vue/Svelte components, no client-side - framework. -- **Plain CSS**: everything lives in `src/styles/global.css` as design - tokens (custom properties) + rules. No Tailwind, no preprocessor. - The design system (tokens, type scale, spacing, motion policy) is - documented in `DESIGN.md`. Read it before touching styles. -- **Sveltia CMS**: a single prebuilt JS bundle, vendored in - `public/vendor/sveltia-cms.js` and loaded on `/admin/` - (`src/pages/admin/index.astro`), configured by `public/admin/config.yml`. - It runs entirely in the editor's browser and talks to the Gitea API - (OAuth PKCE). There is no CMS server. To update it: - `curl -sL https://unpkg.com/@sveltia/cms/dist/sveltia-cms.js -o public/vendor/sveltia-cms.js` -- Runtime dependencies: none beyond Astro. This is deliberate; keep it - that way. - -## Develop - -Prerequisites: Node 22.19 or newer (the machine builds on Node 24), and -network access to the demo machine's Gitea (Cyfronet network / VPN) for the -content clone below. Without content the site still builds, but with no -articles and `npm run check` reports the footer's page links as broken. - -``` +```sh npm ci -git clone https://astro-git.isl-dev.grid.cyfronet.pl/ctao/content.git ../ctao-content -./scripts/link-content.sh # copies news/pages/uploads into the dev tree -npm run dev # http://localhost:4321 -npm run build # static output in dist/ -npm run check # deterministic gate: astro check (types) + build + internal-link check +npm run dev ``` -`tsconfig.json` excludes `public/` on purpose: the vendored CMS bundle there is -2 MB of minified JS and would make `astro check` run out of memory. +Open `http://localhost:4321/example/lorem-ipsum/` for the full mockup example. +The first run copies bundled `sample-content/pages/` and `uploads/` into the +ignored runtime directories. Existing content is preserved. An incomplete +existing set fails with a missing-file error instead of silently mixing +sample content with editorial content. -## Layout +```sh +npm run content:setup # explicitly restore the four sample pages +npm run content:sync -- ../ctao-content # copy from a separate content checkout +npm run check # types, static build, internal links +npm run build +npm run preview # inspect the built site +``` -| Path | What | +`content:setup` and `content:sync` replace the four runtime Markdown files and +copy uploads, overwriting same-named media. They do not modify the source +content checkout. Only the four allowlisted pages are loaded and rendered; +unrelated Markdown files never create public routes. + +## Edit with Sveltia locally, without Gitea + +```sh +npm run content:local +npm run dev +``` + +In Chrome or Edge, open `/admin/`, select **Work with Local Repository**, and +choose this project's `.tmp/content` directory. The setup command creates a +local Git repository there, seeded from the bundled content. Re-running it +preserves edits in that directory. + +Save an Example page, then run this in another terminal to refresh the site: + +```sh +npm run content:sync -- .tmp/content +``` + +The local editor writes files without committing them. This follows +[Sveltia's local workflow](https://sveltiacms.app/en/docs/workflows/local). +Choose the content repository root, not the portal code repository root: +the CMS expects `pages/` and `uploads/` directly beneath it. + +## Content and publishing + +The CMS uses a [fixed file collection](https://sveltiacms.app/en/docs/collections/files). +Editors can change title, introduction, optional image/alternative text/caption, +Markdown body, and optional button label/destination. Both button fields are +needed to display the button. A Markdown blockquote receives the mockup's +highlight styling. Images without alternative text are treated as decorative. +Menu labels, ordering, URLs, and the shared site layout remain code-controlled. + +Remote editing uses Gitea OAuth and saves to **`ctao/content`, branch `simple`**. +That branch must contain the four files from `sample-content/pages/` and the +sample upload before publishing this version. The code mirror is +**`ctao/portal`, branch `simple`**. Deployment independently selects +`CODE_BRANCH` and `CONTENT_BRANCH`, overlays content, runs checks, and publishes +atomically. `CONTENT_BRANCH` must match `backend.branch` in the CMS config. + +See [deploy/README.md](deploy/README.md) for migration and publishing steps. +A push to Bitbucket alone does not deploy the site. + +## Where things live + +| Path | Purpose | |---|---| -| `src/pages/` | Routes (`.astro` templates), incl. `news/`, `search`, RSS/sitemap | -| `src/layouts/Base.astro` | HTML shell: head, header/nav, footer | -| `src/content/news/*.md` | Articles (from the content repo, gitignored here; schema in `src/content.config.ts`) | -| `src/styles/global.css` | All CSS: tokens + components + prose | -| `DESIGN.md` | Design handoff: where the tokens live, brand basics, practical notes | -| `public/admin/` | CMS config (`config.yml`) + editor preview styles (`preview.css`) | -| `public/uploads/` | Editor-uploaded media (from the content repo, gitignored here) | -| `deploy/` | Runbook + container/systemd units for the demo machine, see `deploy/README.md` | +| `src/layouts/Base.astro` | Mockup header, navigation, footer, page shell | +| `src/components/PageHero.astro` | Breadcrumb, title, introduction, nebula | +| `src/pages/example/[slug].astro` | One reusable editable-page template | +| `src/data/examples.json` | Fixed submenu labels, order, and slugs | +| `src/data/placeholders.json` | Empty destinations | +| `src/styles/global.css` | Mockup styles plus Markdown/placeholder variants | +| `public/assets/`, `public/header.js` | Mockup assets and menu behavior | +| `sample-content/` | Versioned seed content for local use and Gitea setup | +| `src/content/pages/`, `public/uploads/` | Ignored runtime content overlay | +| `public/admin/config.yml` | Four fixed CMS files and Gitea configuration | +| `scripts/preview-styles.mjs` | Generates CMS body preview styles from site CSS | -## Editing content - -Editors use `/admin/` (link in the footer) and sign in with a Gitea account. -Saving commits to `main`; the machine polls and republishes automatically -(seconds). Full history/rollback = git history in Gitea. Articles with -`draft: true` are excluded from the build. - -Note for styling work: `public/admin/preview.css` mirrors the `.prose` rules -from `global.css` so the editor preview matches the site 1:1; keep them in -sync (both files carry a KEEP IN SYNC comment). - -## Upgrading - -Versions are pinned exactly; an upgrade is a deliberate change, never a side -effect of `npm install`. Astro ships security fixes only for the current and -one previous major, so plan one upgrade per major rather than skipping several. - -``` -npx @astrojs/upgrade # moves astro and official integrations together -npm run check # types + build + links must pass -npm run preview # verify the real dist/ output, not the dev server -``` - -No experimental flags in `astro.config.mjs`: they can change in minor releases. +The vendored CMS bundle remains in `public/vendor/sveltia-cms.js`. Dependencies +remain pinned; this simplification adds no application dependencies. diff --git a/astro.config.mjs b/astro.config.mjs index 1116727..1641feb 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,31 +1,9 @@ import { defineConfig } from 'astro/config'; -// Static output (zero runtime) — the whole point of the git-based approach. export default defineConfig({ output: 'static', - // Public origin — used to build absolute URLs (canonical, og:*, RSS, - // sitemap). Change when the portal moves to its production domain. site: 'https://astro.isl-dev.grid.cyfronet.pl', - // URL contract, pinned explicitly (these are the defaults): changing either - // later rewrites every public URL. nginx serves /path/ via try_files $uri/. - trailingSlash: 'ignore', + trailingSlash: 'always', build: { format: 'directory' }, - // Lossless whitespace handling instead of the v7 default 'jsx', which drops - // line breaks around inline elements and silently glues words to links when - // a template line wraps before . Templates render as written. compressHTML: true, - // Built-in prefetch on every internal link (no per-link attributes needed). - // Default 'hover' strategy: near-instant navigation without the bandwidth - // cost of 'viewport' on a 24-card grid; auto-falls back to 'tap' on - // data-saver / slow connections (Astro handles that). - prefetch: { prefetchAll: true }, - vite: { - build: { - // Lightning CSS (the default minifier) illegally folds animation-timeline - // INTO the `animation` shorthand (`animation: ... view()`), which browsers - // reject — silently killing every scroll-driven effect in production. - // esbuild minifies without property merging. - cssMinify: 'esbuild', - }, - }, }); diff --git a/deploy/README.md b/deploy/README.md index 4943cd6..a3cadba 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -29,6 +29,37 @@ missing). Everything else runs inside containers. | 3000 | Gitea | https://astro-git.isl-dev.grid.cyfronet.pl (ingress vhost) | | 8080 | portal (nginx, static) | https://astro.isl-dev.grid.cyfronet.pl (ingress vhost) | +## Switch an existing demo to `simple` + +1. In a checkout of `ctao/content`, create a `simple` branch from the existing + content branch. Copy `sample-content/pages/*.md` and + `sample-content/uploads/hero.jpg` from this code repository into its root + `pages/` and `uploads/` directories, then commit the seed files. Existing + news or other page files can remain in the content history; this portal + loads only the four Example files. +2. Push the content branch to Gitea as `ctao/content:simple`, and the code + branch as `ctao/portal:simple`. These are separate pushes; Bitbucket is + not the deployment remote. +3. Copy the updated `build.sh` to `~/ctao-portal-demo/bin/build.sh` and the + updated `ctao-portal-build.service` to `~/.config/systemd/user/`. Reload + systemd with `systemctl --user daemon-reload`. The service explicitly sets + `CODE_BRANCH=simple` and `CONTENT_BRANCH=simple`; the script defaults agree. +4. Start the build service or let its timer run. It overlays `pages/` and + `uploads/`, clears the previous news overlay, and runs `npm run check` + before the atomic release switch. Missing Example pages fail the build. +5. Verify the four `/example/…/` pages and empty `/news/`. Sign in at `/admin/`, + save an Example title, and check that a commit appears on + `ctao/content:simple` and the rebuilt page reflects it. + +The OAuth client and public portal origin stay the same. Sveltia's +`backend.branch` in `public/admin/config.yml` must always match +`CONTENT_BRANCH`. Branches are selected independently; a single `BRANCH` +environment variable is no longer used. For a separate preview hostname, +update the site origin, OAuth redirect, and Gitea CORS together. + +To roll back, restore the previous deployed release and the previous worker +script/service configuration. The original content `main` branch is retained. + ## Install (each step reviewed before running; [W] = writes to the machine) 1. **[W]** `loginctl enable-linger $USER`. Without lingering every user unit @@ -53,10 +84,12 @@ missing). Everything else runs inside containers. password never lands in a file or shell history: `podman exec -it ctao-demo-gitea gitea admin user create --admin --username --email --random-password` 7. **[W]** In the Gitea UI: create org `ctao` with repos `portal` and - `content` (both public read). Then, from your workstation, push both over + `content` (both public read). Seed the content `simple` branch with + `sample-content/pages/` and `sample-content/uploads/` as described above. + Then, from your workstation, push both over the vhost with a repo-scoped token: - `git push https://:@astro-git.isl-dev.grid.cyfronet.pl/ctao/portal.git main` - `git push https://:@astro-git.isl-dev.grid.cyfronet.pl/ctao/content.git main` + `git push https://:@astro-git.isl-dev.grid.cyfronet.pl/ctao/portal.git simple` + `git push https://:@astro-git.isl-dev.grid.cyfronet.pl/ctao/content.git simple` 8. **[W]** `systemctl --user enable --now ctao-portal-build.timer`. The first run clones + `npm ci` + builds (minutes); later runs are seconds. Wait until `journalctl --user -u ctao-portal-build -n 5` shows `published ` diff --git a/deploy/build.sh b/deploy/build.sh index 85980e5..211e8f8 100755 --- a/deploy/build.sh +++ b/deploy/build.sh @@ -7,7 +7,7 @@ # # Two repositories by design: code (templates/CSS, developed by the team) and # content (Markdown + uploads, committed by the CMS). The build overlays -# content onto code, so an editor publishing an article and a developer +# content onto code, so an editor publishing a page and a developer # shipping CSS never mix histories — either change republishes the site. set -euo pipefail @@ -17,7 +17,8 @@ BASE="${BASE:-$HOME/ctao-portal-demo}" GITEA_URL="${GITEA_URL:-http://localhost:3000}" # published by ctao-demo-gitea CODE_REPO="${CODE_REPO:-ctao/portal}" # owner/repo in Gitea CONTENT_REPO="${CONTENT_REPO:-ctao/content}" -BRANCH="${BRANCH:-main}" +CODE_BRANCH="${CODE_BRANCH:-simple}" +CONTENT_BRANCH="${CONTENT_BRANCH:-simple}" BUILD_IMAGE="${BUILD_IMAGE:-localhost/ctao-portal-build:1}" # The build joins the Gitea container's network namespace: localhost inside # the build = Gitea's loopback (port 3000), host loopback stays unreachable. @@ -37,16 +38,16 @@ done # --- 1. Cheap poll: both branch heads via the local Gitea API --- head_of() { - curl -fsS --max-time 5 "$GITEA_URL/api/v1/repos/$1/branches/$BRANCH" \ + curl -fsS --max-time 5 "$GITEA_URL/api/v1/repos/$1/branches/$2" \ | jq -r '.commit.id' || true } -code_sha=$(head_of "$CODE_REPO") -content_sha=$(head_of "$CONTENT_REPO") +code_sha=$(head_of "$CODE_REPO" "$CODE_BRANCH") +content_sha=$(head_of "$CONTENT_REPO" "$CONTENT_BRANCH") # Gitea down/unreachable is a transient, not a unit failure — exit 0 quietly # instead of painting the journal red every 10 s. Name the repo: a 404 here # also means "repo/branch missing or renamed", not just "Gitea down". -[[ "$code_sha" =~ ^[0-9a-f]{40}$ ]] || { echo "poll failed for $CODE_REPO@$BRANCH (gitea down, or repo/branch missing) — skipping"; exit 0; } -[[ "$content_sha" =~ ^[0-9a-f]{40}$ ]] || { echo "poll failed for $CONTENT_REPO@$BRANCH (gitea down, or repo/branch missing) — skipping"; exit 0; } +[[ "$code_sha" =~ ^[0-9a-f]{40}$ ]] || { echo "poll failed for $CODE_REPO@$CODE_BRANCH (gitea down, or repo/branch missing) — skipping"; exit 0; } +[[ "$content_sha" =~ ^[0-9a-f]{40}$ ]] || { echo "poll failed for $CONTENT_REPO@$CONTENT_BRANCH (gitea down, or repo/branch missing) — skipping"; exit 0; } release="${code_sha:0:12}-${content_sha:0:12}" # code+content pin the release # Skip only if this pair is both recorded AND still present in releases/ # (a deleted release dir must trigger a rebuild, not an eternal skip). @@ -73,7 +74,7 @@ podman run --rm --network="$BUILD_NETNS" --memory=1g \ -e ASTRO_TELEMETRY_DISABLED=1 \ -e CODE_SHA="$code_sha" -e CODE_URL="$CODE_URL" \ -e CONTENT_SHA="$content_sha" -e CONTENT_URL="$CONTENT_URL" \ - -e RELEASE="$release" -e BRANCH="$BRANCH" \ + -e RELEASE="$release" -e CODE_BRANCH="$CODE_BRANCH" -e CONTENT_BRANCH="$CONTENT_BRANCH" \ -v "$BASE/repo:/work/repo:z" \ -v "$BASE/content:/work/content:z" \ -v "$BASE/releases:/work/releases:z" \ @@ -81,21 +82,20 @@ podman run --rm --network="$BUILD_NETNS" --memory=1g \ -w /work "$BUILD_IMAGE" sh -ec ' git config --global safe.directory "/work/repo" git config --global --add safe.directory "/work/content" - sync_clone() { # $1 dir $2 url $3 sha - [ -d "$1/.git" ] || git clone --branch "$BRANCH" "$2" "$1" + sync_clone() { # $1 dir $2 url $3 sha $4 branch + [ -d "$1/.git" ] || git clone --branch "$4" "$2" "$1" git -C "$1" remote set-url origin "$2" # self-heal if the URL changes - git -C "$1" fetch --quiet origin "$BRANCH" + git -C "$1" fetch --quiet origin "$4" # --force: the working copy is disposable; a stray tracked-file edit # must not wedge every future build. git -C "$1" checkout --quiet --force "$3" } - sync_clone repo "$CODE_URL" "$CODE_SHA" - sync_clone content "$CONTENT_URL" "$CONTENT_SHA" + sync_clone repo "$CODE_URL" "$CODE_SHA" "$CODE_BRANCH" + sync_clone content "$CONTENT_URL" "$CONTENT_SHA" "$CONTENT_BRANCH" # Overlay content onto code (these paths are gitignored in the code repo). # mkdir -p: checkout prunes the emptied parent dirs, cp needs them back. rm -rf repo/src/content/news repo/src/content/pages repo/public/uploads mkdir -p repo/src/content repo/public - cp -a content/news repo/src/content/news cp -a content/pages repo/src/content/pages cp -a content/uploads repo/public/uploads cd repo @@ -109,7 +109,9 @@ podman run --rm --network="$BUILD_NETNS" --memory=1g \ npm ci --ignore-scripts --no-audit --no-fund echo "$lock" > .deps-hash fi - npm run build + # Validate the overlay and links before publishing; never seed demo content + # in place of an incomplete content branch. + npm run check rm -rf "../releases/$RELEASE" cp -a dist "../releases/$RELEASE" ' || { echo "$release" > "$BASE/state/last-failed"; echo "BUILD FAILED for $release (see above) — will not retry until a new commit"; exit 1; } diff --git a/deploy/ctao-portal-build.service b/deploy/ctao-portal-build.service index 5f905ab..145bb24 100644 --- a/deploy/ctao-portal-build.service +++ b/deploy/ctao-portal-build.service @@ -8,6 +8,8 @@ Description=CTAO portal demo — rebuild if the code or content repo has new com [Service] Type=oneshot +Environment=CODE_BRANCH=simple +Environment=CONTENT_BRANCH=simple ExecStart=%h/ctao-portal-demo/bin/build.sh # Polite neighbour on the shared VM: Nice=10 diff --git a/package-lock.json b/package-lock.json index 5fa8b3c..f9de21e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,9 @@ "devDependencies": { "@astrojs/check": "0.9.10", "typescript": "6.0.3" + }, + "engines": { + "node": ">=22.19.0" } }, "node_modules/@astrojs/check": { diff --git a/package.json b/package.json index ea43c3d..da6cf7b 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,15 @@ "version": "0.1.0", "private": true, "scripts": { + "content:setup": "node scripts/content.mjs", + "content:sync": "node scripts/content.mjs", + "content:local": "node scripts/local-content.mjs", + "predev": "node scripts/content.mjs --ensure && node scripts/preview-styles.mjs", "dev": "astro dev", + "prebuild": "node scripts/content.mjs --ensure && node scripts/preview-styles.mjs", "build": "astro build", "preview": "astro preview", + "precheck": "node scripts/content.mjs --ensure && node scripts/preview-styles.mjs", "check": "astro check && astro build && node scripts/check-links.mjs" }, "dependencies": { diff --git a/public/admin/config.yml b/public/admin/config.yml index 5f96dcf..ca1c1c1 100644 --- a/public/admin/config.yml +++ b/public/admin/config.yml @@ -4,10 +4,10 @@ # these origins in deploy/ctao-demo-gitea.container. backend: name: gitea - # Content lives in its OWN repo (editorial history separate from code — - # the build overlays it onto the portal code, see deploy/build.sh). + # Keep this branch in sync with CONTENT_BRANCH in deploy/build.sh. + # Seed the content branch from sample-content/ before deploying. repo: ctao/content - branch: main + branch: simple base_url: https://astro-git.isl-dev.grid.cyfronet.pl api_root: https://astro-git.isl-dev.grid.cyfronet.pl/api/v1 app_id: cf1c44ac-ebe6-4a97-bf2f-f7f26ef1126c @@ -45,36 +45,58 @@ media_libraries: optimize: true collections: - - name: news - label: "News" - label_singular: "Article" - folder: "news" - create: true - slug: "{{slug}}" - extension: md - format: frontmatter - summary: "{{title}} · {{date}}" - fields: - - { name: title, label: "Title", widget: string } - - { name: description, label: "Short description", widget: text } - - { name: date, label: "Date", widget: datetime, date_format: "YYYY-MM-DD", time_format: false } - - { name: category, label: "Category", widget: string, default: "news" } - - { name: author, label: "Author", widget: string, default: "CTAO" } - - { name: cover, label: "Cover image", widget: image, required: false } - - { name: lang, label: "Language (if not English, e.g. pl)", widget: string, required: false } - - { name: draft, label: "Draft (unpublished)", widget: boolean, default: false } - - { name: body, label: "Body", widget: markdown } - - - name: pages - label: "Pages" - label_singular: "Page" - folder: "pages" - create: true - slug: "{{slug}}" - extension: md - format: frontmatter - summary: "{{title}}" - fields: - - { name: title, label: "Title", widget: string } - - { name: description, label: "Description", widget: text, required: false } - - { name: body, label: "Body", widget: markdown } + - name: examples + label: "Example pages" + files: + - name: lorem-ipsum + label: "Lorem ipsum" + file: "pages/lorem-ipsum.md" + format: frontmatter + fields: + - { name: title, label: "Title", widget: string } + - { name: introduction, label: "Introduction", widget: text, required: false } + - { name: image, label: "Image", widget: image, required: false } + - { name: imageAlt, label: "Image alternative text", widget: string, required: false, hint: "Describe the image; leave empty only for decorative images." } + - { name: imageCaption, label: "Image caption", widget: string, required: false } + - { name: body, label: "Body", widget: markdown } + - { name: buttonLabel, label: "Button label", widget: string, required: false } + - { name: buttonUrl, label: "Button destination", widget: string, required: false, hint: "A site path such as /example/lorem-ipsum/, or an https:// URL." } + - name: dolor-sit-amet + label: "Dolor sit amet" + file: "pages/dolor-sit-amet.md" + format: frontmatter + fields: + - { name: title, label: "Title", widget: string } + - { name: introduction, label: "Introduction", widget: text, required: false } + - { name: image, label: "Image", widget: image, required: false } + - { name: imageAlt, label: "Image alternative text", widget: string, required: false, hint: "Describe the image; leave empty only for decorative images." } + - { name: imageCaption, label: "Image caption", widget: string, required: false } + - { name: body, label: "Body", widget: markdown } + - { name: buttonLabel, label: "Button label", widget: string, required: false } + - { name: buttonUrl, label: "Button destination", widget: string, required: false, hint: "A site path such as /example/lorem-ipsum/, or an https:// URL." } + - name: consectetur-adipiscing + label: "Consectetur adipiscing" + file: "pages/consectetur-adipiscing.md" + format: frontmatter + fields: + - { name: title, label: "Title", widget: string } + - { name: introduction, label: "Introduction", widget: text, required: false } + - { name: image, label: "Image", widget: image, required: false } + - { name: imageAlt, label: "Image alternative text", widget: string, required: false, hint: "Describe the image; leave empty only for decorative images." } + - { name: imageCaption, label: "Image caption", widget: string, required: false } + - { name: body, label: "Body", widget: markdown } + - { name: buttonLabel, label: "Button label", widget: string, required: false } + - { name: buttonUrl, label: "Button destination", widget: string, required: false, hint: "A site path such as /example/lorem-ipsum/, or an https:// URL." } + - name: sed-do-eiusmod + label: "Sed do eiusmod" + file: "pages/sed-do-eiusmod.md" + format: frontmatter + fields: + - { name: title, label: "Title", widget: string } + - { name: introduction, label: "Introduction", widget: text, required: false } + - { name: image, label: "Image", widget: image, required: false } + - { name: imageAlt, label: "Image alternative text", widget: string, required: false, hint: "Describe the image; leave empty only for decorative images." } + - { name: imageCaption, label: "Image caption", widget: string, required: false } + - { name: body, label: "Body", widget: markdown } + - { name: buttonLabel, label: "Button label", widget: string, required: false } + - { name: buttonUrl, label: "Button destination", widget: string, required: false, hint: "A site path such as /example/lorem-ipsum/, or an https:// URL." } diff --git a/public/admin/preview.css b/public/admin/preview.css index f445703..cb82dd6 100644 --- a/public/admin/preview.css +++ b/public/admin/preview.css @@ -1,71 +1,232 @@ -/* Entry-preview styles for the Sveltia editor, registered via the documented - CMS.registerPreviewStyle API (bare element selectors, per the official docs - example). This file MIRRORS the article styles 1:1 — the design tokens from - :root and the `.prose` block in src/styles/global.css — with `.prose` - dropped from selectors (the preview pane has no such wrapper). - KEEP IN SYNC: when you touch `.prose` or the tokens in global.css, update - the corresponding value here (a matching reminder sits next to `.prose`). - Fonts: same self-hosted woff2 files the site uses, same origin. (The - Sveltia bundle still loads its own UI fonts from jsDelivr — only the - PREVIEW pane is CDN-free.) */ +/* Generated by scripts/preview-styles.mjs; edit src/styles/global.css. */ +/* ========================================================================== + CTAO Science Portal: content page mockup + Colours and type follow the CTAO Brand Guidelines (April 2024). + ========================================================================== */ + +/* Fonts + ========================================================================== */ + @font-face { - font-family: "Inter"; font-weight: 400 700; font-display: swap; - src: url("/fonts/inter-latin.woff2") format("woff2"); + font-family: "Inter"; + font-weight: 400 700; + font-display: swap; + src: url("/assets/fonts/inter-latin.woff2") format("woff2"); } + @font-face { - font-family: "Space Grotesk"; font-weight: 500 700; font-display: swap; - src: url("/fonts/space-grotesk-latin.woff2") format("woff2"); + font-family: "Space Grotesk"; + font-weight: 500 700; + font-display: swap; + src: url("/assets/fonts/space-grotesk-latin.woff2") format("woff2"); } +/* Tokens + ========================================================================== */ + :root { - /* tokens copied from global.css :root */ - --galaxy: #00004a; - --moon: #f5f5f5; - --text: #101228; - --muted: #46536a; - --border: #e2e5ee; - --link: #0057c2; - --font-body: "Inter", Arial, system-ui, sans-serif; - --font-display: "Space Grotesk", var(--font-body); - --fs-s: 0.9rem; - --fs-l: 1.125rem; - --fs-xl: 1.5rem; - --fs-h2: clamp(1.75rem, 3.5vw, 2.5rem); - --radius: 16px; + /* Brand main colours (D.2.1) */ + --galaxy-blue: #00004a; + --cherenkov-blue: #00e4d8; + --moon-gray: #f5f5f5; + + /* Brand secondary colours (D.2.2) */ + --white: #ffffff; + --cosmic-azure: #007aff; + --interstellar-indigo: #00009c; + + /* Text */ + --text: #111111; + --text-muted: #555555; + /* Cosmic Azure at 84% brightness: 5.4:1 on white, 3.5:1 against body text */ + --link: #0066d6; + + /* Type: Inter for everything, Space Grotesk for headlines (D.3) */ + --font-body: "Inter", Arial, sans-serif; + --font-head: "Space Grotesk", Arial, sans-serif; + + /* Layout */ + --content-width: 85rem; + --gutter: clamp(1rem, 4vw, 2.5rem); + --header-height: 7rem; + --header-height-scrolled: 5rem; + --radius-lg: 60px; + --radius-md: 30px; + --radius-sm: 15px; + /* Dropdown submenus (Example, language) */ + --radius-menu: 8px; + --transition: 0.3s ease-in-out; + + /* Film grain tile over the hero background, also hides gradient banding */ + --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"); +} + +/* Base + ========================================================================== */ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + scroll-padding-top: var(--header-height-scrolled); } -/* preview shell ≈ article column */ body { + margin: 0; font-family: var(--font-body); + font-size: 1rem; + line-height: 1.5; color: var(--text); - max-width: 70ch; - margin: 0 auto; - padding: 24px; + background: var(--white); + -webkit-font-smoothing: antialiased; } -/* = global.css base heading/link rules = */ -h1, h2 { font-family: var(--font-display); font-weight: 500; letter-spacing: -0.025em; line-height: 1.1; } -h3 { font-weight: 600; } -h1, h2, h3 { overflow-wrap: break-word; text-wrap: balance; } -a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; } - -/* = global.css `.prose` rules, selectors unwrapped = */ -body { line-height: 1.65; overflow-wrap: break-word; } -a { overflow-wrap: anywhere; } -h1 { color: var(--galaxy); font-size: var(--fs-h2); } /* mirrors `.article h1` */ -h2 { color: var(--galaxy); margin: 44px 0 12px; font-size: var(--fs-xl); } -h3 { color: var(--galaxy); margin: 30px 0 8px; font-size: var(--fs-l); } -p { margin: 0 0 16px; text-wrap: pretty; } -ul, ol { margin: 0 0 16px; padding-left: 22px; } -li { margin: 6px 0; } -blockquote { - margin: 22px 0; padding: 12px 20px; border-left: 3px solid var(--galaxy); - background: var(--moon); color: var(--text); +body.no-scroll { + overflow: hidden; } -img { display: block; max-width: 100%; height: auto; border: 1px solid var(--border); border-radius: var(--radius); } -img + em, p > em:only-child { color: var(--muted); font-size: var(--fs-s); } -hr { border: 0; border-top: 1px solid var(--border); margin: 32px 0; } -table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; margin: 0 0 16px; font-size: var(--fs-s); } -th { text-align: left; font-weight: 600; color: var(--galaxy); } -th, td { padding: 10px 12px; border-bottom: 1px solid var(--border); } -thead th { border-bottom: 2px solid var(--galaxy); } + +img { + display: block; + max-width: 100%; + height: auto; +} + +a { + color: var(--link); + text-decoration: none; +} + +a:hover, +a:focus-visible { + text-decoration: underline; + text-underline-offset: 0.15em; +} + +button { + padding: 0; + font: inherit; + color: inherit; + background: none; + border: 0; + cursor: pointer; +} + +/* Focus ring: Link blue on light backgrounds, Cherenkov Blue on dark ones */ +:focus-visible { + outline: 2px solid var(--link); + outline-offset: 3px; +} + +.site-header :focus-visible, +.page-hero :focus-visible, +.site-footer :focus-visible { + outline-color: var(--cherenkov-blue); +} + +/* Prose + ========================================================================== */ + +body { + padding-bottom: 5rem; +} + +body > * { + max-width: 64rem; +} + +/* Galaxy Blue headline on light background (D.3.4) */ +body h2 { + margin: 3rem 0 1rem; + font-family: var(--font-head); + font-size: clamp(1.75rem, 3vw, 2.375rem); + font-weight: 500; + line-height: 1.1; + letter-spacing: -0.02em; + color: var(--galaxy-blue); +} + +body h2:first-child { + margin-top: 0; +} + +body p { + margin: 0 0 1.25rem; + font-size: 1.0625rem; + line-height: 1.6; +} + +/* Text links: colour only at rest, underline on hover and focus */ +body a:not(.btn):hover, +body a:not(.btn):focus-visible { + text-decoration: underline; + text-underline-offset: 0.15em; +} + +/* Cherenkov Blue fails contrast as text on white, so it is the accent bar */ +body .highlight, +body blockquote { + margin: 2.5rem 0; + padding-left: 1.5rem; + font-size: 1.375rem; + font-weight: 500; + line-height: 1.35; + color: var(--galaxy-blue); + border-left: 4px solid var(--cherenkov-blue); +} + +/* Buttons + ========================================================================== */ + +.btn { + display: inline-flex; + align-items: center; + gap: 0.75rem; + height: 2.75rem; + padding: 0 1.5rem; + font-size: 0.9375rem; + font-weight: 700; + border-radius: 999px; +} + +/* Underline the label only: a flex container would pass it on to the arrow */ +.btn:hover, +.btn:focus-visible { + text-decoration: none; +} + +.btn:hover .btn__label, +.btn:focus-visible .btn__label { + text-decoration: underline; + text-underline-offset: 0.15em; +} + +.btn--primary { + color: var(--white); + background: linear-gradient( + 90deg, + var(--galaxy-blue) 0%, + var(--cosmic-azure) 70%, + var(--cherenkov-blue) 100% + ); +} + +.btn--primary:hover { + filter: brightness(1.1); +} + +body { overflow-wrap: anywhere; } +body h3, body h4, body h5, body h6 { color: var(--galaxy-blue); font-family: var(--font-head); } +body li { margin-bottom: 0.5rem; } +body blockquote p { font-size: inherit; line-height: inherit; } +body pre { padding: 1rem; overflow-x: auto; background: var(--moon-gray); } +body code { overflow-wrap: normal; } +body table { display: block; overflow-x: auto; border-collapse: collapse; } +body th, body td { padding: 0.75rem; border-bottom: 1px solid #ddd; text-align: left; } +body hr { margin: 2rem 0; border: 0; border-top: 1px solid #ddd; } +body img { border-radius: var(--radius-sm); } + +body { display: block; min-height: 0; max-width: 64rem; margin: 0 auto; padding: 1.5rem; } +h1 { color: var(--galaxy-blue); font-family: var(--font-head); font-weight: 500; line-height: 1.05; } diff --git a/public/assets/fonts/inter-latin.woff2 b/public/assets/fonts/inter-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..91dc3e8529921cabc74fb1dacf5253260b9c8cca GIT binary patch literal 48432 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 Tp~gD%=1~4;zp%;UV+#NP+I>lo literal 0 HcmV?d00001 diff --git a/public/assets/fonts/space-grotesk-latin.woff2 b/public/assets/fonts/space-grotesk-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7b0e76a5c9bdfdb5ccc8c9ab44780b5ff788c6db GIT binary patch literal 22320 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/logo-positive.svg b/public/assets/logo-positive.svg new file mode 100644 index 0000000..88eeb49 --- /dev/null +++ b/public/assets/logo-positive.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/logo-sp-negative.svg b/public/assets/logo-sp-negative.svg new file mode 100644 index 0000000..46af0bf --- /dev/null +++ b/public/assets/logo-sp-negative.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/public/assets/logo-sp-positive.svg b/public/assets/logo-sp-positive.svg new file mode 100644 index 0000000..f83cbe1 --- /dev/null +++ b/public/assets/logo-sp-positive.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/public/assets/nebula.svg b/public/assets/nebula.svg new file mode 100644 index 0000000..3d8ddb5 --- /dev/null +++ b/public/assets/nebula.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/header.js b/public/header.js new file mode 100644 index 0000000..3eb09fa --- /dev/null +++ b/public/header.js @@ -0,0 +1,151 @@ +/* + * CTAO portal mockup: header behaviour + * + * 1. The sticky header turns solid Galaxy Blue after 40px of scroll. + * 2. Submenus: every button with data-submenu-toggle (Example, language) + * toggles the element named in its aria-controls. One open at a time. + * 3. The search button toggles the search panel. + * 4. The burger button toggles the main nav on small screens. + * 5. Escape and clicks outside the header close open menus. + * + * Review helper: index.html#open= opens a panel on load, + * for example #open=submenu-example, #open=submenu-lang, + * #open=search-panel or #open=site-nav. + */ +(function () { + "use strict"; + + // Keep in sync with the small-screen media query in css/styles.css + const MOBILE_QUERY = window.matchMedia("(max-width: 1079px)"); + + const header = document.getElementById("site-header"); + const nav = document.getElementById("site-nav"); + const searchPanel = document.getElementById("search-panel"); + const searchButton = header.querySelector('[aria-controls="search-panel"]'); + const menuButton = header.querySelector('[aria-controls="site-nav"]'); + const submenuButtons = Array.from( + header.querySelectorAll("[data-submenu-toggle]"), + ); + + /* 1. Scrolled state */ + + function updateScrolled() { + header.classList.toggle("is-scrolled", window.scrollY > 40); + } + + window.addEventListener("scroll", updateScrolled, { passive: true }); + updateScrolled(); + + /* Keeps the header solid while a full-width panel is open */ + function updateHeaderState() { + const panelOpen = + !searchPanel.hidden || header.classList.contains("is-nav-open"); + header.classList.toggle("is-open", panelOpen); + } + + /* 2. Submenus */ + + function setSubmenu(button, open) { + const submenu = document.getElementById( + button.getAttribute("aria-controls"), + ); + button.setAttribute("aria-expanded", String(open)); + submenu.hidden = !open; + } + + function closeSubmenus(except) { + submenuButtons.forEach(function (button) { + if (button !== except) setSubmenu(button, false); + }); + } + + submenuButtons.forEach(function (button) { + button.addEventListener("click", function () { + const open = button.getAttribute("aria-expanded") !== "true"; + closeSubmenus(button); + setSearch(false); + setSubmenu(button, open); + }); + }); + + /* 3. Search */ + + function setSearch(open) { + searchButton.setAttribute("aria-expanded", String(open)); + searchPanel.hidden = !open; + updateHeaderState(); + if (open) searchPanel.querySelector("input").focus(); + } + + searchButton.addEventListener("click", function () { + const open = searchPanel.hidden; + closeSubmenus(); + setMobileNav(false); + setSearch(open); + }); + + /* 4. Mobile nav */ + + function setMobileNav(open) { + menuButton.setAttribute("aria-expanded", String(open)); + header.classList.toggle("is-nav-open", open); + document.body.classList.toggle("no-scroll", open); + updateHeaderState(); + } + + menuButton.addEventListener("click", function () { + const open = !header.classList.contains("is-nav-open"); + closeSubmenus(); + setSearch(false); + setMobileNav(open); + }); + + /* 5. Dismiss */ + + function closeAll() { + closeSubmenus(); + setSearch(false); + setMobileNav(false); + } + + document.addEventListener("click", function (event) { + if (!header.contains(event.target)) closeAll(); + }); + + document.addEventListener("keydown", function (event) { + if (event.key !== "Escape") return; + + const openSubmenuButton = submenuButtons.find(function (button) { + return button.getAttribute("aria-expanded") === "true"; + }); + + if (openSubmenuButton) { + setSubmenu(openSubmenuButton, false); + openSubmenuButton.focus(); + } else if (!searchPanel.hidden) { + setSearch(false); + searchButton.focus(); + } else if (header.classList.contains("is-nav-open")) { + setMobileNav(false); + menuButton.focus(); + } + }); + + /* Switching between desktop and small-screen layouts starts clean */ + MOBILE_QUERY.addEventListener("change", closeAll); + + /* Review helpers */ + + const openMatch = location.hash.match(/^#open=([\w-]+)$/); + if (openMatch) { + const target = header.querySelector( + '[aria-controls="' + openMatch[1] + '"]', + ); + if (target) { + if (MOBILE_QUERY.matches && nav.contains(target)) menuButton.click(); + target.click(); + } + } + + if (location.hash === "#scrolled") window.scrollTo(0, 420); +})(); diff --git a/public/search-client.js b/public/search-client.js deleted file mode 100644 index dd78122..0000000 --- a/public/search-client.js +++ /dev/null @@ -1,164 +0,0 @@ -// Shared client-side news search over /search.json (no dependencies, no modules). -// Used by the header search (field + mobile reveal) and /search (full results). -// Focused-empty state per Baymard autocomplete guidance: recent searches (local -// only — localStorage, no network) plus the newest articles, never a void. -(function () { - const RKEY = 'ctao-recent-searches'; - function recents() { - try { return JSON.parse(localStorage.getItem(RKEY) || '[]'); } catch { return []; } - } - function remember(q) { - q = (q || '').trim(); - if (q.length < 2) return; - try { - const r = [q, ...recents().filter((x) => x.toLowerCase() !== q.toLowerCase())].slice(0, 4); - localStorage.setItem(RKEY, JSON.stringify(r)); - } catch { /* private mode — recents are a nicety */ } - } - - window.newsSearch = function (opts) { - const input = document.getElementById(opts.input); - const list = document.getElementById(opts.list); - const status = document.getElementById(opts.status); - // Null-safe: a page may render only some search surfaces — bail silently - // (returning a no-op) so one missing input can't kill later inits. - if (!input || !list || !status) return function () {}; - let index = null; - let timer; - async function ensureIndex() { - if (index) return index; - try { - index = await (await fetch('/search.json')).json(); - } catch { - // Network hiccup: say so instead of failing silently; index stays - // null so the next keystroke retries. - status.textContent = 'Search is unavailable right now.'; - return null; - } - return index; - } - // First title match wrapped in (Starlight search pattern) — built - // from text nodes, never innerHTML. - function highlight(text, q) { - const i = text.toLowerCase().indexOf(q); - if (i < 0) return [text]; - const mark = document.createElement('mark'); - mark.textContent = text.slice(i, i + q.length); - return [text.slice(0, i), mark, text.slice(i + q.length)]; - } - function label(text) { - const li = document.createElement('li'); - li.className = 'suggest-label'; - li.setAttribute('aria-hidden', 'true'); // the status line announces it - li.textContent = text; - return li; - } - function row(children, href, q) { - const li = document.createElement('li'); - const a = document.createElement('a'); - a.href = href; - if (q) a.dataset.q = q; - a.append(...children); - li.append(a); - return li; - } - // Dropdowns close with a "Press Enter for all results" row — a real list - // element (was a CSS ::after), aria-hidden like the group labels so - // screen-reader exposure stays consistent (the status line announces). - function hint() { - if (!opts.dismiss || !list.firstChild) return; - const li = document.createElement('li'); - li.className = 'suggest-hint'; - li.setAttribute('aria-hidden', 'true'); - li.textContent = 'Press Enter for all results'; - list.append(li); - } - // Focused-empty state: up to 4 recent queries, topped up to 5 rows with - // the newest articles from the same index. - async function idle() { - if (input.value.trim().length >= 2) return; - // Build off-DOM, swap atomically — clearing before the await shrinks the - // page mid-flight and the browser clamps the scroll position ("jumps up"). - const frag = document.createDocumentFragment(); - const r = recents(); - if (r.length) { - frag.append(label('Recent')); - for (const term of r) frag.append(row([term], '/search?q=' + encodeURIComponent(term), term)); - } - const idx = await ensureIndex(); - if (!idx) return; - const fresh = idx.slice(0, Math.max(1, 5 - r.length)); - if (input.value.trim().length >= 2) return; // typed meanwhile — run() owns the list - frag.append(label('Latest news')); - for (const p of fresh) { - const li = row([p.title], '/news/' + encodeURIComponent(p.slug)); - const small = document.createElement('small'); - small.textContent = p.date; - li.append(small); - frag.append(li); - } - list.replaceChildren(frag); - hint(); - status.textContent = opts.hint || (r.length ? 'Showing recent searches and latest news' : 'Showing latest news'); - } - async function run() { - const q = input.value.trim().toLowerCase(); - if (q.length < 2) { list.replaceChildren(); idle(); return; } - const idx = await ensureIndex(); - if (!idx) { list.replaceChildren(); return; } - const hits = idx - .filter((p) => (p.title + ' ' + p.description + ' ' + p.category).toLowerCase().includes(q)) - .slice(0, opts.limit); - const unit = opts.unit || 'result'; - status.textContent = hits.length - ? hits.length + ' ' + unit + (hits.length === 1 ? '' : 's') + ' for “' + input.value.trim() + '”' - : 'No results for “' + input.value.trim() + '”. Try a shorter or different term.'; - // Off-DOM build + atomic swap (no transient page-height collapse) - const frag = document.createDocumentFragment(); - for (const p of hits) { - const li = row(highlight(p.title, q), '/news/' + encodeURIComponent(p.slug)); - const small = document.createElement('small'); - small.textContent = p.date; - li.append(small); - frag.append(li); - } - // Dropdown only: an empty list would collapse (.suggest:empty) and the - // panel would just vanish — show the no-results line sighted users too - // (the status line above is sr-only in the header; /search shows a - // visible notice instead). - if (!hits.length && opts.dismiss) { - const li = document.createElement('li'); - li.className = 'suggest-hint'; - li.setAttribute('aria-hidden', 'true'); // the status line announces it - li.textContent = 'No results for “' + input.value.trim() + '”'; - frag.append(li); - } - list.replaceChildren(frag); - hint(); - } - input.addEventListener('input', () => { clearTimeout(timer); timer = setTimeout(run, 150); }); - input.addEventListener('focus', () => { if (input.value.trim().length < 2) idle(); }); - // Remember successful queries: Enter (form submit) and suggestion clicks - if (input.form) input.form.addEventListener('submit', () => remember(input.value)); - list.addEventListener('click', (e) => { - const a = e.target.closest && e.target.closest('a'); - remember((a && a.dataset.q) || input.value); - }); - // Dropdown dismiss (opt-in — /search keeps its results list). The - // suggestion list is a NON-MODAL popup (combobox-style; plain - // Tab-reachable links, no roving arrow-key focus): interacting outside - // the field+list closes it but the interaction is NOT swallowed — - // unlike the modal header panels, which scrim-dismiss in Base.astro. - if (opts.dismiss) { - const box = input.closest('form') || input.parentElement; - const hide = () => { clearTimeout(timer); list.replaceChildren(); status.textContent = ''; }; - document.addEventListener('pointerdown', (e) => { if (list.firstChild && !box.contains(e.target)) hide(); }); - // relatedTarget may be null mid-click on our own links — pointerdown covers that path - box.addEventListener('focusout', (e) => { if (e.relatedTarget && !box.contains(e.relatedTarget)) hide(); }); - input.addEventListener('keydown', (e) => { - if (e.key === 'Escape' && list.firstChild) { hide(); e.stopPropagation(); } // panel Escape stays a second step - }); - } - return run; // callers may run() immediately (e.g. /search?q=…) - }; -})(); diff --git a/sample-content/pages/consectetur-adipiscing.md b/sample-content/pages/consectetur-adipiscing.md new file mode 100644 index 0000000..4c9c760 --- /dev/null +++ b/sample-content/pages/consectetur-adipiscing.md @@ -0,0 +1,12 @@ +--- +title: "Consectetur adipiscing" +introduction: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." +--- + +## Consectetur adipiscing + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + +- Lorem ipsum dolor sit amet. +- Consectetur adipiscing elit. +- Sed do eiusmod tempor incididunt. diff --git a/sample-content/pages/dolor-sit-amet.md b/sample-content/pages/dolor-sit-amet.md new file mode 100644 index 0000000..311b501 --- /dev/null +++ b/sample-content/pages/dolor-sit-amet.md @@ -0,0 +1,19 @@ +--- +title: "Dolor sit amet" +introduction: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." +image: "/uploads/hero.jpg" +imageAlt: "Telescope beneath a star-filled night sky" +imageCaption: "Lorem ipsum dolor sit amet, consectetur adipiscing elit." +--- + +## Dolor sit amet + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + + + +Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam. + +Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur. At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti. + +Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. diff --git a/sample-content/pages/lorem-ipsum.md b/sample-content/pages/lorem-ipsum.md new file mode 100644 index 0000000..0a0deca --- /dev/null +++ b/sample-content/pages/lorem-ipsum.md @@ -0,0 +1,25 @@ +--- +title: "Lorem Ipsum Dolor Sit Amet Consectetur" +introduction: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." +image: "/uploads/hero.jpg" +imageAlt: "Telescope beneath a star-filled night sky" +imageCaption: "Lorem ipsum dolor sit amet, consectetur adipiscing elit." +buttonLabel: "Lorem ipsum" +buttonUrl: "/example/dolor-sit-amet/" +--- + +## Lorem Ipsum Dolor + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat ([lorem ipsum](/example/dolor-sit-amet/)). Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo [inventore veritatis](/example/consectetur-adipiscing/) et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia [consequuntur magni](/example/sed-do-eiusmod/) dolores eos qui ratione voluptatem sequi nesciunt. + +> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + +## Consectetur Adipiscing Elit + +Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam. + +Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur. At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti. + +Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. diff --git a/sample-content/pages/sed-do-eiusmod.md b/sample-content/pages/sed-do-eiusmod.md new file mode 100644 index 0000000..ffe6039 --- /dev/null +++ b/sample-content/pages/sed-do-eiusmod.md @@ -0,0 +1,16 @@ +--- +title: "Sed do eiusmod" +introduction: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." +--- + +## Sed do eiusmod + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + + + +Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam. + +Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur. At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti. + +Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. diff --git a/sample-content/uploads/hero.jpg b/sample-content/uploads/hero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fdc915ca3e2220533f5f28f6ae04ba54dbc8d7ad GIT binary patch literal 179959 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.`); + } + } +} + +if (ensure && existsSync(pages)) { + validate(pages); +} else { + validate(join(source, 'pages')); + if (!existsSync(join(source, 'uploads'))) throw new Error(`Missing uploads directory in ${source}`); + mkdirSync(pages, { recursive: true }); + mkdirSync(uploads, { recursive: true }); + for (const { slug } of examples) { + cpSync(join(source, 'pages', `${slug}.md`), join(pages, `${slug}.md`)); + } + cpSync(join(source, 'uploads'), uploads, { recursive: true }); + console.log(`Example content copied from ${source}`); +} diff --git a/scripts/link-content.sh b/scripts/link-content.sh index a8046b4..3cdb0ea 100755 --- a/scripts/link-content.sh +++ b/scripts/link-content.sh @@ -1,17 +1,7 @@ #!/usr/bin/env bash # Local dev: put the content repo's files where the build expects them. # Usage: ./scripts/link-content.sh [path-to-content-clone] (default ../ctao-content) -# Copies (not symlinks) so the dev tree behaves exactly like the machine -# build overlay; re-run after pulling content changes. +# Cross-platform implementation is shared with npm run content:sync. set -euo pipefail cd "$(dirname "$0")/.." -src="${1:-../ctao-content}" -for d in news pages uploads; do - [ -d "$src/$d" ] || { echo "content clone incomplete: $src/$d missing (git clone /ctao/content.git first)"; exit 1; } -done -rm -rf src/content/news src/content/pages public/uploads -mkdir -p src/content public -cp -a "$src/news" src/content/news -cp -a "$src/pages" src/content/pages -cp -a "$src/uploads" public/uploads -echo "content linked from $src" +node scripts/content.mjs "${1:-../ctao-content}" diff --git a/scripts/local-content.mjs b/scripts/local-content.mjs new file mode 100644 index 0000000..e6acb87 --- /dev/null +++ b/scripts/local-content.mjs @@ -0,0 +1,19 @@ +// Prepare a disposable content repository for Sveltia's local folder picker. +import { cpSync, existsSync, mkdirSync } from 'node:fs'; +import { execFileSync } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; +import { join } from 'node:path'; + +const root = fileURLToPath(new URL('../', import.meta.url)); +const local = join(root, '.tmp/content'); +if (!existsSync(local)) { + mkdirSync(local, { recursive: true }); + cpSync(join(root, 'sample-content/pages'), join(local, 'pages'), { recursive: true }); + cpSync(join(root, 'sample-content/uploads'), join(local, 'uploads'), { recursive: true }); +} +if (!existsSync(join(local, '.git'))) { + execFileSync('git', ['init', '--quiet', '--initial-branch=simple', local], { stdio: 'inherit' }); +} +execFileSync(process.execPath, [join(root, 'scripts/content.mjs'), local], { stdio: 'inherit' }); +console.log(`In Sveltia, choose Work with Local Repository and select: ${local}`); +console.log('After saving, run: npm run content:sync -- .tmp/content'); diff --git a/scripts/preview-styles.mjs b/scripts/preview-styles.mjs new file mode 100644 index 0000000..74c8538 --- /dev/null +++ b/scripts/preview-styles.mjs @@ -0,0 +1,13 @@ +// Derive editor body styles from the mockup CSS so the preview cannot drift. +import { readFileSync, writeFileSync } from 'node:fs'; + +const css = readFileSync(new URL('../src/styles/global.css', import.meta.url), 'utf8'); +const base = css.slice(0, css.indexOf('/* Utilities')); +const prose = css.slice(css.indexOf('/* Prose'), css.indexOf('/* Footer')); +const markdown = css.slice(css.indexOf('.prose { overflow-wrap:'), css.indexOf('.submenu a[aria-current="page"]')); +const preview = (base + prose + markdown).replace(/\.prose\b/g, 'body'); +writeFileSync(new URL('../public/admin/preview.css', import.meta.url), + '/* Generated by scripts/preview-styles.mjs; edit src/styles/global.css. */\n' + preview + ` +body { display: block; min-height: 0; max-width: 64rem; margin: 0 auto; padding: 1.5rem; } +h1 { color: var(--galaxy-blue); font-family: var(--font-head); font-weight: 500; line-height: 1.05; } +`); diff --git a/src/components/NewsCard.astro b/src/components/NewsCard.astro deleted file mode 100644 index 1eb1417..0000000 --- a/src/components/NewsCard.astro +++ /dev/null @@ -1,16 +0,0 @@ ---- -// The one news card — used by the home page and the /news archive. -// `featured` (archive page 1, first item) switches the wide lead variant and -// eager-loads its cover. Cover alt stays empty by design: the image is -// decorative next to the always-visible title. -import { fmt, iso, readMin } from '../lib/news.js'; -const { post, featured = false } = Astro.props; ---- - diff --git a/src/components/PageHero.astro b/src/components/PageHero.astro new file mode 100644 index 0000000..5b4f085 --- /dev/null +++ b/src/components/PageHero.astro @@ -0,0 +1,17 @@ +--- +interface Props { title: string; introduction?: string; example?: boolean; hasImage?: boolean } +const { title, introduction, example = false, hasImage = false } = Astro.props; +--- +
+
+ +

{title}

+ {introduction &&

{introduction}

} +
+
diff --git a/src/content.config.ts b/src/content.config.ts index 10023f4..fb35762 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -1,41 +1,26 @@ import { defineCollection } from 'astro:content'; import { z } from 'astro/zod'; import { glob } from 'astro/loaders'; +import examples from './data/examples.json'; -// News/articles live as Markdown files in src/content/news/*.md. -// This is exactly what Sveltia CMS edits — the CMS writes these files, Astro -// renders them to static HTML at build time. -const news = defineCollection({ - // Top-level only ('*.md', not '**'): entry ids feed a non-rest [slug] - // route, and an id from a subfolder would contain '/' and break it. - loader: glob({ pattern: '*.md', base: './src/content/news' }), - schema: z.object({ - title: z.string(), - description: z.string(), - date: z.coerce.date(), - category: z.string().default('news'), - author: z.string().default('CTAO'), - // Public-path string, e.g. "/uploads/foo.jpg" — media lives in the - // content repo's uploads/, overlaid to public/uploads at build time, - // which Astro's image() helper can't validate (src/ only). - cover: z.string().optional(), - // BCP-47 tag when an article is not in English (e.g. "pl") — set as lang - // on the
element so screen readers pick the right voice. - lang: z.string().optional(), - draft: z.boolean().default(false), - }), -}); - -// Static portal pages (privacy, disclaimer, contact…) — separate collection -// because the content type differs (no dates/covers/categories), and editors -// get a distinct "Pages" section in the CMS. +const destination = z.string().refine( + (value) => !value || /^(\/(?!\/)|https?:\/\/|mailto:|#)/.test(value), + 'Use a site path, https:// URL, mailto: address, or fragment.', +); const pages = defineCollection({ - // Top-level only, same reason as news: the [slug] route is non-rest. - loader: glob({ pattern: '*.md', base: './src/content/pages' }), + // Only these four files can become public content pages. + loader: glob({ + pattern: `{${examples.map(({ slug }) => slug).join(',')}}.md`, + base: './src/content/pages', + }), schema: z.object({ - title: z.string(), - description: z.string().optional(), + title: z.string().min(1), + introduction: z.string().optional(), + image: z.string().optional(), + imageAlt: z.string().optional(), + imageCaption: z.string().optional(), + buttonLabel: z.string().optional(), + buttonUrl: destination.optional(), }), }); - -export const collections = { news, pages }; +export const collections = { pages }; diff --git a/src/data/examples.json b/src/data/examples.json new file mode 100644 index 0000000..f6854d0 --- /dev/null +++ b/src/data/examples.json @@ -0,0 +1,18 @@ +[ + { + "slug": "lorem-ipsum", + "label": "Lorem ipsum" + }, + { + "slug": "dolor-sit-amet", + "label": "Dolor sit amet" + }, + { + "slug": "consectetur-adipiscing", + "label": "Consectetur adipiscing" + }, + { + "slug": "sed-do-eiusmod", + "label": "Sed do eiusmod" + } +] diff --git a/src/data/placeholders.json b/src/data/placeholders.json new file mode 100644 index 0000000..8840213 --- /dev/null +++ b/src/data/placeholders.json @@ -0,0 +1,42 @@ +[ + { + "slug": "news", + "title": "News" + }, + { + "slug": "data", + "title": "Data" + }, + { + "slug": "proposals", + "title": "Proposals" + }, + { + "slug": "dashboard", + "title": "Dashboard" + }, + { + "slug": "login", + "title": "Sign in" + }, + { + "slug": "search", + "title": "Search" + }, + { + "slug": "support", + "title": "Support" + }, + { + "slug": "pages/privacy", + "title": "Privacy" + }, + { + "slug": "pages/disclaimer", + "title": "Disclaimer" + }, + { + "slug": "pages/contact", + "title": "Contact" + } +] diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index fae7bcf..b881dfe 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -1,191 +1,119 @@ --- import '../styles/global.css'; -// `ambient` opts a page into the whole-page drifting brand wash (home only) -// `type`/`image` feed the social meta: articles pass type="article" + their cover. -const { title = 'CTAO Science Portal', description = 'CTAO Science Portal demo', ambient = false, type = 'website', image } = Astro.props; -// Absolute URLs for canonical/OG/RSS (head pattern from the official Astro -// blog template). `site` comes from astro.config.mjs and is always set. -const site = Astro.site; -const canonical = new URL(Astro.url.pathname, site); -// SVG covers never reach og:image — link-preview crawlers (Slack/Teams/ -// LinkedIn) don't render SVG, so those articles fall back to the brand card. -const ogImage = new URL(image && !image.endsWith('.svg') ? image : '/brand/og-card.jpg', site); -const path = Astro.url.pathname; -const isActive = (href: string) => (href === '/' ? path === '/' : path.startsWith(href)); -// Navigation = services from the Science Portal spec (REQUIREMENTS.md §2/§5). -// Order: serial-position effect (NN/g) — News (universal entry) first, Support -// (help convention) last; Data/Proposals by task frequency; Dashboard is the -// personal area, placed late next to the Sign-in cluster. External systems -// built by other teams are links out, clearly marked. -const links = [ - { href: '/news', label: 'News' }, - { href: 'https://padc-ctao-data-explorer.obspm.fr/', label: 'Data', ext: true }, - { href: '/proposals', label: 'Proposals' }, - { href: '/dashboard', label: 'Dashboard' }, - { href: '/support', label: 'Support' }, -]; +import examples from '../data/examples.json'; +interface Props { title?: string; description?: string } +const { title = 'CTAO Science Portal', description = 'CTAO Science Portal' } = Astro.props; +const path = Astro.url.pathname.replace(/\/?$/, '/'); +const canonical = new URL(Astro.url.pathname, Astro.site); --- -{/* Always "en": the chrome (nav/footer) is English; a non-English article - sets lang on its
element instead ([slug].astro). */} - {title} + {title === 'CTAO Science Portal' ? title : `${title} – CTAO`} - - {/* Social cards (Open Graph + Twitter) — article cover when present, brand card otherwise */} - - - - - - - - - - - - {/* The home hero photo is a CSS background, which browsers discover late — - preloading it moves the page's LCP element to the front of the queue. */} - {path === '/' && } - {/* Brand typography (BRAND D.3): Inter (body) + Space Grotesk (headlines). - Both ship inlined as data: URIs in the render-blocking stylesheet — - no font request, no swap (see global.css @font-face). */} + + + - - - + + +
+ + diff --git a/src/layouts/Placeholder.astro b/src/layouts/Placeholder.astro new file mode 100644 index 0000000..36a6a12 --- /dev/null +++ b/src/layouts/Placeholder.astro @@ -0,0 +1,10 @@ +--- +import Base from './Base.astro'; +import PageHero from '../components/PageHero.astro'; +interface Props { title: string } +const { title } = Astro.props; +--- + + +
+ diff --git a/src/lib/news.js b/src/lib/news.js deleted file mode 100644 index 5d1fbd0..0000000 --- a/src/lib/news.js +++ /dev/null @@ -1,11 +0,0 @@ -// Shared news helpers — single source for card metadata and archive chunking. -export const fmt = (d) => new Intl.DateTimeFormat('en-GB', { dateStyle: 'long' }).format(d); -export const iso = (d) => d.toISOString().slice(0, 10); -// Reading time from the Markdown body (~220 wpm) — differentiating card metadata; -// category/author are identical across all articles, so cards omit them (NN/g). -export const readMin = (p) => Math.max(1, Math.round((p.body ?? '').split(/\s+/).length / 220)); -// Archive chunking: page 1 holds 25 items (1 featured lead + 24 grid = even -// 3-column rows), later pages 24. Used by BOTH the /news/[...page] route and -// sitemap.xml.js — the page counts cannot drift apart. -export const PAGE_FIRST = 25; -export const PAGE_REST = 24; diff --git a/src/pages/404.astro b/src/pages/404.astro index 130c600..7b28356 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,24 +1,8 @@ --- import Base from '../layouts/Base.astro'; +import PageHero from '../components/PageHero.astro'; --- - - {/* Document archetype: the document IS the page — h1, one line, - recovery links, and a real GET search form as the way forward. */} -
- -
+ + + diff --git a/src/pages/[...placeholder].astro b/src/pages/[...placeholder].astro new file mode 100644 index 0000000..0a301d6 --- /dev/null +++ b/src/pages/[...placeholder].astro @@ -0,0 +1,9 @@ +--- +import Placeholder from '../layouts/Placeholder.astro'; +import placeholders from '../data/placeholders.json'; +export function getStaticPaths() { + return placeholders.map(({ slug, title }) => ({ params: { placeholder: slug }, props: { title } })); +} +const { title } = Astro.props; +--- + diff --git a/src/pages/admin/index.astro b/src/pages/admin/index.astro index 7b33bd4..d0e92d7 100644 --- a/src/pages/admin/index.astro +++ b/src/pages/admin/index.astro @@ -29,7 +29,7 @@ diff --git a/src/pages/dashboard.astro b/src/pages/dashboard.astro deleted file mode 100644 index 3d14bb2..0000000 --- a/src/pages/dashboard.astro +++ /dev/null @@ -1,30 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; -// Per SPEC §3.3.2 the dashboard aggregates proposal statuses, data products -// and help-desk tickets. No integrations exist yet, so panels show empty -// states instead of fabricated sample rows (source-documents-only rule). ---- - -
-
-

Dashboard

-

Your proposals, data products and support tickets in one place.

-
-
-
-
-

My proposals

-

Proposal statuses will appear here once the Proposal Handling System (APC team) is connected.

-
-
-

Recent data products

-

Your data products will appear here. Search and download in the Data Explorer (external, LUX team).

-
-
-

Support tickets

-

Help-desk tickets will appear here once User Support is connected.

-
-
-
-
- diff --git a/src/pages/example/[slug].astro b/src/pages/example/[slug].astro new file mode 100644 index 0000000..9d1714f --- /dev/null +++ b/src/pages/example/[slug].astro @@ -0,0 +1,35 @@ +--- +import { getCollection, render } from 'astro:content'; +import Base from '../../layouts/Base.astro'; +import PageHero from '../../components/PageHero.astro'; +import examples from '../../data/examples.json'; + +export async function getStaticPaths() { + const pages = await getCollection('pages'); + return examples.map(({ slug }) => { + const page = pages.find(({ id }) => id === slug); + if (!page) throw new Error(`Missing Example page: ${slug}. Run npm run content:setup.`); + return { params: { slug }, props: { page } }; + }); +} +const { page } = Astro.props; +const { Content } = await render(page); +const { title, introduction, image, imageAlt, imageCaption, buttonLabel, buttonUrl } = page.data; +--- + + + {image &&
+
+ {imageAlt + {imageCaption &&
{imageCaption}
} +
+
} + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 7fa2335..71f7c38 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,93 +1,4 @@ --- -import { getCollection } from 'astro:content'; -import Base from '../layouts/Base.astro'; -import NewsCard from '../components/NewsCard.astro'; - -const posts = (await getCollection('news', ({ data }) => !data.draft)) - .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()) - .slice(0, 3); -// Services per the Science Portal spec (REQUIREMENTS §5). Tiles carry no -// status chrome; the footer's demo note is the single mock disclosure. -// Planned services stay in the grid but subdued (muted, no link) with -// availability folded into the description text. -// Tile icons: hand-drawn stroke glyphs in the header-icon family (.ico — -// currentColor, round caps), aria-hidden. NN/g icon research: icons alone are -// ambiguous, but NEXT TO an always-visible label they differentiate otherwise -// uniform tiles and speed up grid scanning. -const services = [ - { title: 'Proposals', href: '/proposals', desc: 'Submit observation proposals, including ToO / MWL requests.', - icon: '' }, - { title: 'Data Explorer', href: 'https://padc-ctao-data-explorer.obspm.fr/', ext: true, desc: 'Search and download CTAO science data products.', - icon: '' }, - { title: 'Dashboard', href: '/dashboard', desc: 'Your proposals, data products and support tickets in one place.', - icon: '' }, - { title: 'User Support', href: '/support', desc: 'Help desk, FAQ, user forum and mailing lists.', - icon: '' }, - // Two subdued planned tiles complete the 2×3 grid (an orphan 4th tile in a - // 3-col grid reads broken); the remaining TBD services stay on the quiet line. - { title: 'Software', planned: true, desc: 'Landing page for CTAO software (planned).', - icon: '' }, - { title: 'Documentation', planned: true, desc: 'CTAO user documentation (planned).', - icon: '' }, -]; -const planned = ['Scheduling', 'Science alerts']; +import Placeholder from '../layouts/Placeholder.astro'; --- - - {/* Photographic hero: LST-1 under the La Palma night sky (copied from the - content library to /brand/hero.jpg) beneath the Galaxy scrim — text - contrast computed worst-case at design time. Three elements only: - headline, brand subtitle, CTA pair (Apple hero restraint). */} -
- -
-
Cherenkov Telescope Array Observatory
-

CTAO Science Portal

-

Exploring the Universe at the Highest Energies

- {/* Hero actions = the two REAL things a logged-out visitor can do today: - news (SPEC §3.1 lists general information/announcements FIRST; §3.3.1 - "displays the main information"; calls for proposals arrive VIA news) - and the external Data Explorer. Proposals stays in nav + tiles — a - mock doesn't earn hero billing. Search lives in the header. */} - -
-
- - {/* Section order is task-first: Services directly under the hero, news after. - NN/g homepage principles — the homepage must give clear starting points - for the user's top tasks; for scientists that is proposals/data/support, - not reading news. Freshness is still signalled above the fold by the - one-line hero teaser, so the 3-card news section can sit below. - Surface rhythm: services on Moon Gray, editorial news on white. */} -
-
-

Services

-
- {services.map((s) => ( - - ))} -
-

Planned services: {planned.join(' · ')}

-
-
- -
-
-

Latest news

- All news → -
-
- {posts.map((post) => )} -
-
- + diff --git a/src/pages/login.astro b/src/pages/login.astro deleted file mode 100644 index 5463099..0000000 --- a/src/pages/login.astro +++ /dev/null @@ -1,16 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; ---- - -
- -
- -

Sign in

- {/* Auth pages are scanned, not read — one line, no reassurance prose */} -

Use your CTAO account (single sign-on via CTAO AAI).

- -

No account? Register via CTAO AAI

-
-
- diff --git a/src/pages/news/[...page].astro b/src/pages/news/[...page].astro deleted file mode 100644 index e183974..0000000 --- a/src/pages/news/[...page].astro +++ /dev/null @@ -1,83 +0,0 @@ ---- -import { getCollection } from 'astro:content'; -import Base from '../../layouts/Base.astro'; -import NewsCard from '../../components/NewsCard.astro'; -import { PAGE_FIRST as FIRST, PAGE_REST as REST } from '../../lib/news.js'; - -// Paginated archive; the [...page] rest route makes page 1 the bare /news URL, -// then /news/2 … /news/N. Custom slicing instead of paginate(): page 1 holds -// FIRST items (1 featured lead + 24 grid = even 3-column rows), later pages -// REST — paginate() cannot vary page size. Chunk sizes live in lib/news.js, -// shared with sitemap.xml.js. -export async function getStaticPaths() { - const posts = (await getCollection('news', ({ data }) => !data.draft)).sort( - (a, b) => b.data.date.valueOf() - a.data.date.valueOf(), - ); - const chunks = [posts.slice(0, FIRST)]; - for (let i = FIRST; i < posts.length; i += REST) chunks.push(posts.slice(i, i + REST)); - const lastPage = chunks.length; - const hrefOf = (n: number) => (n === 1 ? '/news' : `/news/${n}`); - return chunks.map((data, i) => { - const n = i + 1; - return { - params: { page: n === 1 ? undefined : String(n) }, - props: { page: { - data, - currentPage: n, - lastPage, - url: { - prev: n > 1 ? hrefOf(n - 1) : undefined, - next: n < lastPage ? hrefOf(n + 1) : undefined, - }, - } }, - }; - }); -} - -const { page } = Astro.props; -const first = page.currentPage === 1; -// Windowed page list — 1 … n-1 n n+1 … last (0 marks an ellipsis) -const nums = []; -for (let n = 1; n <= page.lastPage; n++) { - if (n === 1 || n === page.lastPage || Math.abs(n - page.currentPage) <= 1) nums.push(n); - else if (nums.at(-1) !== 0) nums.push(0); -} -const hrefFor = (n: number) => (n === 1 ? '/news' : `/news/${n}`); ---- - - {/* Section-landing archetype: white head, display Galaxy h1 + standfirst - (the navy band is reserved for / and /login). */} -
-

News & Announcements

-

Science highlights and updates from the observatory and its partners.

-
- -
-

{first ? 'All news' : `All news, page ${page.currentPage}`}

-
- {page.data.map((post, i) => )} -
- {page.lastPage > 1 && ( - - )} -
- diff --git a/src/pages/news/[slug].astro b/src/pages/news/[slug].astro deleted file mode 100644 index cd88b1c..0000000 --- a/src/pages/news/[slug].astro +++ /dev/null @@ -1,144 +0,0 @@ ---- -import { getCollection, render } from 'astro:content'; -import Base from '../../layouts/Base.astro'; -import { fmt, readMin as readMinOf } from '../../lib/news.js'; - -export async function getStaticPaths() { - // Date-sorted so each article knows its sequential neighbours (prev/next - // pattern of every editorial site — keeps readers in the content flow). - const posts = (await getCollection('news', ({ data }) => !data.draft)).sort( - (a, b) => b.data.date.valueOf() - a.data.date.valueOf(), - ); - return posts.map((post, i) => ({ - params: { slug: post.id }, - props: { post, newer: posts[i - 1] ?? null, older: posts[i + 1] ?? null }, - })); -} - -const { post, newer, older } = Astro.props; -const { Content, headings } = await render(post); -const toc = headings.filter((h) => h.depth === 2 || h.depth === 3); -const readMin = readMinOf(post); ---- - - {/* Reading progress (scroll-driven CSS, no JS) — styled only where - animation-timeline is supported; elsewhere it stays an empty div. */} - - {/* TOC pattern (MDN/Stripe/NN-g): sticky right rail ≥1200px, collapsed
- under the title below that. CSS shows exactly one of the two. */} - {/* lang sits on the article, not : the chrome (nav/footer) stays - English for screen readers even when the article body is not. */} -
-
- ← All news - {/* Editorial anatomy (Guardian/BBC/Reuters convention): headline → - standfirst → byline/meta → lead image → body. The standfirst is the - description made visible — cards already show it, the article should too. */} -

{post.data.title}

-

{post.data.description}

- {/* Meta — one quiet muted line: category · author · date · reading time */} -
- {post.data.category}· - {post.data.author}· - · - {readMin} min read -
- {post.data.cover && } - {/* TOC sits between lead image and body (Wikipedia/GOV.UK contents - position): the press head above stays unbroken, and the list is - adjacent to the content it indexes. */} - {toc.length >= 3 && ( -
- On this page -
    - {toc.map((h) => ( -
  1. {h.text}
  2. - ))} -
-
- )} -
- -
- {(newer || older) && ( - - )} -
- {toc.length >= 3 && ( - - )} -
- - - diff --git a/src/pages/pages/[slug].astro b/src/pages/pages/[slug].astro deleted file mode 100644 index 54d8eec..0000000 --- a/src/pages/pages/[slug].astro +++ /dev/null @@ -1,27 +0,0 @@ ---- -import { getCollection, render } from 'astro:content'; -import Base from '../../layouts/Base.astro'; - -export async function getStaticPaths() { - const pages = await getCollection('pages'); - return pages.map((page) => ({ params: { slug: page.id }, props: { page } })); -} - -const { page } = Astro.props; -const { Content } = await render(page); ---- - - {/* Same wrapper pattern as news/[slug] (never .container and .article on - one element — both set max-width and would depend on rule order). */} -
-
- {/* Static pages are footer-reached documents; same back affordance as - articles ("← All news") so deep links aren't dead ends. */} - ← Home -

{page.data.title}

-
- -
-
-
- diff --git a/src/pages/proposals.astro b/src/pages/proposals.astro deleted file mode 100644 index 7c2b420..0000000 --- a/src/pages/proposals.astro +++ /dev/null @@ -1,28 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; ---- - -
-
-

Observation proposals

-

Submit observation proposals, including ToO and MWL requests.

-
-
- {/* Integration landing, not a form: the PHS is APC's product — the spec - (§3.3.3) scopes this portal to integrating it, so we describe the - hand-off instead of imitating their submission UI. */} -
-

Proposal Handling System

-

Submitting observation proposals, including Target of Opportunity (ToO) - and multi-wavelength (MWL) requests, happens in the Proposal Handling - System. That system is built by the APC team and integrated into this portal.

-

What the portal contributes:

-
    -
  • This menu entry, with a single sign-on hand-off (CTAO AAI).
  • -
  • Proposal status feedback in your Dashboard.
  • -
- -
-
-
- diff --git a/src/pages/rss.xml.js b/src/pages/rss.xml.js deleted file mode 100644 index aeb623d..0000000 --- a/src/pages/rss.xml.js +++ /dev/null @@ -1,43 +0,0 @@ -// RSS 2.0 feed — hand-rolled static endpoint like search.json.js (no @astrojs/rss -// dependency; the spec is 20 lines of XML). Newest 30 items, absolute URLs from -// the configured `site`. -import { getCollection } from 'astro:content'; - -const esc = (s = '') => - s.replace(/[<>&'"]/g, (c) => ({ '<': '<', '>': '>', '&': '&', "'": ''', '"': '"' })[c]); - -export async function GET(context) { - const site = context.site; // always set in astro.config.mjs - const posts = (await getCollection('news', ({ data }) => !data.draft)) - .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()) - .slice(0, 30); - - const items = posts - .map((p) => { - const url = new URL(`/news/${p.id}`, site).href; - return ` - ${esc(p.data.title)} - ${url} - ${url} - ${p.data.date.toUTCString()} - ${esc(p.data.description)} - ${esc(p.data.category)} - `; - }) - .join('\n'); - - const xml = ` - - - CTAO Science Portal News - ${new URL('/news', site).href} - News and announcements of the Cherenkov Telescope Array Observatory - en - ${(posts[0]?.data.date ?? new Date()).toUTCString()} - -${items} - - -`; - return new Response(xml, { headers: { 'Content-Type': 'application/rss+xml; charset=utf-8' } }); -} diff --git a/src/pages/search.astro b/src/pages/search.astro deleted file mode 100644 index df18c25..0000000 --- a/src/pages/search.astro +++ /dev/null @@ -1,36 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; ---- - - {/* Utility archetype: ONE surface per page — Moon canvas from the landing - head down (borderless cards/panels pop against it); editorial pages stay - all-white. No mid-page surface seams. */} -
-
-

Search

-

Find news and announcements.

-
-
- -

Type to search the news archive.

-
    - -
    -
    - - -{/* search-client.js is loaded once (deferred) by the Base layout; this inline - module runs after it in the shared after-parse queue — order guaranteed. */} - diff --git a/src/pages/search.json.js b/src/pages/search.json.js deleted file mode 100644 index 1dce58e..0000000 --- a/src/pages/search.json.js +++ /dev/null @@ -1,19 +0,0 @@ -// Build-time search index (Astro static endpoint — no server, no dependencies). -// Kept lean: title/description/category/date/slug only (~60 KB for 200+ articles). -import { getCollection } from 'astro:content'; - -export async function GET() { - const posts = await getCollection('news', ({ data }) => !data.draft); - const index = posts - .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()) - .map((p) => ({ - slug: p.id, - title: p.data.title, - description: p.data.description, - category: p.data.category, - date: p.data.date.toISOString().slice(0, 10), - })); - return new Response(JSON.stringify(index), { - headers: { 'Content-Type': 'application/json; charset=utf-8' }, - }); -} diff --git a/src/pages/sitemap.xml.js b/src/pages/sitemap.xml.js index eb5050d..73e1bb8 100644 --- a/src/pages/sitemap.xml.js +++ b/src/pages/sitemap.xml.js @@ -1,40 +1,12 @@ -// Sitemap — hand-rolled static endpoint (no @astrojs/sitemap dependency; our URL -// set is fully known at build time). /admin is intentionally excluded. -import { getCollection } from 'astro:content'; -import { PAGE_FIRST, PAGE_REST } from '../lib/news.js'; - -// Chunk sizes are imported from lib/news.js — the same values the -// /news/[...page] route slices with, so the page count here cannot drift. -const newsPageCount = (n) => (n <= PAGE_FIRST ? 1 : 1 + Math.ceil((n - PAGE_FIRST) / PAGE_REST)); - -export async function GET(context) { - const site = context.site; // always set in astro.config.mjs - const news = (await getCollection('news', ({ data }) => !data.draft)) - .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()); - const pages = await getCollection('pages'); - - // Static pages come from the actual route files, so a new src/pages/*.astro - // can never be forgotten here. 404 is excluded; /admin (subdirectory) is - // intentionally unlisted. Go-live note: /login and /dashboard are mock - // pages — filter them out before robots.txt stops disallowing everything. - const staticPages = Object.keys(import.meta.glob('./*.astro')) - .map((p) => p.slice(1, -'.astro'.length)) - .filter((p) => p !== '/404') - .map((p) => (p === '/index' ? '/' : p)) - .sort(); - const urls = [ - ...staticPages, '/news', - ...Array.from({ length: newsPageCount(news.length) - 1 }, (_, i) => `/news/${i + 2}`), - ...pages.map((p) => `/pages/${p.id}`), - ].map((path) => ` ${new URL(path, site).href}`); - const articles = news.map( - (p) => ` ${new URL(`/news/${p.id}`, site).href}${p.data.date.toISOString().slice(0, 10)}`, - ); +import examples from '../data/examples.json'; +import placeholders from '../data/placeholders.json'; +export function GET({ site }) { + const paths = ['/', ...placeholders.map(({ slug }) => `/${slug}/`), + ...examples.map(({ slug }) => `/example/${slug}/`)]; const xml = ` -${[...urls, ...articles].join('\n')} - -`; +${paths.map((path) => ` ${new URL(path, site).href}`).join('\n')} +`; return new Response(xml, { headers: { 'Content-Type': 'application/xml; charset=utf-8' } }); } diff --git a/src/pages/support.astro b/src/pages/support.astro deleted file mode 100644 index a788209..0000000 --- a/src/pages/support.astro +++ /dev/null @@ -1,29 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; -// User support channels per the Science Portal spec — all mock for now. -const channels = [ - { title: 'Help desk', desc: 'Submit and track support tickets.' }, - { title: 'FAQ & troubleshooting', desc: 'Common questions and step-by-step guides.' }, - { title: 'User forum', desc: 'Discuss with the CTAO user community.' }, - { title: 'Mailing lists', desc: 'Announcements and topical mailing lists.' }, -]; ---- - -
    -
    -

    User Support

    -

    Help desk, FAQ, user forum and mailing lists.

    -
    -
    -

    Support channels

    -
    - {channels.map((c) => ( -
    -

    {c.title}

    -

    {c.desc}

    -
    - ))} -
    -
    -
    - diff --git a/src/styles/global.css b/src/styles/global.css index 360e574..25da924 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,835 +1,856 @@ /* ========================================================================== - CTAO Science Portal — design tokens per the official CTAO Brand Guidelines - (April 2024): colors D.2, typography D.3 (Inter body / Space Grotesk display - at medium weight per D.3.4), flash D.4. All look-and-feel lives in the tokens - below; WCAG 2.1 AA contrast (photo-hero worst cases computed at design time; recompute if scrim or glow alphas change). - Light theme only (brand is light-first; navy bands carry the dark identity). - System rules (spacing / elevation / surfaces / motion) live in the comments next to each block below. + CTAO Science Portal: content page mockup + Colours and type follow the CTAO Brand Guidelines (April 2024). ========================================================================== */ + +/* Fonts + ========================================================================== */ + +@font-face { + font-family: "Inter"; + font-weight: 400 700; + font-display: swap; + src: url("/assets/fonts/inter-latin.woff2") format("woff2"); +} + +@font-face { + font-family: "Space Grotesk"; + font-weight: 500 700; + font-display: swap; + src: url("/assets/fonts/space-grotesk-latin.woff2") format("woff2"); +} + +/* Tokens + ========================================================================== */ + :root { - color-scheme: light; - /* Brand palette — hex values straight from the brand book */ - --galaxy: #00004a; /* Galaxy Blue — headings, header/footer bands */ - --cherenkov: #00e4d8; /* Cherenkov Blue — primary CTA, flash, hero subtitle, logo cluster ONLY */ - --moon: #f5f5f5; /* Moon Gray — surfaces */ - --azure: #007aff; /* Cosmic Azure — focus rings (UI only on light) */ - --indigo: #00009c; /* Interstellar Indigo — gradient depth */ - /* Derived, WCAG-adjusted */ - --text: #101228; /* near-Galaxy body ink */ - --muted: #46536a; - --border: #e2e5ee; - --link: #0057c2; /* Cosmic Azure darkened to pass AA (4.5:1) for body links */ - --on-galaxy-muted: #c7cde9; - --tint-cherenkov: color-mix(in srgb, var(--cherenkov) 16%, transparent); /* highlight only */ - --cherenkov-hover: color-mix(in oklab, var(--cherenkov), var(--galaxy) 12%); /* CTA hover state */ - /* stroke 3: at ~0.72em rendering this matches the .ico family's ~1.5px optical weight */ - --ico-ext: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M7 17 17 7M9 7h8v8" fill="none" stroke="black" stroke-width="3"/%3E%3C/svg%3E'); - /* Type — fonts (BRAND D.3.1/D.3.2) and the ONLY font sizes in this codebase */ - --font-body: "Inter", "Inter Fallback", Arial, system-ui, sans-serif; - --font-display: "Space Grotesk", "Space Grotesk Fallback", var(--font-body); /* headlines only */ - --fs-xs: 0.8125rem; /* chips, meta, badges, labels */ - --fs-s: 0.9rem; /* secondary text, nav, forms, footer */ - --fs-l: 1.125rem; /* card titles, standfirst, panel titles */ - --fs-xl: 1.5rem; /* prose h2, featured title, auth h1 */ - --fs-h2: clamp(1.75rem, 3.5vw, 2.5rem); /* section heads */ - --fs-h1: clamp(2.25rem, 5vw, 3.5rem); /* page/article headlines */ - --fs-display: clamp(2.5rem, 7vw, 4.75rem); /* home hero only */ - /* ctao.org uses generous rounding (15/30/60px tokens) and pill buttons */ - --radius: 16px; - --radius-pill: 999px; - --maxw: 1120px; - /* Fluid spacing scale (Apple-scale rhythm: sections breathe, mobile stays compact). - Every section / container / card padding sits on this scale — no ad-hoc values. */ - --gutter: clamp(18px, 4vw, 28px); /* page side padding */ - --space-s: 12px; - --space-m: 24px; - --space-l: clamp(24px, 2vw + 16px, 40px); - --space-xl: clamp(56px, 7vw, 120px); /* section rhythm */ - --header-h: 56px; /* sticky header; anchors, TOC rail, progress bar derive from it */ - --space-band: clamp(72px, 10vw, 160px); /* hero / auth / landing-head padding */ - /* Elevation — navy-tinted, soft/large/low-alpha; the ONLY two shadows allowed */ - --shadow-ambient: 0 1px 2px rgba(0, 0, 74, 0.04), 0 8px 24px rgba(0, 0, 74, 0.06); - --shadow-lifted: 0 2px 6px rgba(0, 0, 74, 0.05), 0 24px 48px rgba(0, 0, 74, 0.14); - /* Motion — ONE hover language everywhere (ctao.org: quiet .25s fades) */ - --dur: 0.25s; - --ease: ease-out; - /* Nebula glow (BRAND D.5) — auth band, static AND animated. Alphas are - contrast ceilings (computed for AA at design time): Cherenkov ≤.38 / Azure ≤.35; cores sit in - opposite corners — cores never meet. */ - /* Aurora rule (Gemini-style): gradient-only surfaces (login) get LARGE, soft, - slowly flowing color fields — one protagonist per surface: the photo hero - animates only the photo (Ken Burns), never glow flares on top of it. */ - --nebula: - radial-gradient(60% 70% at 78% 78%, rgba(0, 228, 216, 0.42), transparent 70%), - radial-gradient(55% 62% at 10% 12%, rgba(0, 122, 255, 0.36), transparent 68%), - radial-gradient(80% 90% at 42% 55%, rgba(0, 0, 156, 0.8), transparent 74%); - /* Hero scrim over the photo — worst-case AA computed at design time: - small text lives left of 52% band width (α ≥ .76 there). */ - --hero-scrim: linear-gradient(to right, - rgba(0, 0, 74, 0.84), rgba(0, 0, 74, 0.76) 52%, - rgba(0, 0, 74, 0.44) 78%, rgba(0, 0, 74, 0.26)); -} -/* ≤640px the hero text spans the full width — flat scrim, computed ≥5.28:1 */ -@media (max-width: 640px) { - :root { --hero-scrim: linear-gradient(rgba(0, 0, 74, 0.8), rgba(0, 0, 74, 0.8)); } + /* Brand main colours (D.2.1) */ + --galaxy-blue: #00004a; + --cherenkov-blue: #00e4d8; + --moon-gray: #f5f5f5; + + /* Brand secondary colours (D.2.2) */ + --white: #ffffff; + --cosmic-azure: #007aff; + --interstellar-indigo: #00009c; + + /* Text */ + --text: #111111; + --text-muted: #555555; + /* Cosmic Azure at 84% brightness: 5.4:1 on white, 3.5:1 against body text */ + --link: #0066d6; + + /* Type: Inter for everything, Space Grotesk for headlines (D.3) */ + --font-body: "Inter", Arial, sans-serif; + --font-head: "Space Grotesk", Arial, sans-serif; + + /* Layout */ + --content-width: 85rem; + --gutter: clamp(1rem, 4vw, 2.5rem); + --header-height: 7rem; + --header-height-scrolled: 5rem; + --radius-lg: 60px; + --radius-md: 30px; + --radius-sm: 15px; + /* Dropdown submenus (Example, language) */ + --radius-menu: 8px; + --transition: 0.3s ease-in-out; + + /* Film grain tile over the hero background, also hides gradient banding */ + --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"); } -/* Brand fonts — latin subset, variable weight, BOTH inlined below as data: - URIs in this render-blocking stylesheet: no separate font fetch exists, so - there is no swap window and no font flash between navigations. The - metric-matched Arial fallbacks cover only the pre-CSS paint (override - values computed from actual font metrics: weighted latin advance widths, - capsize method). The standalone /fonts/*.woff2 files are used ONLY by - public/admin/preview.css (CMS entry preview) — do not delete them. */ -@font-face { - font-family: "Inter"; font-weight: 400 700; font-display: swap; - /* ~64 KB base64 — the price of zero swap (the tracked uppercase eyebrow - used to rewrap on Inter arrival and jump the hero on mobile). */ - src: url("data:font/woff2;base64,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") format("woff2"); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -@font-face { - font-family: "Space Grotesk"; font-weight: 500 700; font-display: swap; - /* ~30 KB base64 — headlines render correctly from the very first paint - (no swap, no text-wrap:balance reflow jump on slow connections). */ - src: url("data:font/woff2;base64,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") format("woff2"); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -@font-face { - font-family: "Inter Fallback"; src: local("Arial"); - size-adjust: 107%; ascent-override: 90.2%; descent-override: 22.48%; line-gap-override: 0%; -} -@font-face { - font-family: "Space Grotesk Fallback"; src: local("Arial"); - size-adjust: 111.12%; ascent-override: 88.55%; descent-override: 26.28%; line-gap-override: 0%; +/* Base + ========================================================================== */ + +*, +*::before, +*::after { + box-sizing: border-box; } -/* Screen-reader-only utility (visually hidden, still announced) */ -.sr-only { - position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; - overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; +html { + scroll-padding-top: var(--header-height-scrolled); } -* { box-sizing: border-box; } -html { -webkit-text-size-adjust: 100%; } -/* Anchor jumps (TOC, skip link) must land below the 76px sticky header. That - offset used to be a global `html { scroll-padding-top: 76px }` — but Chrome - re-scrolls the focused editable into view on EVERY keystroke and honours - scroll-padding-top while doing it (crbug.com/41492445: the reveal also - ignores the editable's own scroll-margin, so a negative scroll-margin on - the header inputs could not cancel it). The header search fields sit above - the 76px line by definition and, being sticky, can never be scrolled below - it — so each typed character walked the page toward 0. Scoping the offset - to the in-content anchor targets fixes typing and keeps every jump - (TOC headings, skip link → #main) landing below the header. */ -main, main [id] { scroll-margin-top: calc(var(--header-h) + 20px); } -/* Guard, not a solution: every wide element is contained at its own - level (tables scroll in their box, long words wrap); clip only catches - regressions so one offender can never remove the page gutters. `clip`, unlike - `hidden`, creates no scroll container — sticky header keeps working. */ -html, body { overflow-x: clip; } body { margin: 0; font-family: var(--font-body); - background: #fff; - color: var(--text); + font-size: 1rem; line-height: 1.5; - min-height: 100dvh; + color: var(--text); + background: var(--white); + -webkit-font-smoothing: antialiased; } -/* Display type: Space Grotesk at medium weight (BRAND D.3.4 — regular/medium), - tight tracking at display sizes, compact leading. Hierarchy comes from size. */ -h1, h2 { font-family: var(--font-display); font-weight: 500; letter-spacing: -0.025em; line-height: 1.1; } -h3 { font-weight: 600; } -h1, h2, h3, .hero p { text-wrap: balance; } -/* Overlong unbroken words (slugs, codes) may break rather than overflow the page */ -h1, h2, h3 { overflow-wrap: break-word; } -.prose p, .desc { text-wrap: pretty; } - -/* Inline SVG icons — stroke inherits currentColor */ -.ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; flex: none; } - -/* All disclosures (menu, search, TOC) share the plain-button look */ -summary { cursor: pointer; list-style: none; } -summary::-webkit-details-marker { display: none; } - -a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; } -::selection { background: var(--galaxy); color: #fff; } -/* On the navy bands the Galaxy fill would be invisible (band ≈ selection): - the pair inverts, no new colors. */ -:is(.site-header, .hero-band, .auth-band, .footer) ::selection { background: #fff; color: var(--galaxy); } -a:hover { color: var(--indigo); } -/* Placeholder links ( without href) don't pretend to be clickable */ -a:not([href]) { text-decoration: none; cursor: default; } -img { max-width: 100%; height: auto; display: block; } - -/* Visible keyboard focus everywhere (WCAG 2.4.7) */ -:focus-visible { outline: 2px solid var(--azure); outline-offset: 2px; } - -/* Skip link — first tab stop, hidden until focused (WCAG 2.4.1) */ -.skip { - position: absolute; left: 16px; top: -52px; z-index: 20; - background: var(--galaxy); color: #fff; text-decoration: none; - padding: 10px 16px; border-radius: 0 0 var(--radius) var(--radius); -} -.skip:focus { top: 0; } - -/* Safety net: even third-party/UA leftovers never move for reduced-motion users */ -@media (prefers-reduced-motion: reduce) { - *, *::before, *::after { transition: none !important; animation: none !important; } +body.no-scroll { + overflow: hidden; } -.container { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); } -/* Surface rhythm: white (editorial + landing heads) → Moon Gray (service/utility - bands) → Galaxy (home hero, auth, footer) */ -.band--moon { background: var(--moon); } - -/* Flash — the REAL brand star (BRAND D.4): inline SVG path lifted from the - official logo, never a CSS approximation. Budget: one accent per view; static. */ -.flash { width: 12px; height: 12px; color: var(--cherenkov); flex: none; } - - -/* Header — Galaxy Blue band, reverse (white) logo per BRAND B.1.2; translucent - over content where backdrop blur is supported (AA computed: worst underlying - white → bar (31,31,96), muted nav text 9.4:1). Solid Galaxy fallback. */ -/* Lifted shadow separates the bar (and the mobile dropdown panels - underneath it) from content — the header floats above the page. */ -.site-header { background: var(--galaxy); position: sticky; top: 0; z-index: 10; box-shadow: var(--shadow-lifted); } -@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) { - .site-header { - background: color-mix(in srgb, var(--galaxy) 88%, transparent); - -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); - } -} -.nav { display: flex; align-items: center; gap: 4px; min-height: var(--header-h); flex-wrap: nowrap; } -.nav > nav { display: flex; align-items: center; gap: 4px; } -/* One-row guarantee: everything keeps its natural size except the spacer - (links are single words, they can never wrap) */ -.nav > * { flex: none; } -/* Header tiers, one row always: ≥1025px full nav · ≤1024px disclosure menu · - ≤640px sub-brand hidden · ≤480px icon-only menu, smaller logo · ≤360px compact. - Search is the same icon-reveal at every width (one pattern, no width math). */ -.menu { display: none; } -.menu .i-close { display: none; } -.menu[open] .i-menu { display: none; } -.menu[open] .i-close { display: block; } -.brand { display: flex; align-items: center; gap: 10px; margin-right: 10px; text-decoration: none; } -.brand img { height: 26px; width: auto; } -.brand .brand-sub { - color: var(--cherenkov); font-size: var(--fs-xs); font-weight: 500; - border-left: 1px solid rgba(255, 255, 255, 0.25); padding-left: 10px; -} -.nav .spacer { flex: 1; } -.nav a.navlink { - color: var(--on-galaxy-muted); font-weight: 500; font-size: var(--fs-s); - padding: 10px 10px; text-decoration: none; position: relative; -} -/* Underline-grow (the current nav-hover convention): a 2px rule scales in - from the left on hover and stays put on the active page. Transform-only; - its transition lives in the no-preference block like every other motion. - ::before by codebase convention — ::after belongs to the external arrow. */ -.nav a.navlink::before { - content: ""; position: absolute; left: 10px; right: 10px; bottom: 4px; - height: 2px; border-radius: 1px; background: #fff; - transform: scaleX(0); transform-origin: 0 50%; -} -.nav a.navlink:hover { color: #fff; } -.nav a.navlink:hover::before, .nav a.navlink[aria-current='page']::before { transform: scaleX(1); } -.nav a.navlink[aria-current='page'] { color: #fff; } -/* AAI sign-in entry — ghost/outline: Cherenkov fill is reserved for the page's - primary CTA, the header only whispers. */ -.nav .login-mock { - color: #fff; background: transparent; font: inherit; font-weight: 600; font-size: var(--fs-s); - border: 1px solid rgba(255, 255, 255, 0.55); border-radius: var(--radius-pill); - padding: 7px 18px; margin-left: 6px; text-decoration: none; white-space: nowrap; -} -.nav .login-mock:hover { background: rgba(255, 255, 255, 0.12); color: #fff; border-color: #fff; } -/* Tap targets ≥44px (WCAG 2.5.5); inline-flex keeps the active bottom border */ -.nav a.navlink, .nav .login-mock { - display: inline-flex; align-items: center; gap: 6px; min-height: 44px; -} -/* Site search. Desktop ≥1025px: VISIBLE quiet field — NN/g magnifying-glass- - icon research: icon-only search reduces discoverability/usage; a visible - input is recommended when search is an important task (content-heavy portal, - spec-required search). Chrome stays whisper-quiet: hairline on navy. - Flexes 140-200px (only it and the spacer flex — one-row invariant). */ -.nav-search { position: relative; display: flex; align-items: center; flex: 0 1 200px; min-width: 140px; margin-left: 6px; } -/* stroke 2.6 ≈ the family's 1.5px rendered weight at 14px (icons must not thin out when small) */ -.nav-search .search-ico { left: 11px; width: 14px; height: 14px; color: rgba(255, 255, 255, 0.7); stroke-width: 2.6; } -.nav-search input { - width: 100%; min-width: 0; font: inherit; font-size: var(--fs-s); color: #fff; - background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.45); /* 3.55:1 vs Galaxy — WCAG 1.4.11 */ - border-radius: var(--radius-pill); padding: 7px 14px 7px 32px; -} -.nav-search input::placeholder { color: rgba(255, 255, 255, 0.65); } /* 6.9:1 */ -.nav-search input:focus { border-color: #fff; } -/* Autocomplete panel: never narrower than the field, wide enough for a - typical title in ≤2 lines (Baymard autocomplete; DocSearch ~500px) */ -.nav-search .suggest { left: auto; right: 0; width: min(480px, calc(100vw - 2 * var(--gutter))); top: calc(100% + 10px); } -/* ≤1024px replacement: a 44px magnifier
    reveals a search row under - the header (NN/g mobile-search pattern) — see the menu media block. */ -.search-pop { display: none; } -.search-pop summary { - display: inline-flex; align-items: center; justify-content: center; - min-width: 44px; min-height: 44px; color: #fff; -} -.search-pop form { - position: absolute; left: 0; right: 0; top: 100%; - display: flex; justify-content: center; gap: 8px; padding: 12px var(--gutter) 16px; - background: var(--galaxy); border-top: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: var(--shadow-lifted); -} -.search-pop input { - flex: 0 1 560px; min-width: 0; font: inherit; color: var(--text); - background: #fff; border: 1px solid transparent; border-radius: var(--radius-pill); - padding: 10px 16px; -} -.search-pop input:focus { border-color: var(--azure); } -.search-pop .btn { padding: 10px 18px; } -.search-pop .suggest { - left: max(var(--gutter), 50vw - 330px); right: max(var(--gutter), 50vw - 330px); - top: calc(100% + 4px); -} -@media (max-width: 1024px) { - .nav > nav { display: none; } - .nav-search { display: none; } /* field is desktop-only (NN/g tiers) */ - .search-pop { display: block; } /* magnifier reveal takes over ≤1024px */ - .menu { display: block; } - .menu summary { - display: inline-flex; align-items: center; gap: 8px; min-height: 44px; - padding: 0 10px; margin-left: 6px; color: #fff; font-weight: 500; white-space: nowrap; - } - .menu nav { - position: absolute; left: 0; right: 0; top: 100%; - display: flex; flex-direction: column; padding: 6px var(--gutter) 14px; - background: var(--galaxy); border-top: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: var(--shadow-lifted); - } - .menu nav a { - display: flex; align-items: center; min-height: 44px; - color: #fff; font-weight: 500; text-decoration: none; - border-bottom: 1px solid rgba(255, 255, 255, 0.12); - } - .menu nav a:last-child { border-bottom: 0; } - .menu nav a[aria-current="page"] { font-weight: 700; } -} -@media (max-width: 640px) { .brand .brand-sub { display: none; } } -@media (max-width: 480px) { - .brand img { height: 22px; } - .menu summary .menu-label { display: none; } - .menu summary { min-width: 44px; justify-content: center; padding: 0; margin-left: 2px; } -} -@media (max-width: 360px) { - .nav { padding: 0 14px; gap: 2px; } - .brand { margin-right: 4px; } - /* logo stays 22px — 22px tall ≈ 105px wide, brand minimum is 100px digital */ - .nav .login-mock { padding: 7px 12px; } -} -/* External-link marker — SVG arrow via mask, inherits currentColor */ -.external::after { - content: ""; display: inline-block; width: 0.72em; height: 0.72em; margin-left: 3px; - background: currentColor; - -webkit-mask: var(--ico-ext) center / contain no-repeat; - mask: var(--ico-ext) center / contain no-repeat; +img { + display: block; + max-width: 100%; + height: auto; } -/* Hero (home only) — image-led: LST-1 under the night sky, full-bleed beneath a - Galaxy scrim (--hero-scrim; worst-case AA computed at design time). With motion - allowed a Cherenkov/Azure glow layer drifts above the photo (see motion block). */ -.hero-band { - background: var(--hero-scrim), url("/brand/hero.jpg") center / cover, var(--galaxy); - color: #fff; padding: var(--space-band) 0; position: relative; - /* NO overflow:hidden here — it would clip the search-suggest dropdown. - The animated glow is clipped by its own .band-bg frame instead. */ -} -.band-bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; } -.hero { position: relative; } /* content above the animated glow layer */ -.hero h1 { font-size: var(--fs-display); margin: 0 0 12px; } -.hero p { color: var(--cherenkov); font-size: var(--fs-l); max-width: 62ch; margin: 0; } /* subtitle per BRAND D.3.4 */ -.eyebrow { - color: var(--on-galaxy-muted); font-weight: 600; text-transform: uppercase; - letter-spacing: 0.14em; font-size: var(--fs-xs); margin-bottom: 8px; +a { + color: var(--link); + text-decoration: none; } -/* Hero CTAs — the two core scientist tasks (SPEC §3.1): one Cherenkov primary, - one quiet ghost. Links styled as buttons because they navigate. */ -.hero-cta { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-top: var(--space-l); } -a.btn { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; } -/* Compound selector: outranks the later-defined .btn base (source-order tie - would otherwise fill the ghost with Cherenkov) */ -.btn.btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.55); } -.btn.btn--ghost:hover { background: rgba(255, 255, 255, 0.12); color: #fff; border-color: #fff; } - -/* Section-landing head (news/search/proposals/dashboard/support) — white page, - display-scale Galaxy h1 + standfirst; the navy band is reserved for / and /login. */ -.page-head { padding-block: var(--space-band) var(--space-l); } -.page-head h1 { color: var(--galaxy); font-size: var(--fs-h1); margin: 0 0 10px; } -.page-head .standfirst { margin: 0; max-width: 62ch; } -.page-head + .page { padding-block-start: 0; } /* white-on-white: head already spaces */ - -/* Search field (/search page) — large pill input with inline magnifier; real GET form */ -.search-form { position: relative; display: flex; gap: 8px; max-width: 560px; } -.search-ico { position: absolute; left: 16px; top: 50%; translate: 0 -50%; color: var(--muted); pointer-events: none; } -.search-form input { - flex: 1; min-width: 0; font: inherit; color: var(--text); - background: #fff; border: 1px solid var(--border); - border-radius: var(--radius-pill); padding: 13px 18px 13px 44px; -} -.search-form input:focus { border-color: var(--azure); } -/* Live suggestions — plain links, Tab-accessible */ -.suggest { - position: absolute; top: calc(100% + 8px); left: 0; right: 0; - z-index: 11; /* above the sticky header (10) — never slides under it on scroll */ - list-style: none; margin: 0; padding: 8px; text-align: left; - background: #fff; border: 1px solid var(--border); border-radius: var(--radius); - box-shadow: var(--shadow-lifted); - max-height: min(60vh, 480px); overflow: auto; /* long lists scroll on mobile */ -} -.suggest:empty { display: none; } -/* Live-updating lists must never become the browser's scroll anchor — - Chrome otherwise "compensates" each keystroke's DOM swap with a scroll - adjustment (the page visibly jumps while typing). */ -.suggest, .search-results, #search-status { overflow-anchor: none; } -.suggest li { display: flex; align-items: flex-start; gap: var(--space-s); padding: 0 12px; border-radius: calc(var(--radius) - 8px); } -.suggest li + li { margin-top: 2px; } /* rows breathe — hover fills read as discrete items */ -.suggest li:hover, .suggest li:focus-within { background: var(--moon); } -/* Focused-empty state labels ("Recent" / "Latest news") — quiet, non-interactive */ -li.suggest-label { - color: var(--muted); font-size: var(--fs-xs); font-weight: 600; - text-transform: uppercase; letter-spacing: 0.08em; padding-top: 8px; -} -.suggest li.suggest-label:hover { background: none; } -/* Each later group opens with a hairline — label + its rows read as one unit */ -.suggest li.suggest-label:not(:first-child) { - margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--border); border-radius: 0; -} -.search-results li.suggest-label { background: none; border: 0; box-shadow: none; padding: 8px 0 0; } -/* The link holds -split text nodes — it must lay out as flowing text, - never as a flex row (flex would turn every fragment into its own item and - stop titles from wrapping). ≥44px target comes from the block padding. */ -.suggest a { - flex: 1; min-width: 0; display: block; padding-block: 12px; /* row ≥44px — real tap target */ - color: var(--text); font-weight: 500; font-size: var(--fs-s); text-decoration: none; - overflow-wrap: break-word; -} -.suggest small { margin-top: 14px; } /* date tracks the first title line */ -/* "Press Enter for all results" — a real list row (built by search-client.js, - aria-hidden like the group labels so screen-reader exposure is consistent) */ -.suggest li.suggest-hint { - margin-top: 4px; padding: 8px 12px 2px; border-top: 1px solid var(--border); - border-radius: 0; color: var(--muted); font-size: var(--fs-xs); -} -.suggest li.suggest-hint:hover { background: none; } - -/* Section header row (h2 + optional "All news →" link) */ -.section-head { - display: flex; align-items: baseline; justify-content: space-between; - gap: var(--space-s); margin: var(--space-l) 0 var(--space-m); -} -.section-head:first-child { margin-top: 0; } -.section-head h2 { margin: 0; color: var(--galaxy); font-size: var(--fs-h2); } -.more { font-weight: 600; text-decoration: none; white-space: nowrap; } -.more:hover { text-decoration: underline; } - -/* Responsive 1/2/3-column grid (news cards + service tiles); container for @container */ -.grid { display: grid; gap: var(--space-m); grid-template-columns: 1fr; container-type: inline-size; } -@media (min-width: 640px) { .grid { grid-template-columns: repeat(2, 1fr); } } -@media (min-width: 940px) { .grid { grid-template-columns: repeat(3, 1fr); } } -/* Subgrid: cover/title/desc/meta rows align across each card row */ -@supports (grid-template-rows: subgrid) { - .grid > .card:not(.card--featured, .tile):has(> .cover) { display: grid; grid-template-rows: subgrid; grid-row: span 4; gap: 0; } - .grid > .card:not(.card--featured, .tile):has(> .cover) .body { display: grid; grid-template-rows: subgrid; grid-row: span 3; gap: 10px; } - /* Coverless cards (some pre-2025 articles have no cover:) keep the base - flex layout — content starts at the top instead of falling into the - empty cover track — but still span all 4 rows so neighbours align. */ - .grid > .card:not(.card--featured, .tile):not(:has(> .cover)) { grid-row: span 4; } +a:hover, +a:focus-visible { + text-decoration: underline; + text-underline-offset: 0.15em; } -/* News cards — image + clamped title/description +