Skip to content

feat: complete site structure with blog placeholder and legal pages (Phase 3)#5

Merged
mikestankavich merged 5 commits into
mainfrom
feature/content-migration-phase3
Oct 26, 2025
Merged

feat: complete site structure with blog placeholder and legal pages (Phase 3)#5
mikestankavich merged 5 commits into
mainfrom
feature/content-migration-phase3

Conversation

@mikestankavich
Copy link
Copy Markdown
Contributor

Summary

Completes the TrakRF marketing site structural migration by adding blog placeholder page and legal pages (Privacy Policy, Terms of Service). This achieves complete architectural extraction from trakrf-web with all routes, navigation, and multi-page structure functional.

Phase 3 delivers:

  • Blog placeholder page at /blog (Coming Soon message)
  • Privacy Policy page at /privacy-policy (with critical email fix)
  • Terms of Service page at /tos (with critical fixes: email + governing law)
  • BaseLayout component for DRY page structure
  • Complete navigation (all footer links functional)

Key Changes

Files Created:

  • src/layouts/BaseLayout.astro - Shared page layout with Header/Footer/SEO
  • src/pages/blog/index.astro - Blog placeholder "Coming Soon" page
  • src/pages/privacy-policy.astro - Privacy policy with cleaned content
  • src/pages/tos.astro - Terms of service with cleaned content

Files Modified:

  • src/components/Footer.astro - Added blog link to navigation
  • spec/README.md - Updated to latest CSW workflow docs
  • spec/template.md - Added HTML comment header

Critical Fixes Applied:

  1. ✅ Privacy Policy: marc@trakrf.idsupport@trakrf.id (line 100 in source)
  2. ✅ Terms of Service: marc@shipfa.stsupport@trakrf.id (line 90 in source)
  3. ✅ Terms of Service: Governing law changed from France → USA
  4. ✅ All shipfa.st references removed
  5. ✅ Legal page dates updated to 2025-10-20

Success Metrics

All Phase 3 targets achieved:

  • Site structure complete - All routes from trakrf-web exist (homepage, blog, legal)
  • Content cleanup complete - Critical fixes applied, 0 shipfa.st references remain
  • Navigation complete - All footer/header links functional, no dead links
  • Routing validated - Multi-page navigation works flawlessly
  • Structural extraction complete - Zero reason to revisit trakrf-web codebase

Overall Project Status:

Validation

All blocking gates passed:

  • Lint: Passed - All files formatted correctly
  • Typecheck: 0 errors, 0 warnings, 0 hints (14 files checked)
  • Test: Passed - No tests configured (marketing site)
  • Build: Completed successfully - 4 pages generated

Build Output:

✓ dist/index.html (homepage)
✓ dist/blog/index.html (blog placeholder)
✓ dist/privacy-policy/index.html (privacy policy)
✓ dist/tos/index.html (terms of service)

Content Verification:

  • ✅ No marc@ emails found (critical fix verified)
  • support@trakrf.id present in both legal pages
  • ✅ No shipfa.st references found (all cleaned)
  • ✅ "United States of America" governing law in TOS
  • ✅ No console.log or debugger statements

Test Plan

Navigation Testing:

  • Homepage → Blog → works
  • Homepage → Privacy Policy → works
  • Homepage → Terms of Service → works
  • Blog → Back to Home → works
  • Legal pages → Back button → works
  • Header/Footer consistent across all pages

Content Verification:

  • Blog placeholder shows professional "Coming Soon" message
  • Privacy policy content clean and accurate
  • Terms of service content clean and accurate
  • All legal emails use support@trakrf.id
  • No template references remain (shipfa.st, marc@)

Build & Deploy:

  • Static site builds successfully
  • All 4 pages generated in dist/
  • No build errors or warnings
  • Preview deployment works (preview branch)

Design Decisions

Why Blog Placeholder Instead of Migrating Posts?

  • trakrf-web blog contains ShipFast template samples ("Introducing Supabase to ShipFast")
  • Not relevant to TrakRF's RFID tracking product
  • Future blog will feature original TrakRF content (tutorials, case studies, updates)
  • Placeholder reserves route and sets professional expectations

