Files
wiki/content/pages/changelog-page.md
Wayne Sutton 997b9cad21 docs: update blog post and TASK.md with v1.9.0 scroll-to-top and v1.10.0 fork configuration
Updated:
- content/blog/raw-markdown-and-copy-improvements.md
  - Changed title from 'v1.7 and v1.8' to 'v1.7 to v1.10'
  - Added Fork configuration section (v1.10.0) with 9-file table
  - Added Scroll-to-top section (v1.9.0) with configuration options
  - Updated summary to include all features from v1.7 to v1.10
  - Fixed image path to /images/v17.png
  - Updated sync command guidance for dev vs prod
- TASK.md
  - Added new To Do items for future features
  - Removed duplicate Future Enhancements section
- content/pages/docs.md
  - Added Mobile menu section
  - Added Copy Page dropdown table with all options
  - Added Markdown tables section
- content/pages/about.md
  - Updated Features list with new v1.8.0 features
- content/blog/setup-guide.md
  - Added image field to pages schema
  - Updated Project structure with new directories
  - Added /raw/{slug}.md to API endpoints
  - Added Mobile Navigation and Copy Page Dropdown sections
  - Added featured image documentation with ordering details

Documentation now covers all features from v1.7.0 through v1.10.0.
2025-12-20 11:05:38 -08:00

7.5 KiB

title, slug, published, order
title slug published order
Changelog changelog true 5

All notable changes to this project.

v1.10.0

Released December 20, 2025

Fork configuration documentation

  • Added "Files to Update When Forking" section to docs and setup guide
  • Lists all 9 configuration files users need to update when forking
  • Includes backend configuration examples for Convex files
  • Code snippets for convex/http.ts, convex/rss.ts, src/pages/Post.tsx

Site branding updates

  • Updated public/robots.txt with sitemap URL and header
  • Updated public/llms.txt with site name and description
  • Updated public/.well-known/ai-plugin.json for AI plugins
  • Updated public/openapi.yaml API title and site name
  • Updated convex/http.ts SITE_URL and SITE_NAME constants

Same fork documentation added to README.md for discoverability.

v1.9.0

Released December 20, 2025

Scroll-to-top button

  • Appears after scrolling 300px (configurable)
  • Uses Phosphor ArrowUp icon for consistency
  • Smooth scroll animation (configurable)
  • Works with all four themes (dark, light, tan, cloud)
  • Enabled by default (can be disabled in Layout.tsx)
  • Fade-in animation when appearing
  • Responsive sizing for mobile devices

New component: src/components/ScrollToTop.tsx

Configuration via ScrollToTopConfig interface in src/components/Layout.tsx. Uses passive scroll listener for performance.

v1.8.0

Released December 20, 2025

Mobile menu and Generate Skill feature

  • Mobile menu with hamburger navigation
    • Slide-out drawer on mobile and tablet views
    • Accessible with keyboard navigation (Escape to close)
    • Focus trap for screen reader support
    • Page links and Home link in drawer
    • Auto-closes on route change
  • Generate Skill option in CopyPageDropdown
    • Formats post/page content as an AI agent skill file
    • Downloads as {slug}-skill.md with skill structure
    • Includes metadata, when to use, and instructions sections

New component: MobileMenu.tsx with HamburgerButton

v1.7.0

Released December 20, 2025

Raw markdown files and CopyPageDropdown improvements

  • Static raw markdown files at /raw/{slug}.md
    • Generated during npm run sync and npm run sync:prod in public/raw/ directory
    • Each published post and page gets a corresponding static .md file
    • Includes metadata header (type, date, reading time, tags)
  • View as Markdown option in CopyPageDropdown
    • Opens raw .md file in new tab
    • Available on all post and page views
  • Perplexity added to AI service options in CopyPageDropdown
    • Research articles directly in Perplexity with full content
  • Featured image support for posts and pages
    • image field displays as square thumbnail in card view
    • Non-square images automatically cropped to center
  • Improved markdown table CSS styling
    • GitHub-style tables with proper borders
    • Mobile responsive with horizontal scroll
    • Theme-aware alternating row colors

