Rebuild Cntryl website on Askr - #1
Merged
Merged
Conversation
- Introduced `DocsProductBar` component to display product tabs in documentation. - Added `ProductMark` component to render logos or icons for products. - Implemented `list` utility function to handle rendering of lists in a safe manner. - Created `logo` module to manage logo sources and responsive attributes. - Developed `SiteHeader` and `SiteFooter` components for consistent site layout. - Established `SiteLayout` component to wrap pages with shared header and footer. - Added new logo assets for Midge, including 64x64 and larger versions.
- Enhanced keyboard event handling in DocsSearch component to include Escape key functionality for dismissing the search. - Removed unused properties (contract, practice, boundary) from DocsPageInput type definition. - Updated marketing catalog descriptions for clarity and consistency, including rephrasing and grammatical improvements. - Modified HomePage component to improve readability of the hero section text. - Replaced conditional rendering with Show component in MarketingPage for better readability and performance. - Removed unused documentation coverage test to streamline test suite and added specific checks for placeholders and competitive framing in marketing copy.
There was a problem hiding this comment.
Pull request overview
This PR migrates the Cntryl marketing + documentation website from the prior Astro/Tailwind setup to an Askr-based SPA + SSG build, with catalog-driven routing for marketing/docs pages, integrated docs search, and CI/static-output verification aligned to the new generation pipeline.
Changes:
- Rebuild site routing/layouts around Askr with unified shell, catalog-driven marketing/docs routes, and product-scoped docs navigation + search.
- Replace styling pipeline (remove Tailwind/Astro styles) with Askr theme + site CSS, and add new branding/logo handling.
- Add static generation configuration and a comprehensive static output verification script; update CI/deploy workflows to run
npm run check.
Reviewed changes
Copilot reviewed 48 out of 77 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| vite.config.ts | Adds Vite Plus config wiring for Askr + build/server behavior. |
| tsconfig.json | Updates TS compiler settings for the new bundler/JSX/tooling approach. |
| tests/catalog.test.ts | Adds extensive tests asserting catalog, route, layout, and editorial/search contracts. |
| tailwind.config.ts | Removes Tailwind configuration (Tailwind no longer used). |
| ssg.config.ts | Adds Askr SSG configuration including document rendering + asset copying. |
| src/styles/global.css | Removes old Tailwind-based global stylesheet. |
| src/styles.css | Introduces new site-wide CSS built around Askr themes and the new layouts. |
| src/pages/site-layout.tsx | Adds the shared site shell (header/main/footer) for all pages. |
| src/pages/site-header.tsx | Adds shared header with product links, docs search trigger, GitHub link, theme toggle. |
| src/pages/site-footer.tsx | Adds shared footer with core links and GitHub link. |
| src/pages/metadata.ts | Adds centralized route metadata helper (canonical, OG, robots, etc.). |
| src/pages/marketing/page.tsx | Adds catalog-driven marketing page renderer. |
| src/pages/marketing/not-found.tsx | Adds new marketing-layout 404 page. |
| src/pages/marketing/home.tsx | Adds new marketing homepage content/structure. |
| src/pages/marketing/catalog.ts | Adds marketing page catalog definitions and lookup helper. |
| src/pages/marketing/_routes.tsx | Registers marketing routes + metadata through Askr router. |
| src/pages/marketing/_layout.tsx | Adds marketing layout using the shared SiteLayout. |
| src/pages/logo.ts | Adds responsive logo srcset helpers for branding assets. |
| src/pages/list.ts | Adds list() helper to adapt readonly arrays to Askr’s <For> expectations. |
| src/pages/index.astro | Removes old Astro homepage. |
| src/pages/features.astro | Removes old Astro features page. |
| src/pages/docs/types.ts | Adds typed docs/catalog/search model definitions. |
| src/pages/docs/search.tsx | Adds docs search dialog, keyboard shortcuts, and filtering logic. |
| src/pages/docs/routes/tools.tsx | Adds route entry for Tools docs pages (shared DocsPage). |
| src/pages/docs/routes/stress.tsx | Adds route entry for Stress docs pages (shared DocsPage). |
| src/pages/docs/routes/midge.tsx | Adds route entry for Midge docs pages (shared DocsPage). |
| src/pages/docs/routes/fitz.tsx | Adds route entry for Fitz docs pages (shared DocsPage). |
| src/pages/docs/routes/cassie.tsx | Adds route entry for Cassie docs pages (shared DocsPage). |
| src/pages/docs/product-mark.tsx | Adds product mark rendering (logo for main products, icon fallback for others). |
| src/pages/docs/product-bar.tsx | Adds docs product switcher bar (tabs) below the shared header. |
| src/pages/docs/portals/tools.ts | Adds Tools portal docs content and structure. |
| src/pages/docs/portals/stress.ts | Adds Stress portal docs content and structure. |
| src/pages/docs/page.tsx | Adds docs index + docs page rendering (content sections, tabs, tables, pagination). |
| src/pages/docs/define.ts | Adds helper to build portal/page definitions and link previous/next navigation. |
| src/pages/docs/catalog.ts | Adds combined docs catalog, route resolution, TOC, and search indexing/query. |
| src/pages/docs/_layout.tsx | Adds docs layout with unified sidebar + TOC and product-scoped navigation. |
| src/pages/404.astro | Removes old Astro 404. |
| src/pages/_routes.tsx | Adds unified route registry, metadata map, and static-registry creation for SSG. |
| src/main.tsx | Adds Askr SPA boot/hydration entrypoint and includes new styles. |
| src/layouts/Layout.astro | Removes old Astro layout. |
| src/env.d.ts | Removes Astro type reference. |
| src/css.d.ts | Adds CSS module declaration for TS. |
| scripts/verify-static-output.ts | Adds static output verification for routes, metadata, assets, sitemap/robots, and contracts. |
| README.md | Updates development/check/publishing guidance for the new toolchain and gates. |
| public/robots.txt | Updates sitemap URL to the new sitemap output. |
| public/logo.svg | Removes retired logo asset. |
| postcss.config.ts | Removes PostCSS/Tailwind pipeline config. |
| package.json | Replaces Astro scripts/deps with Askr + Vite Plus + check/build/verify pipeline. |
| index.html | Adds base HTML template for Askr/Vite client build. |
| astro.config.ts | Removes Astro configuration. |
| .gitignore | Updates ignored outputs for Askr client + dist and adds macOS metadata ignore. |
| .github/workflows/deploy.yml | Updates deploy workflow to Node 22 and runs npm run check. |
| .github/workflows/ci.yml | Updates CI workflow to Node 22 and runs npm run check. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Author
|
@copilot review |
Contributor
Author
|
/review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
npm run checkon this branchnpm run verify:staticMerge
main