Commit Graph

63 Commits

Author SHA1 Message Date
kennethreitz 8ede239751 Fix incoming connections to show proper titles instead of 'Unknown'
- Added title extraction from markdown files for incoming connections when URL mapping is unavailable
- Looks for markdown titles (# Title) and YAML frontmatter (title:) in first 10 lines
- Handles files not in blog_posts collection (e.g., Lumina reactions, AI writings, themes)
- Improves connections page display by showing actual titles instead of 'Unknown'
- Falls back gracefully to 'Unknown' if file reading fails

Example: 'Dancing in the Primordial Soup: A Love Letter to Kenneth's Absurd Truth' instead of 'Unknown'

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:48:09 -04:00
kennethreitz e9743c5dfa Fix cross-reference graph to use MetadataCache
- Updated graph_data() endpoint to use metadata_cache.get_connections() instead of old _extract_all_connections_cached()
- Graph now uses same optimized single-sweep cache as other endpoints
- Improved from 0 nodes/edges to 128 nodes/662 edges with proper cross-reference data
- Ensures consistent performance across all index pages

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:43:30 -04:00
kennethreitz 09a307bda0 Fix connections and terms index display issues
- Fix jinja2 template error: change terms cache from list to dictionary structure
- Fix connections showing 0: add missing file_path field to blog_posts for proper file-to-URL mapping
- Fix terms index being empty: same file_path mapping enables terms to link to articles
- Fix incoming links showing "Unknown": proper source file mapping resolves article titles
- Both indexes now display correct cross-reference data with fast performance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:40:43 -04:00
kennethreitz 3d6dfae01b Refactor cache generation and improve metadata handling
- Updated docker-compose.yml to mount data directory for improved file access.
- Implemented a unified cache generation function in engine.py to streamline cache creation for blog posts, sidenotes, outlines, quotes, connections, and terms.
- Replaced individual cache extraction functions with a single MetadataCache class for cleaner access to cached data.
- Modified prebuild_cache.py to utilize the new unified cache function, ensuring all cache files are generated in a single sweep.
- Enhanced outlines.html template to simplify anchor URL generation for headings.
2025-09-16 19:37:23 -04:00
kennethreitz b14a1bf2a5 Improve top navigation with dynamic index dropdown
- Replace static nav links with dropdown containing all indexes
- Add Flask context processor for dynamic index counts from cache
- Organize indexes by content type with visual separators
- Add hover-friendly padding and eliminate gap issues
- Order indexes: Sidenotes, Outlines, Connections, Quotes, Terms, Graph, Search
- Include exact counts for each index pulled from live cache data
- Add proper punctuation and descriptions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 16:56:35 -04:00
kennethreitz e1245511d6 Implement Docker build-time cache pre-generation for instant startup
Added prebuild_cache.py script that generates all site caches (blog posts, sidenotes, outlines, quotes, connections, terms) as JSON files during Docker build. Modified engine.py to load pre-built caches on startup, eliminating the 30-40 second cache preload delay and making the site instantly responsive.

Key improvements:
- Zero startup delay with pre-built caches
- Proper datetime serialization/deserialization
- Graceful fallback to runtime caching if pre-built files missing
- Technology serving human consciousness - mechanical work during build, instant experience for users

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 10:29:51 -04:00
kennethreitz f36d1848e1 Implement bidirectional connections tracking in backend
- Enhanced _extract_all_connections_cached() with two-pass algorithm
- First pass: collect articles and outgoing connections
- Second pass: map incoming connections to target articles
- Added incoming_connections and outgoing_connections fields to article data
- Maintains backward compatibility with existing connections field
- Updated connections route to pass bidirectional statistics

Now tracks 1,535 outgoing and 1,391 incoming cross-references across the digital garden.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 03:47:00 -04:00
kennethreitz fac4c05d09 test 2025-09-16 01:08:14 -04:00
kennethreitz d3e2b2e180 test 2025-09-15 23:28:55 -04:00
kennethreitz b7d3fa9c5d test 2025-09-15 22:36:14 -04:00
kennethreitz d975d7b937 test 2025-09-15 20:59:35 -04:00
kennethreitz d6fe03a9d3 test 2025-09-15 07:14:59 -04:00
kennethreitz 1abdf56943 test 2025-09-15 06:15:36 -04:00
kennethreitz f0d9393db4 test 2025-09-14 20:16:03 -04:00
kennethreitz 13570e2888 Fix Fly.io deployment issues and restore blue-green strategy
- Added /health endpoint for more reliable health checks
- Increased health check timeout from 2s to 10s with 15s grace period
- Fixed cache preloading to run only once using file locking mechanism
- Prevents multiple Gunicorn workers from running cache preloading simultaneously
- Restored blue-green deployment strategy for zero-downtime deployments
- Deployment now completes successfully with all health checks passing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-14 17:18:01 -04:00
kennethreitz 3b88fdf56c test 2025-09-14 16:59:47 -04:00
kennethreitz 46bef60b75 Add cross-reference graph visualization and external links index
- Created interactive D3.js network graph showing connections between essays
- Added external links index showing all outbound references by article
- Moved content guide to base template footer for site-wide access
- Optimized startup: background cache preloading, sequential for lower RAM usage
- Fixed duplicate images issue in growing open source seeds essay
- Updated archive page with new index links and improved browse-by-type styling
- Removed saved-customizations.css file
- Changed Fly.io deployment strategy from bluegreen to rolling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-14 16:34:41 -04:00
kennethreitz ce6fc9a609 test 2025-09-14 16:18:53 -04:00
kennethreitz 3953649bd4 test 2025-09-14 16:10:52 -04:00
kennethreitz 0d85df1293 test 2025-09-14 15:40:40 -04:00
kennethreitz afee645299 test 2025-09-14 13:10:30 -04:00
kennethreitz 99b6715e37 test 2025-09-14 12:59:11 -04:00
kennethreitz a59b5eee0b test 2025-09-13 06:40:07 -04:00
kennethreitz b9fe81b260 test 2025-09-13 06:29:55 -04:00
kennethreitz 9483fd01d9 test 2025-09-07 07:12:54 -04:00
kennethreitz 84d894026a test 2025-09-07 07:05:40 -04:00
kennethreitz 130614b961 test 2025-09-07 07:02:31 -04:00
kennethreitz 56b05d024e test 2025-09-06 15:08:26 -04:00
kennethreitz 6c577c2cef test 2025-09-06 15:01:58 -04:00
kennethreitz 132b3bb602 test 2025-09-05 11:19:48 -04:00
kennethreitz e01c5b0896 test 2025-09-05 11:13:26 -04:00
kennethreitz 569510febc test 2025-09-02 11:52:58 -04:00
kennethreitz 7cc890817a test 2025-09-02 11:49:19 -04:00
kennethreitz 05c706bfd2 test 2025-09-01 14:35:35 -04:00
kennethreitz ed55d92784 test 2025-09-01 14:27:49 -04:00
kennethreitz cdffd24581 test 2025-08-30 13:30:07 -04:00
kennethreitz 3f0c181282 test 2025-08-30 11:44:07 -04:00
kennethreitz 7e74ee4251 test 2025-08-27 11:41:14 -04:00
kennethreitz 8b1b0ab584 test 2025-08-27 11:12:34 -04:00
kennethreitz 44cd6f55bc test 2025-08-26 09:52:34 -04:00
kennethreitz b4d849da13 test 2025-08-25 19:33:38 -04:00
kennethreitz f33320664c test 2025-08-25 13:37:52 -04:00
kennethreitz bedbe42bb4 test 2025-08-25 13:36:14 -04:00
kennethreitz d476580116 test 2025-08-24 19:31:22 -04:00
kennethreitz 2824e1ad76 test 2025-08-24 19:25:46 -04:00
kennethreitz 96d1eedc8c new post 2025-08-24 19:17:40 -04:00
kennethreitz cb88ab3afe caching 2025-08-24 15:35:47 -04:00
kennethreitz 3c884770ed test 2025-08-24 15:25:22 -04:00
kennethreitz b311e18b52 test 2025-08-24 12:10:35 -04:00
kennethreitz ee031c189a test 2025-08-24 11:46:51 -04:00