New files: public/raw/*.md (generated), updated _redirects

v1.6.1

Released December 18, 2025

Documentation updates

  • Added AGENTS.md with codebase instructions for AI coding agents
  • Added Firecrawl import to all "When to sync vs deploy" tables
  • Clarified import workflow: creates local files only, no import:prod needed
  • Updated docs: README, setup-guide, how-to-publish, docs page, about-this-blog
  • Renamed content/pages/changelog.md to changelog-page.md to avoid confusion with root changelog

v1.6.0

Released December 18, 2025

Content import and LLM API enhancements

  • Firecrawl content importer for external URLs
    • npm run import <url> scrapes and creates local markdown drafts
    • Creates drafts in content/blog/ with frontmatter
    • Then sync to dev (npm run sync) or prod (npm run sync:prod)
    • No separate import:prod command (import creates local files only)
  • New /api/export endpoint for batch content fetching
  • AI plugin discovery at /.well-known/ai-plugin.json
  • OpenAPI 3.0 specification at /openapi.yaml
  • Enhanced llms.txt with complete API documentation

New dependencies: @mendable/firecrawl-js

New files: scripts/import-url.ts, public/.well-known/ai-plugin.json, public/openapi.yaml

v1.5.0

Released December 17, 2025

Frontmatter-controlled featured items

  • Add featured: true to any post or page frontmatter
  • Use featuredOrder to control display order (lower = first)
  • Featured items sync instantly with npm run sync (no redeploy needed)

New Convex queries:

  • getFeaturedPosts: returns posts with featured: true
  • getFeaturedPages: returns pages with featured: true

Schema updates with featured and featuredOrder fields and by_featured index.

v1.4.0

Released December 17, 2025

Featured section with list/card view toggle

  • Card view displays title and excerpt in a responsive grid
  • Toggle button in featured header to switch between views
  • View preference saved to localStorage

Logo gallery with continuous marquee scroll

  • Clickable logos with configurable URLs
  • CSS only animation for smooth infinite scrolling
  • Configurable speed, position, and title
  • Grayscale logos with color on hover
  • Responsive sizing across breakpoints
  • 5 sample logos included

New frontmatter field

  • excerpt field for posts and pages
  • Used for card view descriptions
  • Falls back to description field for posts

v1.3.0

Released December 17, 2025

Real-time search with Command+K

  • Search icon in top nav using Phosphor Icons
  • Modal with keyboard navigation (arrow keys, Enter, Escape)
  • Full text search across posts and pages using Convex search indexes
  • Result snippets with context around search matches
  • Distinguishes between posts and pages with type badges

Search uses Convex full text search with reactive queries. Results deduplicate from title and content searches. Title matches sort first.

v1.2.0

Released December 15, 2025

Real-time stats page at /stats

  • Active visitors count with per-page breakdown
  • Total page views and unique visitors
  • Views by page sorted by popularity

Page view tracking via event records pattern (no write conflicts). Active session heartbeat system with 30s interval and 2min timeout. Cron job for stale session cleanup every 5 minutes.

New Convex tables: pageViews and activeSessions.

v1.1.0

Released December 14, 2025

Netlify Edge Functions for dynamic Convex HTTP proxying

  • rss.ts proxies /rss.xml and /rss-full.xml
  • sitemap.ts proxies /sitemap.xml
  • api.ts proxies /api/posts and /api/post

Vite dev server proxy for RSS, sitemap, and API endpoints. Edge functions dynamically read VITE_CONVEX_URL from environment.

v1.0.0

Released December 14, 2025

Initial release

  • Markdown blog posts with frontmatter parsing
  • Static pages support (About, Projects, Contact)
  • Four theme options: Dark, Light, Tan (default), Cloud
  • Syntax highlighting for code blocks
  • Year-grouped post list on home page
  • Individual post pages with share buttons

SEO and discovery

  • Dynamic sitemap at /sitemap.xml
  • JSON-LD structured data for blog posts
  • RSS feeds at /rss.xml and /rss-full.xml
  • AI agent discovery with llms.txt
  • robots.txt with rules for AI crawlers

API endpoints

  • /api/posts for JSON list of all posts
  • /api/post?slug=xxx for single post as JSON or markdown

Copy Page dropdown for sharing to ChatGPT and Claude.

Technical stack

  • React 18 with TypeScript
  • Convex for real-time database
  • react-markdown for rendering
  • react-syntax-highlighter for code blocks
  • Netlify deployment with edge functions