Files
wiki/TASK.md
Wayne Sutton 87e02d00dc feat: add featured section, logo gallery, Firecrawl import, and API export
Featured Section
- Frontmatter-controlled featured items with featured: true and featuredOrder
- Card view with excerpts and list/card toggle button
- View preference saved to localStorage
- New Convex queries for featured posts and pages with by_featured index

Logo Gallery
- Continuous marquee scroll with clickable logos
- CSS animation, grayscale with color on hover
- Configurable speed, position, and title
- 5 sample logos included

Firecrawl Content Importer
- npm run import <url> scrapes external URLs to markdown drafts
- Creates local files in content/blog/ with frontmatter
- Then sync to dev or prod (no separate import:prod command)

API Enhancements
- New /api/export endpoint for batch content fetching
- AI plugin discovery at /.well-known/ai-plugin.json
- OpenAPI 3.0 spec at /openapi.yaml
- Enhanced llms.txt documentation

Documentation
- AGENTS.md with codebase instructions for AI agents
- Updated all sync vs deploy tables to include import workflow
- Renamed content/pages/changelog.md to changelog-page.md

Technical
- New components: FeaturedCards.tsx, LogoMarquee.tsx
- New script: scripts/import-url.ts
- New dependency: @mendable/firecrawl-js
- Schema updates with featured, featuredOrder, excerpt fields
2025-12-18 12:28:25 -08:00

2.0 KiB

Markdown Blog - Tasks

Current Status

v1.5.0 ready for deployment. Build passes. TypeScript verified.

Completed

  • 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)

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

Future Enhancements

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