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.
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.txtwith sitemap URL and header - Updated
public/llms.txtwith site name and description - Updated
public/.well-known/ai-plugin.jsonfor AI plugins - Updated
public/openapi.yamlAPI title and site name - Updated
convex/http.tsSITE_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.mdwith 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 syncandnpm run sync:prodinpublic/raw/directory - Each published post and page gets a corresponding static
.mdfile - Includes metadata header (type, date, reading time, tags)
- Generated during
- View as Markdown option in CopyPageDropdown
- Opens raw
.mdfile in new tab - Available on all post and page views
- Opens raw
- Perplexity added to AI service options in CopyPageDropdown
- Research articles directly in Perplexity with full content
- Featured image support for posts and pages
imagefield 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:prodneeded - Updated docs: README, setup-guide, how-to-publish, docs page, about-this-blog
- Renamed
content/pages/changelog.mdtochangelog-page.mdto 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:prodcommand (import creates local files only)
- New
/api/exportendpoint for batch content fetching - AI plugin discovery at
/.well-known/ai-plugin.json - OpenAPI 3.0 specification at
/openapi.yaml - Enhanced
llms.txtwith 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: trueto any post or page frontmatter - Use
featuredOrderto control display order (lower = first) - Featured items sync instantly with
npm run sync(no redeploy needed)
New Convex queries:
getFeaturedPosts: returns posts withfeatured: truegetFeaturedPages: returns pages withfeatured: 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
excerptfield 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.tsproxies/rss.xmland/rss-full.xmlsitemap.tsproxies/sitemap.xmlapi.tsproxies/api/postsand/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.xmland/rss-full.xml - AI agent discovery with
llms.txt robots.txtwith rules for AI crawlers
API endpoints
/api/postsfor JSON list of all posts/api/post?slug=xxxfor 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