Commit Graph

50 Commits

Author SHA1 Message Date
Wayne Sutton
a5c30a1592 fix: docs scroll 2025-12-30 12:24:36 -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
Wayne Sutton
689951d344 feat: markdown sync v2 complete
Complete markdown synchronization system with dashboard UI, sync server, type safety, and security improvements.
2025-12-30 00:29:07 -08:00
Wayne Sutton
02bc3c2973 update: workos logo, blog post images and dashboard docs images upload 2025-12-29 23:12:28 -08:00
Wayne Sutton
e8d09fcce2 feature: new dashboard workos auth for dashboard login, dashboard optional in site config, sync server for dashboard, workos and dashboard docs updated 2025-12-29 22:11:52 -08:00
Wayne Sutton
29d38eeced update: blog post image for Team Workflows with Git Version Control post 2025-12-28 21:52:24 -08:00
Wayne Sutton
c5896fd5ef feat: add blog heading styles to home intro content 2025-12-28 18:09:57 -08:00
Wayne Sutton
6cdb524c3c Newsletter image upload for blog post 2025-12-28 11:43:12 -08:00
Wayne Sutton
e1e64a36ec feat: Add MCP server fork setup instructions and update documentation 2025-12-27 22:54:51 -08:00
Wayne Sutton
01ac2a01c7 feat: added HTTP-Based MCP Server on Netlify 2025-12-27 22:18:03 -08:00
Wayne Sutton
d6e76f6e39 update: setup fork config docs and featured image. 2025-12-27 21:05:39 -08:00
Wayne Sutton
47934cd382 update: added agentmail to readme, updated home links 2025-12-27 16:03:18 -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
3dcdb69041 update: show iamge at top of blog post, updated monospace font and base font size, default font for write 2025-12-26 18:13:06 -08:00
Wayne Sutton
b35dd17332 Update: Blog page featured layout ui, mobile menu padding and font change 2025-12-26 16:41:06 -08:00
Wayne Sutton
bfe88d0217 feat: add AI Agent chat integration with Anthropic Claude API
Add AI writing assistant (Agent) powered by Anthropic Claude API. Agent can be enabled on Write page (replaces textarea) and optionally in RightSidebar on posts/pages via frontmatter.

Features:
- AIChatView component with per-page chat history
- Page content context support for AI responses
- Markdown rendering for AI responses
- User-friendly error handling for missing API keys
- System prompt configurable via Convex environment variables
- Anonymous session authentication using localStorage

Environment variables required:
- ANTHROPIC_API_KEY (required)
- CLAUDE_PROMPT_STYLE, CLAUDE_PROMPT_COMMUNITY, CLAUDE_PROMPT_RULES (optional split prompts)
- CLAUDE_SYSTEM_PROMPT (optional single prompt fallback)

Configuration:
- siteConfig.aiChat.enabledOnWritePage: Enable Agent toggle on /write page
- siteConfig.aiChat.enabledOnContent: Allow Agent on posts/pages via frontmatter
- Frontmatter aiChat: true (requires rightSidebar: true)

Updated files:
- src/components/AIChatView.tsx: AI chat interface component
- src/components/RightSidebar.tsx: Conditional Agent rendering
- src/pages/Write.tsx: Agent mode toggle (title changes to Agent)
- convex/aiChats.ts: Chat history queries and mutations
- convex/aiChatActions.ts: Claude API integration with error handling
- convex/schema.ts: aiChats table with indexes
- src/config/siteConfig.ts: AIChatConfig interface
- Documentation updated across all files

