Wayne Sutton
1323928341
fix: docs css sidebar fixes
2026-01-09 14:54:00 -08:00
Wayne Sutton
cd696416d9
Export as PDF, Core Web Vitals performance optimizations, Enhanced diff code block rendering and blog post example on codeblocks
2026-01-07 23:20:50 -08:00
Wayne Sutton
1257fa220f
Canonical URL fix for search engines (GitHub Issue #6 ) and other seo fixes"
2026-01-07 21:48:41 -08:00
Wayne Sutton
5a8df46681
feat: Add semantic search with vector embeddings
...
Add vector-based semantic search to complement keyword search.
Users can toggle between "Keyword" and "Semantic" modes in the
search modal (Cmd+K, then Tab to switch).
Semantic search:
- Uses OpenAI text-embedding-ada-002 (1536 dimensions)
- Finds content by meaning, not exact words
- Shows similarity scores as percentages
- ~300ms latency, ~$0.0001/query
- Graceful fallback if OPENAI_API_KEY not set
New files:
- convex/embeddings.ts - Embedding generation actions
- convex/embeddingsQueries.ts - Queries/mutations for embeddings
- convex/semanticSearch.ts - Vector search action
- convex/semanticSearchQueries.ts - Result hydration queries
- content/pages/docs-search.md - Keyword search docs
- content/pages/docs-semantic-search.md - Semantic search docs
Changes:
- convex/schema.ts: Add embedding field and by_embedding vectorIndex
- SearchModal.tsx: Add mode toggle (TextAa/Brain icons)
- sync-posts.ts: Generate embeddings after content sync
- global.css: Search mode toggle styles
Documentation updated:
- changelog.md, TASK.md, files.md, about.md, home.md
Configuration:
npx convex env set OPENAI_API_KEY sk-your-key
Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
Status: Ready to commit. All semantic search files are staged. The TypeScript warnings are pre-existing (unused variables) and don't affect the build.
2026-01-05 18:30:48 -08:00
Wayne Sutton
f377a3dde2
Raw index.md now includes home.md and footer.md content
2026-01-03 20:46:55 -08:00
Wayne Sutton
560582928f
Docs sidebar group icons via frontmatter
2026-01-03 00:18:10 -08:00
Wayne Sutton
2858b6149b
Embed YouTube videos and Twitter/X posts directly in markdown
...
Domain whitelisting for security (only trusted domains allowed)
2026-01-01 14:31:56 -08:00
Wayne Sutton
1eaec05fec
feat: add author pages at /author/:authorSlug with clickable author names in posts
...
Add author archive pages displaying all posts by a specific author, following
the existing tag pages pattern. Author names in post headers are now clickable
links that navigate to the author's page.
Changes:
- Add by_authorName index to posts table (convex/schema.ts)
- Add getAllAuthors and getPostsByAuthor queries (convex/posts.ts)
- Create AuthorPage.tsx component with list/cards view toggle
- Add /author/:authorSlug route (src/App.tsx)
- Make authorName clickable in Post.tsx for posts and pages
- Add author link and page styles (src/styles/global.css)
- Add author pages to sitemap (convex/http.ts)
- Update documentation: files.md, TASK.md, changelog.md, changelog-page.md
- Save implementation plan to prds/authorname-blogs.md
2026-01-01 00:05:10 -08:00
Wayne Sutton
1e759495eb
fix: remove homepage intro loading flash by using invisible Suspense fallback and null render during query load
2025-12-31 22:08:10 -08:00
Wayne Sutton
ac0dfab784
feat: add unlisted frontmatter field to hide posts from listings while keeping direct access
2025-12-30 15:22:46 -08:00
Wayne Sutton
6cd9ec116c
feat: add CLAUDE.md and skills documentation
...
Created CLAUDE.md for Claude Code instructions and .claude/skills/ directory with frontmatter, convex, and sync skill files. Updated sync-discovery-files.ts to auto-update CLAUDE.md during sync.
2025-12-30 12:03:06 -08:00