Appearance
🚀 Future Site Enhancements & Comments Planning
This document outlines potential future upgrades, extensions, and the technical architecture required to implement inline commenting for family members on this planning site.
💬 Inline Commenting System Options
Because the site is protected by Cloudflare Access (Zero Trust), we already have secure, authenticated user sessions. We can leverage this to implement comments without adding login screens or password managers.
Option A: Cloudflare-Native Edge Stack (Recommended)
This approach keeps everything hosted on Cloudflare's serverless edge, meaning zero hosting fees and extremely fast load times.
- Database: Cloudflare D1 (a serverless, zero-maintenance SQLite database).
- API Backend: Cloudflare Pages Functions (runs lightweight TypeScript/JavaScript API endpoints on the edge).
- Authentication (Zero Auth Code):
- Since Cloudflare Access brokers the login, every API request sent to Pages Functions automatically carries a
Cf-Access-Jwt-Assertionheader. - The backend function decodes this JWT to securely extract the family member's email (e.g.,
caw@christianwilcox.com) and display name.
- Since Cloudflare Access brokers the login, every API request sent to Pages Functions automatically carries a
- Frontend Component: A custom Vue component (e.g.,
<InlineComments />or<SectionComments page="moving-checklist" />) embedded in the markdown pages.
Option B: Self-Hosted Cusdis (Lightweight & Open-Source)
Cusdis is a privacy-first, lightweight alternative to Disqus.
- Deployment: Can be self-hosted on a free Vercel + Supabase instance.
- Integration: A single script tag or simple iframe wrapper embedded in our VitePress templates.
- Pros: Requires almost no custom code on our end; has a simple admin dashboard for approving comments.
- Cons: Doesn't natively bind to Cloudflare Access session emails without custom setup.
🛠️ Other Useful Site Extensions
📱 1. Offline PWA Support (Progressive Web App)
If Mom and Dad are at Cedar Crest where Wi-Fi might be initially spotty or unavailable, they can still access all the checklists and guides offline.
- How: Integrate
vitepress-plugin-pwato register a Service Worker that caches all pages and assets locally on their iPhones/iPads.
🖨️ 2. Print-Friendly Stylesheets
Some checklists or cost sheets are useful to have as physical papers.
- How: Add a print media query in
.vitepress/theme/custom.cssto hide the sidebars, header navigation, search bar, and edit dates when printing a page from a browser.
📝 3. "Edit this Page" & Git History
Display a quick link at the bottom of pages allowing editors to go directly to the source file on the Forgejo server.
- How: Add
editLinkconfiguration underthemeConfigin.vitepress/config.mts.