content split + copy audit + css polish: content (news/pages/uploads) moves to the ctao/content repo (build overlays it — two-repo build.sh, link-content.sh for local dev); portal copy trimmed to source-documents-only (dashboard empty states, minimal privacy/disclaimer, no mock badges); css: inverted selection on navy bands, featured-card text-track floor, 44px toc target, mobile search dates on own line, footer link row gap; DESIGN.md rewritten as a short handoff

This commit is contained in:
2026-09-03 18:54:01 +02:00
parent 2e6d374b4b
commit ec4ff5dfa2
93 changed files with 259 additions and 464 deletions
+23 -4
View File
@@ -6,7 +6,23 @@ a build job turns commits into static HTML. No application or database runs
on the public path.
Live demo: <https://astro.isl-dev.grid.cyfronet.pl> ·
content repo (Gitea): <https://astro-git.isl-dev.grid.cyfronet.pl/ctao/portal>
Gitea on the demo machine: <https://astro-git.isl-dev.grid.cyfronet.pl>
## Repository layout & deployment
Code and content are SEPARATE repositories, so editorial commits never mix
with development:
| 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 |
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.
## Stack
@@ -30,8 +46,11 @@ content repo (Gitea): <https://astro-git.isl-dev.grid.cyfronet.pl/ctao/portal>
```
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: build + internal-link check
```
## Layout
@@ -40,11 +59,11 @@ npm run build # static output in dist/
|---|---|
| `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 — Markdown + frontmatter (schema in `src/content.config.ts`) |
| `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-system rules the CSS implements |
| `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 (committed as WebP by the CMS) |
| `public/uploads/` | Editor-uploaded media (from the content repo — gitignored here) |
| `deploy/` | Runbook + container/systemd units for the demo machine — see `deploy/README.md` |
## Editing content