Files
wiki/TASK.md

5.8 KiB

Markdown Blog - Tasks

To Do

  • add github code block
  • create a ui site config page
  • create a prompt formator or checklidst or skill or agent to change everything at once after forking

Current Status

v1.16.0 deployed. Added public /write page with three-column Cursor docs-style layout, font switcher, theme toggle, and localStorage persistence for markdown writing.

Completed

  • Public /write page with three-column layout (not linked in nav)
  • Left sidebar: Home link, content type selector, actions (Clear, Theme, Font)
  • Center: Writing area with Copy All button and borderless textarea
  • Right sidebar: Frontmatter reference with per-field copy buttons
  • Font switcher to toggle between Serif and Sans-serif fonts
  • Font preference persistence in localStorage
  • Theme toggle icons matching ThemeToggle.tsx (Moon, Sun, Half2Icon, Cloud)
  • Content type switching (Blog Post/Page) updates writing area template
  • Word, line, and character counts in status bar
  • Warning banner about refresh losing content
  • localStorage persistence for content, type, and font
  • Redesign /write page with three-column Cursor docs-style layout
  • Add per-field copy icons to frontmatter reference panel
  • Add refresh warning message in left sidebar
  • Left sidebar with home link, content type selector, and actions
  • Right sidebar with frontmatter fields and copy buttons
  • Center area with title, Copy All button, and borderless textarea
  • Theme toggle with matching icons for all four themes
  • Redesign /write page with wider layout and modern Notion-like UI
  • Remove header from /write page (standalone writing experience)
  • Add inline theme toggle and home link to Write page toolbar
  • Collapsible frontmatter fields panel
  • Add markdown write page with copy option at /write
  • Centralized font-size CSS variables in global.css
  • Base size scale with semantic naming (3xs to hero)
  • Component-specific font-size variables
  • Mobile responsive font-size overrides
  • Open Graph image fix for posts and pages with frontmatter images
  • Dedicated blog page with configurable display options
  • Blog page navigation order via siteConfig.blogPage.order
  • Centralized siteConfig.ts for site configuration
  • Posts display toggle for homepage and/or blog page
  • move home to the top of the mobile menu
  • Fork configuration documentation in docs.md and setup-guide.md
  • "Files to Update When Forking" section with all 9 configuration files
  • Backend configuration examples for Convex files
  • Site branding updates across all AI discovery files
  • Fork documentation added to README.md
  • Blog post updated with v1.9.0 and v1.10.0 features
  • Scroll-to-top button with configurable threshold
  • Scroll-to-top documentation in docs.md and setup-guide.md
  • Mobile menu with hamburger navigation for mobile and tablet
  • Generate Skill feature in CopyPageDropdown
  • Project setup with Vite + React + TypeScript
  • Convex schema for posts, viewCounts, siteConfig, pages
  • Build-time markdown sync script
  • Theme system (dark/light/tan/cloud)
  • Default theme configuration (tan)
  • Home page with year-grouped post list
  • Post page with markdown rendering
  • Static pages support (About, Projects, Contact)
  • Syntax highlighting for code blocks
  • Open Graph and Twitter Card meta tags
  • Netlify edge function for bot detection
  • RSS feed support (standard and full content)
  • API endpoints for LLMs (/api/posts, /api/post)
  • Copy Page dropdown for AI tools
  • Sample blog posts and pages
  • Security audit completed
  • TypeScript type-safety verification
  • Netlify build configuration verified
  • SPA 404 fallback configured
  • Mobile responsive design
  • Edge functions for dynamic Convex HTTP proxying
  • Vite dev server proxy for local development
  • Real-time stats page at /stats
  • Page view tracking with event records pattern
  • Active session heartbeat system
  • Cron job for stale session cleanup
  • Stats link in homepage footer
  • Real-time search with Command+K shortcut
  • Search modal with keyboard navigation
  • Full text search indexes for posts and pages
  • Featured section with list/card view toggle
  • Logo gallery with continuous marquee scroll
  • Frontmatter-controlled featured items (featured, featuredOrder)
  • Featured items sync with npm run sync (no redeploy needed)
  • Firecrawl content importer (npm run import)
  • /api/export endpoint for batch content fetching
  • AI plugin discovery at /.well-known/ai-plugin.json
  • OpenAPI 3.0 spec at /openapi.yaml
  • AGENTS.md for AI coding agents
  • Static raw markdown files at /raw/{slug}.md
  • View as Markdown option in CopyPageDropdown
  • Perplexity added to AI service options
  • Featured image support with square thumbnails in card view
  • Improved markdown table CSS styling
  • Aggregate component integration for efficient stats counting (O(log n) vs O(n))
  • Three aggregate components: pageViewsByPath, totalPageViews, uniqueVisitors
  • Chunked backfilling mutation for existing page view data
  • Aggregate component registration in convex.config.ts
  • Stats query updated to use aggregate counts
  • Aggregate component documentation in prds/howstatsworks.md

Deployment Steps

  1. Run npx convex dev to initialize Convex
  2. Set CONVEX_DEPLOY_KEY in Netlify environment variables
  3. Connect repo to Netlify and deploy
  4. Edge functions automatically handle RSS, sitemap, and API routes

Someday Features TBD

  • Related posts suggestions
  • Newsletter signup
  • Comments system
  • Draft preview mode
  • Image optimization
  • Reading progress indicator