Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,5 +123,8 @@ jobs:
env:
MDBASE_SPEC_DIR: .sources/mdbase-spec

- name: Build search index and Markdown copies
run: pnpm index:site

- name: Check local links
run: pnpm check:links
3 changes: 3 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ jobs:
env:
MDBASE_SPEC_DIR: .sources/mdbase-spec

- name: Build search index and Markdown copies
run: pnpm index:site

- name: Check local links
run: pnpm check:links

Expand Down
8 changes: 4 additions & 4 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ synchronised by the build. The site overrides only the canvas, in
The mark is the square-bar icon (`src/components/BrandMark.astro`). It sits
beside the wordmark in the header, and a hover ripple runs through the bars in
reading order, matching the apps. The favicon and the social card
(`public/og-card.png`, 1200×630) use the same mark.
(`public/og-card.jpg`, 1200×630) use the same mark.

The homepage pairs a moving sky (`public/mdbase-atmosphere.js`) with one field
of 361 record particles (`public/mdbase-murmuration.js`). The field begins as a
murmuration and becomes concrete diagrams as the reader scrolls: files, apps,
editing, sync, Cloud copy and Private, permissions, and sharing. Canvas
surfaces, labels, edges and particles use the page's colour roles. Dashed boxes
mark copies that are offline, locked or removed; they keep a solid surface so
sync, apps reaching the collection through mdbase, permissions, and sharing.
Canvas surfaces, labels, edges and particles use the page's colour roles.
Dashed boxes mark copies that are offline, switched off or removed; they keep a solid surface so
they read against the sky.

## Typography
Expand Down
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,17 @@ pnpm check
pnpm build
(cd ../mdbase-spec/site && npm ci && npm run build)
pnpm import:spec
pnpm index:site
pnpm check:links
```

`pnpm index:site` builds the Pagefind index for the header's search dialog,
then writes a Markdown copy of each page (`index.md` beside its `index.html`),
`/llms.txt` and `/llms-full.txt` (`scripts/build-llms.mjs`). It runs after the
specification import so the specification is included. Each page's `<main>` is
used; headers, footers and documentation sidebars are excluded, as are pages
marked `noIndex` and the archived specification.

The website repository owns the ecosystem pages and deployment cadence. The
normative specification is built by `mdbase-spec` and imported under `/spec/`.
The import preserves its content and section anchors, inserting them into the
Expand Down Expand Up @@ -81,9 +89,9 @@ pnpm deploy:dev
```

The command builds the current working tree for
`https://mdbase-dev.pages.dev`, imports the specification, checks local links,
and deploys the `main` branch of the standalone `mdbase-dev` Cloudflare Pages
project. It verifies the live homepage, specification, canonical URLs, and
`https://mdbase-dev.pages.dev`, imports the specification, builds the search
index and Markdown copies, checks local links, and deploys the `main` branch of
the standalone `mdbase-dev` Cloudflare Pages project. It verifies the live homepage, specification, canonical URLs, and
indexing controls after deployment. The production GitHub Pages deployment and
`mdbase.dev` domain are unchanged.

Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"sync:mcp-tools": "node scripts/sync-mcp-tools.mjs",
"sync:contracts": "node scripts/sync-contracts.mjs",
"import:spec": "node scripts/import-spec.mjs",
"index:site": "pagefind --site dist && node scripts/build-llms.mjs",
"check:links": "node scripts/check-links.mjs",
"check:release": "node scripts/check-connect-release.mjs",
"check:release-order": "node scripts/check-connect-release-order.mjs",
Expand All @@ -21,7 +22,7 @@
"test:home": "node --test scripts/home-animation.test.mjs",
"test:docs": "node --test scripts/app-docs.test.mjs",
"test:spec": "node --test scripts/spec-page.test.mjs",
"test": "pnpm test:spec && pnpm test:home && pnpm test:docs && pnpm test:deploy:dev && pnpm test:release-update && pnpm check:release && pnpm check && pnpm build && pnpm import:spec && pnpm check:links"
"test": "pnpm test:spec && pnpm test:home && pnpm test:docs && pnpm test:deploy:dev && pnpm test:release-update && pnpm check:release && pnpm check && pnpm build && pnpm import:spec && pnpm index:site && pnpm check:links"
},
"dependencies": {
"@astrojs/sitemap": "^3.7.3",
Expand All @@ -32,6 +33,8 @@
},
"devDependencies": {
"@astrojs/check": "^0.9.9",
"pagefind": "1.5.2",
"turndown": "7.2.4",
"typescript": "^6.0.3"
}
}
Loading
Loading