Documentation:
- files.md: Updated component descriptions
- changelog.md: Added v1.33.0 entry
- TASK.md: Marked AI chat tasks as completed
- README.md: Added AI Agent Chat section
- content/pages/docs.md: Added AI Agent chat documentation
- content/blog/setup-guide.md: Added AI Agent chat setup instructions
- public/raw/changelog.md: Added v1.33.0 entry
2025-12-26 12:31:33 -08:00
Wayne Sutton
50890e9153 update: added firecrawl logo to homepage 2025-12-25 23:47:26 -08:00
Wayne Sutton
b94b26116a Add image support to footer component with size control via HTML attributes 2025-12-25 23:01:58 -08:00
Wayne Sutton
d00f204fa7 docs: update changelog page with right sidebar feature and fixes
Add v1.30.0, v1.30.1, and v1.30.2 entries to changelog-page.md covering:
- Right sidebar feature implementation
- TypeScript error fixes
- Right sidebar default behavior fix
2025-12-25 21:06:06 -08:00
Wayne Sutton
6b776733d5 feat: add font family configuration system with monospace option 2025-12-25 12:17:27 -08:00
Wayne Sutton
66c7f161bd update: homepage and descrption text 2025-12-25 00:47:40 -08:00
Wayne Sutton
01db0a70e2 fix: plain text code blocks now wrap text properly 2025-12-25 00:31:30 -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
03ff3eb844 feat: add discovery files sync commands and update documentation 2025-12-24 23:16:34 -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
dc5f9eff4c fix: sidebar border and ui sidebar ui changes 2025-12-24 12:23:59 -08:00
Wayne Sutton
a9d500ca4f eat(sync): generate homepage index markdown file listing all posts 2025-12-24 00:00:08 -08:00
Wayne Sutton
fa9651f62e docs: update changelog page with v1.24.3 and v1.24.4 releases
- Added v1.24.4 entry documenting showInNav field and hardcodedNavItems configuration
- Added v1.24.3 entry documenting inner page logo configuration
- Includes configuration examples and updated file lists
- Maintains consistent format with existing changelog entries
2025-12-23 17:01:22 -08:00
Wayne Sutton
3d6700739d feat: added logo to pages, blog post as an option in sitecong 2025-12-23 15:41:47 -08:00
Wayne Sutton
bdf5378a9a feat(mobile): redesign menu with sidebar integration
- Move mobile nav controls to left side (hamburger, search, theme)
- Add sidebar TOC to mobile menu when page has sidebar layout
- Hide desktop sidebar on mobile since accessible via hamburger
- Standardize mobile menu typography with CSS variables
- Use font-family inherit for consistent fonts across menu elements
2025-12-23 14:01:37 -08:00
Wayne Sutton
0342539aac feat: add sidebar layout support for blog posts
- Add layout field to posts schema and frontmatter
- Enable docs-style sidebar layout for posts (previously pages only)
- Update Post.tsx to handle sidebar for both posts and pages
- Add layout field to Write.tsx frontmatter reference
- Update documentation in docs.md, setup-guide.md, how-to-publish.md
- Add documentation links to README.md
2025-12-23 00:57:21 -08:00
Wayne Sutton
edb7fc6723 feat: blog view toggle, page sidebar layout, and collapsible markdown
- Blog page: list/card view toggle with localStorage persistence
- Pages: sidebar layout with auto-generated TOC (layout: "sidebar")
- Markdown: collapsible sections via <details>/<summary> tags
- Add rehype-raw and rehype-sanitize for HTML in markdown
2025-12-23 00:21:57 -08:00
Wayne Sutton
1798be1047 fix: use correct excluded_paths syntax for Netlify edge functions 2025-12-22 01:58:11 -08:00
Wayne Sutton
e9ff238abf fix: exclude raw files from edge function so AI crawlers can access markdown 2025-12-22 01:35:38 -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
5a7824b2b8 fixed: home link strong css, added more markdown examples 2025-12-21 18:47:17 -08:00
Wayne Sutton
f598c3e903 added vistor map gif to blog post 2025-12-21 16:35:40 -08:00
Wayne Sutton
a2bef06315 feat(stats): add subtitle explaining visitor map count difference 2025-12-21 16:19:49 -08:00
Wayne Sutton
4a912fd345 docs: add visitor map configuration to README and update docs.md
- Added visitor map section to README.md after GitHub Contributions Graph
- Updated visitor map description in content/pages/docs.md with privacy details
- Documents configuration options in src/config/siteConfig.ts
- Explains Netlify geo detection and theme-aware colors
2025-12-21 15:58:43 -08:00
Wayne Sutton
1e67e492c8 fix: improve AI service prompts with load verification 2025-12-21 14:55:15 -08:00
Wayne Sutton
dd934390cc feat: raw markdown URLs, author display, GitHub Stars, and frontmatter docs
v1.18.1 - CopyPageDropdown raw markdown URLs
- AI services (ChatGPT, Claude, Perplexity) now receive /raw/{slug}.md URLs
- Direct access to clean markdown content for better AI parsing
- No HTML parsing required by AI services
- Renamed buildUrlFromPageUrl to buildUrlFromRawMarkdown

