mirror of
https://github.com/waynesutton/markdown-site.git
synced 2026-01-12 04:09:14 +00:00
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.
1.2 KiB
1.2 KiB
Projects
Type: page Date: 2026-01-06
This markdown framework is open source and built to be extended. Here is what ships out of the box.
Core Features
Real-time sync Posts update instantly across all browsers. No rebuild, no redeploy.
Four themes Dark, light, tan, and cloud. Switch with one click.
Markdown authoring Write in your editor. Frontmatter handles metadata.
Static pages About, Projects, Contact. Add your own.
API Endpoints
The site exposes endpoints for search engines and AI agents:
/rss.xmlfor RSS readers/rss-full.xmlfor LLM ingestion/sitemap.xmlfor search engines/api/postsfor JSON access/llms.txtfor AI discovery
Technical Architecture
content/ <- Markdown files
blog/ <- Blog posts
pages/ <- Static pages
convex/ <- Backend functions
src/ <- React frontend
Convex handles the database, queries, and mutations. The frontend subscribes to data and re-renders when it changes. No REST. No GraphQL. Just reactive functions.
Extend It
Fork the repo. Add features. The codebase is TypeScript end to end with full type safety from database to UI.