Files
wiki/netlify.toml
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

56 lines
1.0 KiB
TOML

[build]
command = "npm ci --include=dev && npx convex deploy --cmd 'npm run build'"
publish = "dist"
[build.environment]
NODE_VERSION = "20"
# SPA fallback for client-side routing (must be last)
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
# Edge functions for dynamic Convex HTTP proxying
# RSS feeds
[[edge_functions]]
path = "/rss.xml"
function = "rss"
[[edge_functions]]
path = "/rss-full.xml"
function = "rss"
# Sitemap
[[edge_functions]]
path = "/sitemap.xml"
function = "sitemap"
# API endpoints
[[edge_functions]]
path = "/api/posts"
function = "api"
[[edge_functions]]
path = "/api/post"
function = "api"
[[edge_functions]]
path = "/api/export"
function = "api"
# Open Graph bot detection (catches all other routes)
[[edge_functions]]
path = "/*"
function = "botMeta"
[context.production.environment]
NODE_ENV = "production"
[context.deploy-preview.environment]
NODE_ENV = "development"
[context.branch-deploy.environment]
NODE_ENV = "development"