Why BaseLayout Component?

  • DRY principle for shared page structure (Header, Footer, SEO)
  • Used by all blog and legal pages
  • Consistent metadata and styling across site
  • Easy to maintain and extend

Migration Complete

After this PR merges:

  • ✅ Every meaningful route from trakrf-web exists in new site
  • ✅ All navigation links functional
  • ✅ Legal pages production-ready with cleaned content
  • ✅ Blog infrastructure ready for real content
  • trakrf-web can be archived - migration complete

Future work is purely additive (new TrakRF blog posts), not migration rework.

Screenshots

Blog placeholder: /blog

  • Clean "Coming Soon" message
  • Consistent Header/Footer
  • Call-to-action to return home

Legal pages: /privacy-policy, /tos

  • Full legal text with critical fixes
  • Professional formatting
  • Back navigation button

🤖 Generated with Claude Code

Mike Stankavich and others added 4 commits October 20, 2025 03:17
Updates CSW workflow documentation to latest version and saves Phase 3
work in progress before cleanup.

Infrastructure changes:
- Update spec/README.md with latest CSW workflow docs (4KB → 8KB)
  - Feature lifecycle & cleanup workflow documentation
  - Linear history workflow explanation
  - Path simplification (spec/active/ → spec/)
  - Smart path resolution and zero-arg workflow
- Update spec/template.md with HTML comment header
- Remove spec/SHIPPED.md (deprecated, cleaned by /cleanup script)

Phase 3 WIP (content-migration-phase3):
- Add BaseLayout for shared page structure
- Create blog placeholder page (src/pages/blog/)
- Create privacy policy page (src/pages/privacy-policy.astro)
- Create terms of service page (src/pages/tos.astro)
- Update Footer with legal page links
- Save spec updates (plan.md, spec.md, log.md)

All files formatted and ready for next development cycle.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Auto-format spec/README.md and spec/template.md for consistency.
Changes are purely whitespace/formatting from Prettier.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Adds GitHub Actions workflow to automatically merge all open PRs into
the preview branch for continuous preview deployments.

Workflow triggers on:
- PR open/sync/reopen/close
- Push to main

Features:
- Resets preview to main, then merges all open PRs (oldest first)
- Handles merge conflicts gracefully with PR comments
- Auto-deploys to preview.trakrf.id (Cloudflare Pages)
- Posts deployment status comments on PRs

Adapted from platform repo with updated preview URL.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

🚀 Preview Deployment Update

✅ This PR has been successfully merged into the preview branch.

The preview environment will update shortly at: https://preview.trakrf.id

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Oct 26, 2025

Deploying www with  Cloudflare Pages  Cloudflare Pages

Latest commit: 9643ae2
Status: ✅  Deploy successful!
Preview URL: https://21221351.www-ch0.pages.dev
Branch Preview URL: https://preview.www-ch0.pages.dev

View logs

Add a hilarious Monty Python-themed visual indicator for the preview branch:
- Rainbow gradient bouncing banner with random Python quotes
- Spinning coconut and parrot emojis
- Giant stomping foot animation that appears every 15-25 seconds
- Synthesized fart sound on stomp impact using Web Audio API
- Banner automatically shows in dev mode and on preview branch

Also includes:
- Fix Alpine.js collapse plugin warnings
- Add favicon to prevent 404 errors
- Refactor homepage to use BaseLayout for consistency
- Update README with preview branch documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

🚀 Preview Deployment Update

✅ This PR has been successfully merged into the preview branch.

The preview environment will update shortly at: https://preview.trakrf.id

@mikestankavich mikestankavich merged commit 60478cf into main Oct 26, 2025
2 checks passed
@mikestankavich mikestankavich deleted the feature/content-migration-phase3 branch October 26, 2025 15:54
mikestankavich pushed a commit that referenced this pull request Oct 26, 2025
- Delete spec/content-migration-phase3/ (shipped in PR #5)
- Sync spec/README.md and spec/template.md from claude-spec-workflow
- Clean up after successful Phase 3 deployment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant