Repository navigation
Astrodev - #13
Astrodev#13
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ve deprecated component CSS
- Styled Header.astro: full-width centered nav, improved spacing, Pelican-inspired styling - Added Playwright tests: astro/tests/navbar.spec.ts (desktop + mobile) - Verified e2e suite passes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document how to run the migrated Astro site (dev, build, preview) and Playwright e2e tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implement the archived retarget-navbar-links OpenSpec change by replacing the old structural navbar links with a shared topic-based navigation model in Header.appbar.astro. Both desktop and mobile menus now render from the same primaryNavItems source, preserving the ~/ home link while routing Coding, SysAdmin, InfoSec, OS, Hardware, and Reviews to their existing tag pages. Also archive the completed OpenSpec changes and sync the ui/site-navigation main spec with the new navigation requirements so the planning history and durable spec tree stay aligned.
Implement the archived add-navbar-social-links OpenSpec change by adding shared social link metadata and rendering icon-only X, Facebook, Github, and RSS links in both the desktop header and the mobile navigation panel. The Astro navbar now uses the simple-icons package with the legacy Pelican social URLs while preserving the existing topic links and utility controls. Also archive the completed OpenSpec change and sync the ui/site-navigation main spec so the durable navigation requirements include the new desktop and mobile social-link group.
Implement the archived add-astro-rss-feed OpenSpec change by adding @astrojs/rss, configuring the Astro site URL, generating /rss.xml from published post data, and reusing new excerpt helpers in src/lib/posts.ts for feed-safe descriptions. The navbar RSS social link now targets the local feed instead of the legacy Pelican endpoint. This also adds Playwright coverage for the RSS endpoint and navbar RSS links, syncs the content/rss-feed and ui/site-navigation main specs, archives the completed OpenSpec change artifacts, and includes the project-local search icon update that replaced the old search glyph with an inline SVG in the Astro header.
Enable build-time Mermaid diagram rendering in the Astro site by adding `rehype-mermaid` (before pretty-code), preserving `mermaid` as a supported fence language, and documenting the required Playwright Chromium install in the Astro README. This also adds new published posts (including Mermaid-authored content) and records spec work by archiving the Mermaid change set while introducing a new OpenSpec proposal/design/tasks/spec delta for GitHub-style Markdown alerts.
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
It is a large platform migration (an entire new Astro app plus Docker build and deploy implications) that warrants human review, and it includes a Docker port mismatch and a committed test artifact that should be addressed first.
Review effort: Balanced
Findings: 1
Open (2)
What changed in this PR
This PR introduces a brand-new Astro application under astro/ as part of migrating the Codeholics site from Pelican to Astro, so it can be promoted to the dev branch. It adds the Astro source (pages, components, content collections, RSS feed, data layer, SCSS/theme assets), supporting config (tsconfig, PostCSS, site config, asset-url helper), a Docker build for the new app, Playwright tests, and OpenSpec change-tracking metadata.
Changes:
- New Astro site: pages (
about,posts/index,rss.xml.js), components (PostCard,Footer, icons), content collection schema, and migrated post content (incl. MDX YouTube embeds). - New build/runtime support:
site.config.mjs,asset-url.ts,postcss.config.cjs,tsconfig.json, Dockerized Astro build, and vendored Bootstrap SCSS theme assets. - OpenSpec archive/active change metadata (
.openspec.yaml) documenting the migration history.
| File | Description |
|---|---|
docker/docker-compose.yaml |
Builds the new Astro Dockerfile; port mapping targets 80 but the server listens on 4321. |
astro/.gitignore |
Ignores build outputs but not Playwright test-results/, leading to a committed artifact. |
astro/test-results/.last-run.json |
Generated Playwright run artifact committed to the repo. |
astro/postcss.config.cjs |
Adds @tailwindcss/postcss + autoprefixer, redundant with @tailwindcss/vite. |
astro/src/pages/rss.xml.js |
Builds RSS feed from loadPosts() using SITE_URL. |
astro/src/pages/posts/index.astro |
Lists all posts via PostCard. |
astro/src/pages/about.astro |
Static About page. |
astro/src/lib/asset-url.ts |
Dev-only asset origin rewriting helper. |
astro/site.config.mjs |
Validates/normalizes SITE_URL. |
astro/src/content.config.ts |
Posts collection schema (title/date required). |
astro/src/components/PostCard.astro, Footer.astro, icons/*.svg |
Presentational components and inline SVG icons. |
astro/src/content/posts/*.mdx |
Migrated video posts embedding astro-embed YouTube. |
astro/tsconfig.json |
Standard Astro strict tsconfig. |
astro/public/theme/scss/** |
Vendored Bootstrap SCSS mixins/helpers. |
openspec/**/.openspec.yaml |
OpenSpec change metadata. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Add Playwright test artifacts to .gitignore Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>


New astro site ready to be moved into dev