v1.19.0 - Author display for posts and pages
- New optional authorName and authorImage frontmatter fields
- Round avatar image displayed next to date and read time
- Works on individual post and page views
- Write page updated with new field reference

v1.19.1 - GitHub Stars on Stats page
- Live star count from waynesutton/markdown-site repository
- Fetches from GitHub public API (no token required)
- Stats page now displays 6 cards with responsive grid

Documentation updates
- Frontmatter Flow section added to docs.md, setup-guide.md, files.md
- How frontmatter works with step-by-step processing flow
- Instructions for adding new frontmatter fields

Updated files:
- src/components/CopyPageDropdown.tsx
- src/pages/Stats.tsx
- src/pages/Post.tsx
- src/pages/Write.tsx
- src/styles/global.css
- convex/schema.ts
- convex/posts.ts
- convex/pages.ts
- scripts/sync-posts.ts
- content/blog/setup-guide.md
- content/pages/docs.md
- content/pages/changelog-page.md
- files.md
- README.md
- TASK.md
- changelog.md
- AGENTS.md
2025-12-21 13:59:50 -08:00
Wayne Sutton
662c28057c updated fork-confg post image 2025-12-20 23:12:40 -08:00
Wayne Sutton
04d08dbada feat(fork-config): add automated fork configuration with npm run configure
Add a complete fork configuration system that allows users to set up their
forked site with a single command or follow manual instructions.

## New files

- FORK_CONFIG.md: Comprehensive guide with two setup options
  - Option 1: Automated JSON config + npm run configure
  - Option 2: Manual step-by-step instructions with code snippets
  - AI agent prompt for automated updates

- fork-config.json.example: JSON template with all configuration fields
  - Site info (name, title, description, URL, domain)
  - GitHub and contact details
  - Creator section for footer links
  - Optional feature toggles (logo gallery, GitHub graph, blog page)
  - Theme selection

- scripts/configure-fork.ts: Automated configuration script
  - Reads fork-config.json and applies changes to all files
  - Updates 11 configuration files in one command
  - Type-safe with ForkConfig interface
  - Detailed console output showing each file updated

## Updated files

- package.json: Added configure script (npm run configure)
- .gitignore: Added fork-config.json to keep user config local
- files.md: Added new fork configuration files
- changelog.md: Added v1.18.0 entry
- changelog-page.md: Added v1.18.0 section with full details
- TASK.md: Updated status and completed tasks
- README.md: Replaced Files to Update section with Fork Configuration
- content/blog/setup-guide.md: Added Fork Configuration Options section
- content/pages/docs.md: Added Fork Configuration section
- content/pages/about.md: Added fork configuration mention
- content/blog/fork-configuration-guide.md: New featured blog post

## Files updated by configure script

| File                                | What it updates                        |
| ----------------------------------- | -------------------------------------- |
| src/config/siteConfig.ts            | Site name, bio, GitHub, features       |
| src/pages/Home.tsx                  | Intro paragraph, footer links          |
| src/pages/Post.tsx                  | SITE_URL, SITE_NAME constants          |
| convex/http.ts                      | SITE_URL, SITE_NAME constants          |
| convex/rss.ts                       | SITE_URL, SITE_TITLE, SITE_DESCRIPTION |
| index.html                          | Meta tags, JSON-LD, page title         |
| public/llms.txt                     | Site info, GitHub link                 |
| public/robots.txt                   | Sitemap URL                            |
| public/openapi.yaml                 | Server URL, site name                  |
| public/.well-known/ai-plugin.json   | Plugin metadata                        |
| src/context/ThemeContext.tsx        | Default theme                          |

## Usage

Automated:
  cp fork-config.json.example fork-config.json
  # Edit fork-config.json
  npm run configure

Manual:
  Follow FORK_CONFIG.md step-by-step guide
2025-12-20 22:15:33 -08:00
Wayne Sutton
f1f8c2417a fix: logo path url location for homepage 2025-12-20 20:56:07 -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
9bdfe10d61 feat: add /write page with three-column layout, font switcher, frontmatter reference, and localStorage persistence 2025-12-20 18:58:19 -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
0057194701 fix: use direct counting for stats until aggregates are backfilled
The aggregate components only contained new page views (after installation),
not the ~6000+ historical views. Changed getStats to use direct counting
from pageViews table to ensure all historical data is displayed correctly.

This is a temporary fix until we implement chunked backfilling to handle
the large dataset without exceeding memory limits.
2025-12-20 14:54:11 -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