18 Commits

Author SHA1 Message Date
Wayne Sutton
95cc8a4677 New and Updated: ConvexFS Media Library with Bunny CDN integration ,OpenCode AI development tool integration, AI image generation download and copy options 2026-01-10 15:53:27 -08:00
Wayne Sutton
b274ddf3c9 Ask AI header button with RAG-based Q&A with semeantic-search added, config in siteconfig 2026-01-06 21:05:20 -08:00
Wayne Sutton
98916899a3 fix(seo): resolve 7 SEO issues from GitHub Issue #4
SEO improvements for better search engine optimization:

  1. Canonical URL - Added client-side dynamic canonical link tags for posts and pages
  2. Single H1 per page - Markdown H1s demoted to H2 with .blog-h1-demoted class (maintains H1 visual styling)
  3. DOM order fix - Article now loads before sidebar in DOM for SEO (CSS order property maintains visual layout)
  4. X-Robots-Tag - HTTP header added via netlify.toml (index, follow for public; noindex for dashboard/api routes)
  5. Hreflang tags - Self-referencing hreflang (en, x-default) for language targeting
  6. og:url consistency - Uses same canonicalUrl variable as canonical link tag
  7. twitter:site - New TwitterConfig in siteConfig.ts for Twitter Cards meta tags

  Files modified:
  - src/config/siteConfig.ts: Added TwitterConfig interface with site/creator fields
  - src/pages/Post.tsx: SEO meta tags for posts/pages, DOM order optimization
  - src/components/BlogPost.tsx: H1 to H2 demotion in markdown renderer
  - src/styles/global.css: .blog-h1-demoted class, CSS order properties
  - convex/http.ts: hreflang and twitter:site in generateMetaHtml()
  - netlify.toml: X-Robots-Tag headers for public, dashboard, API routes
  - index.html: canonical, hreflang, twitter:site placeholder tags
  - fork-config.json.example: twitter configuration fields

  Closes #4

  Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 11:31:55 -08:00
Wayne Sutton
a9f56d9c04 feat: Multi-model AI chat and image generation in Dashboard 2026-01-01 22:00:46 -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
a87db9d171 docs: add changelog entries for v1.33.1 through v1.37.0
Add missing changelog entries to content/pages/changelog-page.md:

v1.34.0 (2025-12-26): Blog page featured layout with hero post
- blogFeatured frontmatter field for posts
- Hero card displays first featured post with landscape image
- 2-column featured row for remaining featured posts
- 3-column grid for regular posts

v1.35.0 (2025-12-26): Image support at top of posts and pages
- showImageAtTop frontmatter field
- Full-width image display above post header
- Works for both posts and pages

v1.36.0 (2025-12-27): Social footer component
- Customizable social links (8 platform types)
- Copyright with auto-updating year
- showSocialFooter frontmatter field for per-page control
- Configurable via siteConfig.socialFooter

v1.37.0 (2025-12-27): Newsletter Admin UI
- Three-column admin interface at /newsletter-admin
- Subscriber management with search and filters
- Send newsletter panel (post selection or custom email)
- Weekly digest automation (Sunday 9am UTC)
- Developer notifications (subscriber alerts, weekly stats)
- Markdown-to-HTML conversion for custom emails
2025-12-27 15:32:07 -08:00
Wayne Sutton
66c7f161bd update: homepage and descrption text 2025-12-25 00:47:40 -08:00
Wayne Sutton
27847327fd fix: standardize URLs to www.markdown.fast to resolve RSS feed validation errors 2025-12-24 23:45:58 -08:00
Wayne Sutton
4bc26c7a33 feat: add tag pages, related posts, and re-enable AI service links
- Add /tags/[tag] routes with dynamic tag archive pages
- Add related posts component to blog post footers (up to 3 by shared tags)
- Tag links in post footers now navigate to tag archive pages
- Re-enable Open in AI links using GitHub raw URLs (bypasses edge issues)
- Add gitHubRepo config in siteConfig.ts for raw URL construction
- Add by_tags index and getAllTags/getPostsByTag/getRelatedPosts queries
- Update sitemap to include dynamically generated tag pages
- Add mobile responsive styling for all new components
- Update docs with git push requirement for AI links to work
2025-12-24 13:49:00 -08:00
Wayne Sutton
94ba8fe184 fix: SEO/AEO/GEO improvements for AI crawlers and search engines 2025-12-22 00:07:24 -08:00
Wayne Sutton
d623aed598 updates: site url to markdown.fast, png og image and site name 2025-12-21 22:24:12 -08:00
Wayne Sutton
66a2c4f4d2 feat: add GitHub contributions graph with theme-aware colors
- Add GitHubContributions component with year navigation
- Display contribution activity from github-contributions-api.jogruber.de
- Theme-specific colors for dark, light, tan, and cloud themes
- Phosphor icons for year navigation (CaretLeft, CaretRight)
- Click graph to visit GitHub profile
- Configurable via siteConfig.gitHubContributions
- Mobile responsive with scaled cells and hidden day labels
- Add documentation to setup-guide, docs, README, and changelog
2025-12-20 20:46:34 -08:00
Wayne Sutton
4b187cff53 fix: use frontmatter image for OG meta instead of default 2025-12-20 16:34:48 -08:00
Wayne Sutton
4ae8579f48 docs: update site description across 9 files and add metadata table to setup guide 2025-12-20 11:33:14 -08:00
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
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
Wayne Sutton
c6c12ecd58 fix: update OG image meta tags and rename to Markdown Site 2025-12-14 14:51:22 -08:00
Wayne Sutton
462729de58 chore: prepare v1.0.0 for Netlify deployment
Update version to 1.0.0 across package.json and changelog. Configure netlify.toml with Convex deployment URL (agreeable-trout-200.convex.site). Verify TypeScript type-safety for src and convex directories. Confirm Netlify build passes with SPA 404 fallback configured. Update TASK.md with deployment steps and files.md with complete file structure.
2025-12-14 11:30:22 -08:00