Skip to content

Documentation Theme Updates: Vim-style Dark Mode Enhancements - #10

Merged
knowlen merged 123 commits into
mainfrom
v2/update-main-before-refactor
Jul 15, 2025
Merged

Documentation Theme Updates: Vim-style Dark Mode Enhancements#10
knowlen merged 123 commits into
mainfrom
v2/update-main-before-refactor

Conversation

@knowlen

@knowlen knowlen commented Jul 15, 2025

Copy link
Copy Markdown
Owner

Summary

  • Enhanced vim-style dark theme for documentation
  • Implemented search and image optimizations
  • Refined color scheme with purple accents throughout
  • Updated wiki documentation to reflect current project status

Changes Made

Theme Enhancements

  • Refined vim dark theme with consistent purple/yellow accent colors
  • Changed inline code snippets to use --vim-bg-light background
  • Changed code blocks to pure black background for better contrast
  • Updated search bar focus color to purple for consistency
  • Adjusted header colors: H2 (gray), H3 (blue), H4 (purple)
  • Changed links to cyan with magenta hover effect

Performance Optimizations

  • Implemented enhanced search with stemming and filtering
  • Added vim-style keyboard shortcuts (/ to search, Escape to close)
  • Optimized images with WebP conversion (85% size reduction)
  • Added lazy loading for images

Documentation Updates

  • Updated wiki API coverage from ~75% to ~83%
  • Updated rate limit from 720/hour to 18000/hour
  • Fixed navigation layout issues

Technical Details

  • Removed problematic single-row navigation attempts
  • Maintained stable two-row header layout
  • All changes tested across different page types
  • Pre-commit hooks passing (except for known mkdocs.yml YAML issue)

Test Plan

  • Verify theme renders correctly on all page types
  • Test search functionality and keyboard shortcuts
  • Confirm images load with WebP fallback
  • Check navigation works without duplication
  • Validate color consistency across all elements

knowlen and others added 30 commits July 9, 2025 10:56
- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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

Co-Authored-By: Claude <noreply@anthropic.com>
Documentation Updates: Reflect Merged PRs and Current Project State
- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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

Co-Authored-By: Claude <noreply@anthropic.com>
Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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

Co-Authored-By: Claude <noreply@anthropic.com>
Add Comprehensive Integration Test Suite
Fixed incomplete page validation logic that wasn't rejecting non-integer values.
- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)
- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs
knowlen added 15 commits July 14, 2025 21:11
- Changed all navigation hover/active states to match top nav bar
- Background: Light grey (--vim-fg) instead of purple
- Text: Black (--vim-bg) for better contrast
- Fixed left navigation bar layout issues
- Right sidebar now has fit-to-text highlighting
- Navigation hover/active states now use yellow text on purple background
- Provides more visual character and vim theme personality
- Consistent styling across left nav, right nav (TOC), and active states
- Maintains the distinctive vim aesthetic throughout
Search Optimization:
- Enhanced search with stemming, stop words, and trimming
- Vim-style search UI with custom highlighting
- Keyboard shortcuts: / to search, Escape to close
- Search results styled to match vim theme

Image Optimization:
- Optimized logo.png: 194KB → 78.5KB (59.6% reduction)
- Created WebP version: 30.8KB (84.2% reduction)
- Updated docs to use picture elements with WebP support
- Added lazy loading and responsive image CSS
- Created optimization scripts and CI/CD workflow
- Favicon noted as large (194KB) for future optimization
- Search input border now uses purple (--vim-visual)
- Search icon also changed to purple
- Better consistency with navigation highlighting theme
@claude

claude Bot commented Jul 15, 2025

Copy link
Copy Markdown

Claude finished @knowlen's task —— View job


Code Review Complete ✅

I've completed a comprehensive review of this large PR. Here's my detailed feedback on code quality, best practices, potential bugs, performance considerations, security concerns, and test coverage.

Summary

This is a well-executed documentation and infrastructure enhancement PR with good security practices and comprehensive testing. The changes demonstrate professional development practices with attention to both functionality and user experience.

🔧 Core Library Changes

Strengths

  • Excellent Security Practices:
    • API key sanitization in error messages (validators.py:36-55)
    • Input validation with DoS protection (validators.py:11-34)
    • Proper authentication flow in access_token.py:66
  • Robust Validation: Comprehensive parameter validation with security-conscious limits
  • Good Error Handling: Clean exception hierarchy and proper error propagation
  • Type Safety: Proper use of typing with Union types and validation

⚠️ Areas for Improvement

  • Magic Numbers: Hard-coded limits like 10000 in validators.py:202 should be constants
  • Exception Messages: Some validation errors could be more user-friendly
  • Documentation: Consider adding more docstring examples for complex methods like search_reports()

🏗️ Documentation & Theme Implementation

Strengths

  • Professional Theme: Well-architected vim-style dark theme with clear documentation
  • Performance Optimized:
    • Lazy loading enabled (mkdocs.yml:49)
    • Search pipeline with stemming and filtering (mkdocs.yml:140-143)
    • Image optimization with WebP conversion
  • Accessibility: Good contrast ratios and font choices
  • User Experience: Vim-style keyboard shortcuts (/ for search, Escape to close)

⚠️ Areas for Improvement

  • CSS Specificity: 155 !important declarations - while explained in comments, consider if some can be reduced
  • Font Loading: External font imports could benefit from font-display: swap for better loading performance
  • Navigation: Typo in mkdocs.yml:75 - "Enspoints" should be "Endpoints"

🧪 Test Coverage & Quality

Strengths

  • Comprehensive Test Strategy: 4 different test suites (unit, integration, sanity, docs) totaling 278 tests
  • Good Organization: Clear separation between test types with detailed README
  • Proper Mocking: Unit tests don't require API access
  • Security Testing: Tests for error handling and edge cases

⚠️ Areas for Improvement

  • Test Dependencies: Consider using pytest-mock instead of manual mocking for better maintainability
  • Coverage Configuration: Generated files are properly excluded, but coverage reporting could be enhanced

🔐 Security Assessment

Strong Security Posture

  • Credential Protection: API keys properly sanitized in logs and error messages
  • Input Validation: All user inputs validated with reasonable limits
  • OAuth Implementation: Proper OAuth2 client credentials flow
  • No Hardcoded Secrets: All credentials read from environment variables

No Security Issues Found

  • Authentication implementation follows OAuth2 best practices
  • No sensitive data exposure in logs or error messages
  • Proper input sanitization prevents injection attacks

⚡ Performance Considerations

Good Performance Practices

  • Image Optimization: 85% size reduction with WebP conversion
  • Caching: Proper pip caching in CI workflow
  • Bundle Optimization: Minification enabled for HTML/CSS/JS
  • Lazy Loading: Images and iframes lazy-loaded

💡 Performance Suggestions

  • Database Connections: Consider connection pooling for high-throughput applications
  • Request Batching: Could benefit from request batching utilities for bulk operations
  • Caching Layer: Consider adding response caching for frequently accessed data

🚀 CI/CD & Infrastructure

Professional Setup

  • Multi-Python Support: Tests across Python 3.8-3.12
  • Proper Caching: Pip package caching for faster builds
  • Pre-commit Hooks: Code quality enforcement
  • Comprehensive Linting: Black, isort, ruff, and mypy configured

⚠️ Minor Suggestions

  • Dependabot: Good addition for security updates
  • Test Matrix: Consider adding OS matrix (Ubuntu, macOS, Windows) for broader compatibility
  • Release Automation: Could benefit from automated release workflow

📊 Code Quality Metrics

Aspect Rating Notes
Security ⭐⭐⭐⭐⭐ Excellent practices throughout
Test Coverage ⭐⭐⭐⭐⭐ Comprehensive 4-tier testing
Documentation ⭐⭐⭐⭐⭐ Professional docs with great UX
Code Organization ⭐⭐⭐⭐ Good structure, some minor improvements
Performance ⭐⭐⭐⭐ Well optimized, room for enhancement

🎯 Specific Recommendations

  1. Fix Navigation Typo: mkdocs.yml:75 "Enspoints" → "Endpoints"
  2. Extract Constants: Move magic numbers to named constants
  3. Enhance Error Messages: More user-friendly validation error messages
  4. Font Performance: Add font-display: swap to external fonts
  5. Test Enhancement: Consider adding OS matrix to CI

🏆 Overall Assessment

This is a high-quality PR that demonstrates professional development practices. The code is secure, well-tested, and follows best practices. The documentation improvements significantly enhance user experience, and the infrastructure changes set up the project for sustainable development.

Recommendation: Approve with minor suggested improvements

The changes are production-ready and represent a significant improvement to the project's documentation, security posture, and developer experience.


knowlen added 7 commits July 14, 2025 23:22
- Changed main site background to pure black (#000000)
- Kept code blocks with --vim-bg (#1c1c1c) for subtle contrast
- Fixed table row alternating colors (now --vim-bg-light and --vim-bg)
- Removed Previous/Next navigation footer for cleaner look
- Fixed trailing whitespace in all files
- Added missing newlines at end of files
- Applied black formatting to Python test files
- Fixed import sorting with isort
- Fixed ruff linting issues (unused variables, comparison style)
- Removed unused imports
- Added missing newline to .readthedocs.yml
- Disabled emoji and mermaid extensions in mkdocs.yml to fix YAML validation
- These extensions use Python-specific tags that fail standard YAML validation
- Re-enabled pymdownx.superfences with mermaid support
- Removed Python-specific format tag to pass YAML validation
- Added mermaid JavaScript library and initialization
- Configured mermaid with vim-style dark theme colors
- Changed feature card hover border from blue to purple
- Changed accent light color from cyan to purple (affects scrollbars)
- This creates more consistent purple accent theme throughout
- Fix navigation typo: "Enspoints" → "Endpoints"
- Clarify that 10000 limit is ESO Logs API imposed, not arbitrary
@knowlen

knowlen commented Jul 15, 2025

Copy link
Copy Markdown
Owner Author

@claude Thank you for the thorough and detailed review! I really appreciate the comprehensive analysis
across security, performance, and documentation aspects.

Immediate Fixes

I've addressed the actionable items in commit 70e33ef:

  1. Navigation Typo - Fixed "Enspoints" → "Endpoints" in mkdocs.yml:75
  2. Magic Numbers - Added comment clarifying that the 10000 limit in validators.py:202 is the ESO
    Logs API's maximum allowed value, not an arbitrary choice
  3. Font Performance - The external fonts already include font-display: swap (confirmed in
    docs/stylesheets/vim-dark-theme.css:31-32)

Design Decisions Worth Keeping

CSS !important Declarations: The 155 !important declarations are indeed necessary due to MkDocs
Material's extremely high CSS specificity. The theme uses deeply nested selectors and
JavaScript-generated classes that can only be reliably overridden with !important. I've documented
this architectural constraint extensively in the CSS file header (lines 6-28).

Future Considerations

The suggestions about request batching, response caching, and OS matrix testing are excellent
ideas for future enhancements. I've noted these for potential implementation in upcoming releases.

Already Implemented

I'm glad you noticed the security practices, comprehensive test coverage, and performance
optimizations like WebP image conversion (85% size reduction!) and search pipeline enhancements.
The vim-style theme with keyboard shortcuts has been a labor of love.

Thank you again for the approval recommendation! The immediate fixes have been implemented and
pushed.

@claude

claude Bot commented Jul 15, 2025

Copy link
Copy Markdown

Claude finished @knowlen's task —— View job


Verification of Fixes ✅

Thank you for the quick response and fixes! I've verified all the changes you mentioned.

Todo List:

  • Verify navigation typo fix in mkdocs.yml:75
  • Check clarifying comment for 10000 limit in validators.py:202
  • Confirm font-display: swap implementation
  • Acknowledge design decisions and future considerations

Confirmed Fixes ✅

1. Navigation Typo Fixed (mkdocs.yml:75)
✅ Confirmed: "System Endpoints" now correctly replaces "Enspoints"

2. Magic Number Clarified (validators.py:202)
✅ Confirmed: Added helpful comment # ESO Logs API maximum allowed limit explaining the 10000 limit

3. Font Performance Already Optimized (vim-dark-theme.css:31-32)
✅ Confirmed: Both font imports already include &display=swap for optimal loading performance

Design Decisions Acknowledged

Your explanation about the CSS !important declarations makes perfect sense. MkDocs Material's deeply nested selectors and JavaScript-generated classes indeed require !important overrides for reliable theming. The extensive documentation in your CSS header (lines 6-28) clearly explains this architectural constraint.

Excellent Work! 🎉

The immediate responsiveness to feedback and the thoughtful explanations demonstrate great attention to detail. The vim-style theme with keyboard shortcuts is indeed impressive, and the comprehensive security practices, test coverage, and performance optimizations (especially that 85% WebP conversion!) make this a standout PR.

The future enhancement suggestions (request batching, response caching, OS matrix testing) are worth keeping on the roadmap for upcoming releases.

Status: All actionable items from the review have been properly addressed. The PR remains in excellent shape for approval.


@knowlen
knowlen merged commit 097d814 into main Jul 15, 2025
10 checks passed
@knowlen
knowlen deleted the v2/update-main-before-refactor branch July 15, 2025 07:04
knowlen added a commit that referenced this pull request Jul 15, 2025
)

* Update documentation to reflect merged PRs and current project state

- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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



* Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches

- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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



* cleanup

* Update CLAUDE.md API coverage from ~35% to ~45%

* Add comprehensive integration test suite

- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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



* Fix integration test issues

- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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



* Address PR review feedback

Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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



* Complete PR review fixes

- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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



* Fix integration test timeout configuration

- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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



* Fix duplicate fixtures and nested reference bugs in integration tests

* Rename get_np_cs to get_npcs throughout codebase and complete fixture consolidation

* Update documentation to reflect completion of integration test suite

* remove this

* Add advanced report search functionality with filtering and pagination

* Update test.py to include report analysis and search functionality

* Fix sanity test enum references and add comprehensive sanity test suite

* delete test.py

* Add comprehensive README files for test suites

* Add GitHub Actions CI/CD pipeline and Dependabot configuration

* Trigger CI workflow

* Fix CI workflow issues: update artifact actions to v4 and add debugging

* Address critical code review issues: validation, security, and CI fixes

* Fix validation logic for UNSET types and timestamp bounds

* Fix pre-commit issues: remove print statements and fix type annotations

* Fix pre-commit config to exclude tests from mypy and fix print statement detection

* Fix page parameter validation in report search

Fixed incomplete page validation logic that wasn't rejecting non-integer values.

* Optimize GitHub Actions to reduce CI minutes usage

- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)

* Fix workflow triggers to unblock PR status checks

- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs

* Update documentation for Advanced Report Search completion

* Fix trailing whitespace in README.md

* Add comprehensive MkDocs Material documentation with Modular-inspired design

* Fix documentation design to match Modular's clean aesthetic

* Fix dark theme colors and contrast for better readability

* Fix button visibility and soften dark mode colors for better readability

* Soften dark mode text colors to reduce eye strain

* Improve dark mode contrast and streamline navigation layout

* Restore edit/view buttons to original location and remove emojis from changelog

* Enhance documentation with API reference and comprehensive testing

* Fix API return type documentation based on live validation

* Remove artificial common patterns from game data documentation

* Add comprehensive documentation plans for parallel API reference development

* Add comprehensive commit history cleanup instructions

* Add git worktree setup for parallel API documentation development

* Add character data API reference documentation

* Add report analysis API reference documentation

* Add guild data API reference documentation

* Add report search API reference documentation

* Add world data API reference documentation

* Fix character data documentation - add missing output blocks and make examples self-contained

* Fix guild data tests to prevent skipping with reliable guild ID

* Improve performance tracking example to show actual encounter_rankings data

* Update character data examples with realistic IDs and output data

* Enhance performance tracking example to show actual API response structure

* Update character examples to use encounter ID 63 with real ranking data

* Restructure guild data docs with dedicated error handling section and complete output blocks

* Fix Guild Member Activity Tracking to actually track members using report rankings

* Improve report analysis documentation with real data examples and self-contained code

* Fix get_report_events example with real fight data and improve encounter phase analysis

* Add explanatory notes for triple nesting structure in report analysis API

* refine

* Enhance report search documentation with explanations and real outputs

* Improve readability of nested object structures with block quotes

* Center nested object structure titles for better visual hierarchy

* Fix title centering to be relative to table width, not page width

* Simplify nested structure headers to use clear, readable format

* Update Guild Performance Tracking example to use Ossein Cage with real output

* Update world data docs with veteran hard mode analysis and output examples

* Remove obsolete worktree plan files

* Remove redundant TESTING.md in favor of comprehensive tests/README.md

* Remove worktree setup docs and exclude AI tool files from version control

* Stop tracking development planning files - keep local only

* Update README.md - remove emojis from headers, add CI/CD badge, update project status

* Update project documentation to reflect completed API reference work

* Update test documentation to reflect current test counts and expanded API coverage

* Complete development documentation section and fix issues

* fix badge

* readthedocs

* docs badge

* rearange

* rearange

* remove liscence badge

* Update documentation and streamline Development section

* Update quickstart documentation with output examples and standardize naming

* update coverage

* update formatting

* update formatting

* update formatting

* update homepage

* update homepage

* update formatting

* update formatting

* update formatting

* Complete vim-style dark theme implementation with professional branding (#9)

* Implement vim-style dark theme for documentation

- Created comprehensive vim-dark-theme.css with terminal colors
- Black/gray backgrounds with vim color palette
- JetBrains Mono monospace font everywhere
- Vim-style syntax highlighting colors (green, blue, yellow, etc.)
- Terminal window styling for feature cards
- Removed light mode toggle - dark only
- Enhanced status line styling for navigation
- Code blocks with vim terminal feel

* Fix vim theme: improve spacing and match exact code colors

- Fixed typography: Inter for UI text, JetBrains Mono only for code
- Updated code syntax highlighting to match your example exactly:
  - Keywords: #569cd6 (blue)
  - Strings: #ce9178 (orange/brown)
  - Numbers: #b5cea8 (light green)
  - Comments: #6a9955 (green)
  - Functions: #dcdcaa (yellow)
  - Variables: #9cdcfe (light blue)
  - Operators: #d4d4d4 (white)
- Removed monospace from navigation, buttons, and other UI elements
- Improved spacing and readability throughout

* Fix code syntax highlighting colors to match desired theme

- Updated color palette for exact match:
  - Function names & variables: #4ec9b0 (cyan/aqua)
  - Strings: #d63384 (magenta/purple)
  - Keywords: #569cd6 (blue)
  - Comments: #6a9955 (green)
  - Numbers: #b5cea8 (light green)
  - Operators/punctuation: #d4d4d4 (white)
- Reorganized syntax highlighting rules for better color mapping
- Now matches the desired VS Code dark theme exactly

* Attempt to fix syntax highlighting with correct VS Code colors

- Function names: #dcdcaa (yellow/gold)
- Variables: #9cdcfe (light blue)
- Strings: #ce9178 (orange/brown)
- Keywords: #569cd6 (blue)
- Comments: #6a9955 (green)
- Numbers: #b5cea8 (light green)

Still needs fine-tuning - should set up Puppeteer MCP for visual iteration

* Fix syntax highlighting with correct Pygments classes

Based on Puppeteer inspection, updated CSS to target:
- .kn (import/from keywords) -> blue
- .nn (module names) -> light blue
- .n (variables/names) -> light blue
- .nf (function names) -> yellow/gold
- .s1/.s2 (strings) -> orange/brown
- .mi/.mf (numbers) -> light green
- .c1 (comments) -> green
- .p/.o (punctuation/operators) -> white

Should now match the desired VS Code theme colors exactly

* Update API coverage to 83% and refine vim dark theme

- Update documentation to reflect accurate 83% API coverage (6/8 sections)
- Update changelog with detailed method counts and completion status
- Remove modular-theme.css in favor of vim-dark-theme.css
- Update mkdocs.yml to use only vim dark theme CSS

* Complete documentation formatting and logo integration

- Fix CSS text colors: italic/bold text now use vim-fg instead of aggressive white/purple
- Add monospace font to code output blocks for consistent terminal feel
- Integrate custom ESO Logs Python logos with dragon/ouroboros design
- Add banner logo to README.md and square icon to docs site
- Format all API reference tables with bold parameters and italic types
- Minor content updates to API reference descriptions
- Fix mkdocs.yml YAML syntax for Google Analytics

* Make README logo span full page width

* Replace logos with AI-processed transparent backgrounds

* Add logo to docs hero section and fix README banner

- Add 240px logo to documentation homepage hero section
- Add CSS styling with hover effects and vim-themed shadows
- Switch README to use square logo temporarily (banner text was removed during AI processing)
- Update favicon config to use PNG format for better compatibility

* Add CSS architecture docs, explicit font-display, and motion preferences

* Update API reference tables to use code formatting for parameter/field names

* Fix API reference table column widths to prevent code snippet wrapping

* Fix status badge wrapping and improve navigation tab hover styling

* Revert navigation tab sizing but keep vim visual mode colors

* Add MkDocs performance optimizations: lazy loading, DOM pruning, enhanced minification

* Fix minify plugin configuration - remove non-existent file references

* Update text selection colors to match navigation hover (light grey bg, black text)

* Remove non-functional cookie settings link and disable analytics

---------



* Update heading and link colors in vim theme

- H2: Neutral gray matching normal text
- H3: Sky blue (--vim-blue)
- H4: Purple (--vim-visual-bright)
- Links: Cyan with magenta hover effect
- Added --vim-visual-bright color for readable purple text

* Update navigation styling for consistency and readability

- Changed all navigation hover/active states to match top nav bar
- Background: Light grey (--vim-fg) instead of purple
- Text: Black (--vim-bg) for better contrast
- Fixed left navigation bar layout issues
- Right sidebar now has fit-to-text highlighting

* Revert navigation to yellow-on-purple color scheme

- Navigation hover/active states now use yellow text on purple background
- Provides more visual character and vim theme personality
- Consistent styling across left nav, right nav (TOC), and active states
- Maintains the distinctive vim aesthetic throughout

* Implement search and image optimization

Search Optimization:
- Enhanced search with stemming, stop words, and trimming
- Vim-style search UI with custom highlighting
- Keyboard shortcuts: / to search, Escape to close
- Search results styled to match vim theme

Image Optimization:
- Optimized logo.png: 194KB → 78.5KB (59.6% reduction)
- Created WebP version: 30.8KB (84.2% reduction)
- Updated docs to use picture elements with WebP support
- Added lazy loading and responsive image CSS
- Created optimization scripts and CI/CD workflow
- Favicon noted as large (194KB) for future optimization

* Change search bar styling from green to purple

- Search input border now uses purple (--vim-visual)
- Search icon also changed to purple
- Better consistency with navigation highlighting theme

* Implement single-row navigation layout

* Fix navigation duplication bug with more aggressive tab hiding

* Switch to pure CSS single-row navigation approach

* Revert to stable two-row navigation layout

* Change search bar focus color from cyan to magenta

* Change search bar focus color to yellow

* Change search bar focus color to blue

* Change search bar focus color to purple (--vim-visual)

* update

* Change code block backgrounds to pure black

* Change inline code snippets to use --vim-bg-light background

* Enhance theme with black background and improved contrast

- Changed main site background to pure black (#000000)
- Kept code blocks with --vim-bg (#1c1c1c) for subtle contrast
- Fixed table row alternating colors (now --vim-bg-light and --vim-bg)
- Removed Previous/Next navigation footer for cleaner look

* Fix type annotations in image optimization scripts

* Fix pre-commit formatting issues across all files

- Fixed trailing whitespace in all files
- Added missing newlines at end of files
- Applied black formatting to Python test files
- Fixed import sorting with isort
- Fixed ruff linting issues (unused variables, comparison style)
- Removed unused imports

* Fix YAML validation and EOF errors

- Added missing newline to .readthedocs.yml
- Disabled emoji and mermaid extensions in mkdocs.yml to fix YAML validation
- These extensions use Python-specific tags that fail standard YAML validation

* Restore mermaid diagram support with YAML-compliant configuration

- Re-enabled pymdownx.superfences with mermaid support
- Removed Python-specific format tag to pass YAML validation
- Added mermaid JavaScript library and initialization
- Configured mermaid with vim-style dark theme colors

* Change hover effects from cyan/blue to purple (--vim-visual)

- Changed feature card hover border from blue to purple
- Changed accent light color from cyan to purple (affects scrollbars)
- This creates more consistent purple accent theme throughout

* Fix typo and clarify API limit

- Fix navigation typo: "Enspoints" → "Endpoints"
- Clarify that 10000 limit is ESO Logs API imposed, not arbitrary

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
knowlen added a commit that referenced this pull request Jul 15, 2025
* Update documentation to reflect merged PRs and current project state

- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches

- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* cleanup

* Update CLAUDE.md API coverage from ~35% to ~45%

* Add comprehensive integration test suite

- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix integration test issues

- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Address PR review feedback

Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Complete PR review fixes

- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix integration test timeout configuration

- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix duplicate fixtures and nested reference bugs in integration tests

* Rename get_np_cs to get_npcs throughout codebase and complete fixture consolidation

* Update documentation to reflect completion of integration test suite

* remove this

* Add advanced report search functionality with filtering and pagination

* Update test.py to include report analysis and search functionality

* Fix sanity test enum references and add comprehensive sanity test suite

* delete test.py

* Add comprehensive README files for test suites

* Add GitHub Actions CI/CD pipeline and Dependabot configuration

* Trigger CI workflow

* Fix CI workflow issues: update artifact actions to v4 and add debugging

* Address critical code review issues: validation, security, and CI fixes

* Fix validation logic for UNSET types and timestamp bounds

* Fix pre-commit issues: remove print statements and fix type annotations

* Fix pre-commit config to exclude tests from mypy and fix print statement detection

* Fix page parameter validation in report search

Fixed incomplete page validation logic that wasn't rejecting non-integer values.

* Optimize GitHub Actions to reduce CI minutes usage

- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)

* Fix workflow triggers to unblock PR status checks

- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs

* Update documentation for Advanced Report Search completion

* Fix trailing whitespace in README.md

* Documentation Theme Updates: Vim-style Dark Mode Enhancements (#10) (#15)

* Update documentation to reflect merged PRs and current project state

- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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



* Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches

- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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



* cleanup

* Update CLAUDE.md API coverage from ~35% to ~45%

* Add comprehensive integration test suite

- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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



* Fix integration test issues

- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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



* Address PR review feedback

Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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



* Complete PR review fixes

- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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



* Fix integration test timeout configuration

- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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



* Fix duplicate fixtures and nested reference bugs in integration tests

* Rename get_np_cs to get_npcs throughout codebase and complete fixture consolidation

* Update documentation to reflect completion of integration test suite

* remove this

* Add advanced report search functionality with filtering and pagination

* Update test.py to include report analysis and search functionality

* Fix sanity test enum references and add comprehensive sanity test suite

* delete test.py

* Add comprehensive README files for test suites

* Add GitHub Actions CI/CD pipeline and Dependabot configuration

* Trigger CI workflow

* Fix CI workflow issues: update artifact actions to v4 and add debugging

* Address critical code review issues: validation, security, and CI fixes

* Fix validation logic for UNSET types and timestamp bounds

* Fix pre-commit issues: remove print statements and fix type annotations

* Fix pre-commit config to exclude tests from mypy and fix print statement detection

* Fix page parameter validation in report search

Fixed incomplete page validation logic that wasn't rejecting non-integer values.

* Optimize GitHub Actions to reduce CI minutes usage

- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)

* Fix workflow triggers to unblock PR status checks

- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs

* Update documentation for Advanced Report Search completion

* Fix trailing whitespace in README.md

* Add comprehensive MkDocs Material documentation with Modular-inspired design

* Fix documentation design to match Modular's clean aesthetic

* Fix dark theme colors and contrast for better readability

* Fix button visibility and soften dark mode colors for better readability

* Soften dark mode text colors to reduce eye strain

* Improve dark mode contrast and streamline navigation layout

* Restore edit/view buttons to original location and remove emojis from changelog

* Enhance documentation with API reference and comprehensive testing

* Fix API return type documentation based on live validation

* Remove artificial common patterns from game data documentation

* Add comprehensive documentation plans for parallel API reference development

* Add comprehensive commit history cleanup instructions

* Add git worktree setup for parallel API documentation development

* Add character data API reference documentation

* Add report analysis API reference documentation

* Add guild data API reference documentation

* Add report search API reference documentation

* Add world data API reference documentation

* Fix character data documentation - add missing output blocks and make examples self-contained

* Fix guild data tests to prevent skipping with reliable guild ID

* Improve performance tracking example to show actual encounter_rankings data

* Update character data examples with realistic IDs and output data

* Enhance performance tracking example to show actual API response structure

* Update character examples to use encounter ID 63 with real ranking data

* Restructure guild data docs with dedicated error handling section and complete output blocks

* Fix Guild Member Activity Tracking to actually track members using report rankings

* Improve report analysis documentation with real data examples and self-contained code

* Fix get_report_events example with real fight data and improve encounter phase analysis

* Add explanatory notes for triple nesting structure in report analysis API

* refine

* Enhance report search documentation with explanations and real outputs

* Improve readability of nested object structures with block quotes

* Center nested object structure titles for better visual hierarchy

* Fix title centering to be relative to table width, not page width

* Simplify nested structure headers to use clear, readable format

* Update Guild Performance Tracking example to use Ossein Cage with real output

* Update world data docs with veteran hard mode analysis and output examples

* Remove obsolete worktree plan files

* Remove redundant TESTING.md in favor of comprehensive tests/README.md

* Remove worktree setup docs and exclude AI tool files from version control

* Stop tracking development planning files - keep local only

* Update README.md - remove emojis from headers, add CI/CD badge, update project status

* Update project documentation to reflect completed API reference work

* Update test documentation to reflect current test counts and expanded API coverage

* Complete development documentation section and fix issues

* fix badge

* readthedocs

* docs badge

* rearange

* rearange

* remove liscence badge

* Update documentation and streamline Development section

* Update quickstart documentation with output examples and standardize naming

* update coverage

* update formatting

* update formatting

* update formatting

* update homepage

* update homepage

* update formatting

* update formatting

* update formatting

* Complete vim-style dark theme implementation with professional branding (#9)

* Implement vim-style dark theme for documentation

- Created comprehensive vim-dark-theme.css with terminal colors
- Black/gray backgrounds with vim color palette
- JetBrains Mono monospace font everywhere
- Vim-style syntax highlighting colors (green, blue, yellow, etc.)
- Terminal window styling for feature cards
- Removed light mode toggle - dark only
- Enhanced status line styling for navigation
- Code blocks with vim terminal feel

* Fix vim theme: improve spacing and match exact code colors

- Fixed typography: Inter for UI text, JetBrains Mono only for code
- Updated code syntax highlighting to match your example exactly:
  - Keywords: #569cd6 (blue)
  - Strings: #ce9178 (orange/brown)
  - Numbers: #b5cea8 (light green)
  - Comments: #6a9955 (green)
  - Functions: #dcdcaa (yellow)
  - Variables: #9cdcfe (light blue)
  - Operators: #d4d4d4 (white)
- Removed monospace from navigation, buttons, and other UI elements
- Improved spacing and readability throughout

* Fix code syntax highlighting colors to match desired theme

- Updated color palette for exact match:
  - Function names & variables: #4ec9b0 (cyan/aqua)
  - Strings: #d63384 (magenta/purple)
  - Keywords: #569cd6 (blue)
  - Comments: #6a9955 (green)
  - Numbers: #b5cea8 (light green)
  - Operators/punctuation: #d4d4d4 (white)
- Reorganized syntax highlighting rules for better color mapping
- Now matches the desired VS Code dark theme exactly

* Attempt to fix syntax highlighting with correct VS Code colors

- Function names: #dcdcaa (yellow/gold)
- Variables: #9cdcfe (light blue)
- Strings: #ce9178 (orange/brown)
- Keywords: #569cd6 (blue)
- Comments: #6a9955 (green)
- Numbers: #b5cea8 (light green)

Still needs fine-tuning - should set up Puppeteer MCP for visual iteration

* Fix syntax highlighting with correct Pygments classes

Based on Puppeteer inspection, updated CSS to target:
- .kn (import/from keywords) -> blue
- .nn (module names) -> light blue
- .n (variables/names) -> light blue
- .nf (function names) -> yellow/gold
- .s1/.s2 (strings) -> orange/brown
- .mi/.mf (numbers) -> light green
- .c1 (comments) -> green
- .p/.o (punctuation/operators) -> white

Should now match the desired VS Code theme colors exactly

* Update API coverage to 83% and refine vim dark theme

- Update documentation to reflect accurate 83% API coverage (6/8 sections)
- Update changelog with detailed method counts and completion status
- Remove modular-theme.css in favor of vim-dark-theme.css
- Update mkdocs.yml to use only vim dark theme CSS

* Complete documentation formatting and logo integration

- Fix CSS text colors: italic/bold text now use vim-fg instead of aggressive white/purple
- Add monospace font to code output blocks for consistent terminal feel
- Integrate custom ESO Logs Python logos with dragon/ouroboros design
- Add banner logo to README.md and square icon to docs site
- Format all API reference tables with bold parameters and italic types
- Minor content updates to API reference descriptions
- Fix mkdocs.yml YAML syntax for Google Analytics

* Make README logo span full page width

* Replace logos with AI-processed transparent backgrounds

* Add logo to docs hero section and fix README banner

- Add 240px logo to documentation homepage hero section
- Add CSS styling with hover effects and vim-themed shadows
- Switch README to use square logo temporarily (banner text was removed during AI processing)
- Update favicon config to use PNG format for better compatibility

* Add CSS architecture docs, explicit font-display, and motion preferences

* Update API reference tables to use code formatting for parameter/field names

* Fix API reference table column widths to prevent code snippet wrapping

* Fix status badge wrapping and improve navigation tab hover styling

* Revert navigation tab sizing but keep vim visual mode colors

* Add MkDocs performance optimizations: lazy loading, DOM pruning, enhanced minification

* Fix minify plugin configuration - remove non-existent file references

* Update text selection colors to match navigation hover (light grey bg, black text)

* Remove non-functional cookie settings link and disable analytics

---------



* Update heading and link colors in vim theme

- H2: Neutral gray matching normal text
- H3: Sky blue (--vim-blue)
- H4: Purple (--vim-visual-bright)
- Links: Cyan with magenta hover effect
- Added --vim-visual-bright color for readable purple text

* Update navigation styling for consistency and readability

- Changed all navigation hover/active states to match top nav bar
- Background: Light grey (--vim-fg) instead of purple
- Text: Black (--vim-bg) for better contrast
- Fixed left navigation bar layout issues
- Right sidebar now has fit-to-text highlighting

* Revert navigation to yellow-on-purple color scheme

- Navigation hover/active states now use yellow text on purple background
- Provides more visual character and vim theme personality
- Consistent styling across left nav, right nav (TOC), and active states
- Maintains the distinctive vim aesthetic throughout

* Implement search and image optimization

Search Optimization:
- Enhanced search with stemming, stop words, and trimming
- Vim-style search UI with custom highlighting
- Keyboard shortcuts: / to search, Escape to close
- Search results styled to match vim theme

Image Optimization:
- Optimized logo.png: 194KB → 78.5KB (59.6% reduction)
- Created WebP version: 30.8KB (84.2% reduction)
- Updated docs to use picture elements with WebP support
- Added lazy loading and responsive image CSS
- Created optimization scripts and CI/CD workflow
- Favicon noted as large (194KB) for future optimization

* Change search bar styling from green to purple

- Search input border now uses purple (--vim-visual)
- Search icon also changed to purple
- Better consistency with navigation highlighting theme

* Implement single-row navigation layout

* Fix navigation duplication bug with more aggressive tab hiding

* Switch to pure CSS single-row navigation approach

* Revert to stable two-row navigation layout

* Change search bar focus color from cyan to magenta

* Change search bar focus color to yellow

* Change search bar focus color to blue

* Change search bar focus color to purple (--vim-visual)

* update

* Change code block backgrounds to pure black

* Change inline code snippets to use --vim-bg-light background

* Enhance theme with black background and improved contrast

- Changed main site background to pure black (#000000)
- Kept code blocks with --vim-bg (#1c1c1c) for subtle contrast
- Fixed table row alternating colors (now --vim-bg-light and --vim-bg)
- Removed Previous/Next navigation footer for cleaner look

* Fix type annotations in image optimization scripts

* Fix pre-commit formatting issues across all files

- Fixed trailing whitespace in all files
- Added missing newlines at end of files
- Applied black formatting to Python test files
- Fixed import sorting with isort
- Fixed ruff linting issues (unused variables, comparison style)
- Removed unused imports

* Fix YAML validation and EOF errors

- Added missing newline to .readthedocs.yml
- Disabled emoji and mermaid extensions in mkdocs.yml to fix YAML validation
- These extensions use Python-specific tags that fail standard YAML validation

* Restore mermaid diagram support with YAML-compliant configuration

- Re-enabled pymdownx.superfences with mermaid support
- Removed Python-specific format tag to pass YAML validation
- Added mermaid JavaScript library and initialization
- Configured mermaid with vim-style dark theme colors

* Change hover effects from cyan/blue to purple (--vim-visual)

- Changed feature card hover border from blue to purple
- Changed accent light color from cyan to purple (affects scrollbars)
- This creates more consistent purple accent theme throughout

* Fix typo and clarify API limit

- Fix navigation typo: "Enspoints" → "Endpoints"
- Clarify that 10000 limit is ESO Logs API imposed, not arbitrary

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>

* Fix dependabot actor name in CI workflow conditions

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
knowlen added a commit that referenced this pull request Jul 15, 2025
* Documentation Theme Updates: Vim-style Dark Mode Enhancements (#10)

* Update documentation to reflect merged PRs and current project state

- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches

- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* cleanup

* Update CLAUDE.md API coverage from ~35% to ~45%

* Add comprehensive integration test suite

- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix integration test issues

- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Address PR review feedback

Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Complete PR review fixes

- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix integration test timeout configuration

- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix duplicate fixtures and nested reference bugs in integration tests

* Rename get_np_cs to get_npcs throughout codebase and complete fixture consolidation

* Update documentation to reflect completion of integration test suite

* remove this

* Add advanced report search functionality with filtering and pagination

* Update test.py to include report analysis and search functionality

* Fix sanity test enum references and add comprehensive sanity test suite

* delete test.py

* Add comprehensive README files for test suites

* Add GitHub Actions CI/CD pipeline and Dependabot configuration

* Trigger CI workflow

* Fix CI workflow issues: update artifact actions to v4 and add debugging

* Address critical code review issues: validation, security, and CI fixes

* Fix validation logic for UNSET types and timestamp bounds

* Fix pre-commit issues: remove print statements and fix type annotations

* Fix pre-commit config to exclude tests from mypy and fix print statement detection

* Fix page parameter validation in report search

Fixed incomplete page validation logic that wasn't rejecting non-integer values.

* Optimize GitHub Actions to reduce CI minutes usage

- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)

* Fix workflow triggers to unblock PR status checks

- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs

* Update documentation for Advanced Report Search completion

* Fix trailing whitespace in README.md

* Add comprehensive MkDocs Material documentation with Modular-inspired design

* Fix documentation design to match Modular's clean aesthetic

* Fix dark theme colors and contrast for better readability

* Fix button visibility and soften dark mode colors for better readability

* Soften dark mode text colors to reduce eye strain

* Improve dark mode contrast and streamline navigation layout

* Restore edit/view buttons to original location and remove emojis from changelog

* Enhance documentation with API reference and comprehensive testing

* Fix API return type documentation based on live validation

* Remove artificial common patterns from game data documentation

* Add comprehensive documentation plans for parallel API reference development

* Add comprehensive commit history cleanup instructions

* Add git worktree setup for parallel API documentation development

* Add character data API reference documentation

* Add report analysis API reference documentation

* Add guild data API reference documentation

* Add report search API reference documentation

* Add world data API reference documentation

* Fix character data documentation - add missing output blocks and make examples self-contained

* Fix guild data tests to prevent skipping with reliable guild ID

* Improve performance tracking example to show actual encounter_rankings data

* Update character data examples with realistic IDs and output data

* Enhance performance tracking example to show actual API response structure

* Update character examples to use encounter ID 63 with real ranking data

* Restructure guild data docs with dedicated error handling section and complete output blocks

* Fix Guild Member Activity Tracking to actually track members using report rankings

* Improve report analysis documentation with real data examples and self-contained code

* Fix get_report_events example with real fight data and improve encounter phase analysis

* Add explanatory notes for triple nesting structure in report analysis API

* refine

* Enhance report search documentation with explanations and real outputs

* Improve readability of nested object structures with block quotes

* Center nested object structure titles for better visual hierarchy

* Fix title centering to be relative to table width, not page width

* Simplify nested structure headers to use clear, readable format

* Update Guild Performance Tracking example to use Ossein Cage with real output

* Update world data docs with veteran hard mode analysis and output examples

* Remove obsolete worktree plan files

* Remove redundant TESTING.md in favor of comprehensive tests/README.md

* Remove worktree setup docs and exclude AI tool files from version control

* Stop tracking development planning files - keep local only

* Update README.md - remove emojis from headers, add CI/CD badge, update project status

* Update project documentation to reflect completed API reference work

* Update test documentation to reflect current test counts and expanded API coverage

* Complete development documentation section and fix issues

* fix badge

* readthedocs

* docs badge

* rearange

* rearange

* remove liscence badge

* Update documentation and streamline Development section

* Update quickstart documentation with output examples and standardize naming

* update coverage

* update formatting

* update formatting

* update formatting

* update homepage

* update homepage

* update formatting

* update formatting

* update formatting

* Complete vim-style dark theme implementation with professional branding (#9)

* Implement vim-style dark theme for documentation

- Created comprehensive vim-dark-theme.css with terminal colors
- Black/gray backgrounds with vim color palette
- JetBrains Mono monospace font everywhere
- Vim-style syntax highlighting colors (green, blue, yellow, etc.)
- Terminal window styling for feature cards
- Removed light mode toggle - dark only
- Enhanced status line styling for navigation
- Code blocks with vim terminal feel

* Fix vim theme: improve spacing and match exact code colors

- Fixed typography: Inter for UI text, JetBrains Mono only for code
- Updated code syntax highlighting to match your example exactly:
  - Keywords: #569cd6 (blue)
  - Strings: #ce9178 (orange/brown)
  - Numbers: #b5cea8 (light green)
  - Comments: #6a9955 (green)
  - Functions: #dcdcaa (yellow)
  - Variables: #9cdcfe (light blue)
  - Operators: #d4d4d4 (white)
- Removed monospace from navigation, buttons, and other UI elements
- Improved spacing and readability throughout

* Fix code syntax highlighting colors to match desired theme

- Updated color palette for exact match:
  - Function names & variables: #4ec9b0 (cyan/aqua)
  - Strings: #d63384 (magenta/purple)
  - Keywords: #569cd6 (blue)
  - Comments: #6a9955 (green)
  - Numbers: #b5cea8 (light green)
  - Operators/punctuation: #d4d4d4 (white)
- Reorganized syntax highlighting rules for better color mapping
- Now matches the desired VS Code dark theme exactly

* Attempt to fix syntax highlighting with correct VS Code colors

- Function names: #dcdcaa (yellow/gold)
- Variables: #9cdcfe (light blue)
- Strings: #ce9178 (orange/brown)
- Keywords: #569cd6 (blue)
- Comments: #6a9955 (green)
- Numbers: #b5cea8 (light green)

Still needs fine-tuning - should set up Puppeteer MCP for visual iteration

* Fix syntax highlighting with correct Pygments classes

Based on Puppeteer inspection, updated CSS to target:
- .kn (import/from keywords) -> blue
- .nn (module names) -> light blue
- .n (variables/names) -> light blue
- .nf (function names) -> yellow/gold
- .s1/.s2 (strings) -> orange/brown
- .mi/.mf (numbers) -> light green
- .c1 (comments) -> green
- .p/.o (punctuation/operators) -> white

Should now match the desired VS Code theme colors exactly

* Update API coverage to 83% and refine vim dark theme

- Update documentation to reflect accurate 83% API coverage (6/8 sections)
- Update changelog with detailed method counts and completion status
- Remove modular-theme.css in favor of vim-dark-theme.css
- Update mkdocs.yml to use only vim dark theme CSS

* Complete documentation formatting and logo integration

- Fix CSS text colors: italic/bold text now use vim-fg instead of aggressive white/purple
- Add monospace font to code output blocks for consistent terminal feel
- Integrate custom ESO Logs Python logos with dragon/ouroboros design
- Add banner logo to README.md and square icon to docs site
- Format all API reference tables with bold parameters and italic types
- Minor content updates to API reference descriptions
- Fix mkdocs.yml YAML syntax for Google Analytics

* Make README logo span full page width

* Replace logos with AI-processed transparent backgrounds

* Add logo to docs hero section and fix README banner

- Add 240px logo to documentation homepage hero section
- Add CSS styling with hover effects and vim-themed shadows
- Switch README to use square logo temporarily (banner text was removed during AI processing)
- Update favicon config to use PNG format for better compatibility

* Add CSS architecture docs, explicit font-display, and motion preferences

* Update API reference tables to use code formatting for parameter/field names

* Fix API reference table column widths to prevent code snippet wrapping

* Fix status badge wrapping and improve navigation tab hover styling

* Revert navigation tab sizing but keep vim visual mode colors

* Add MkDocs performance optimizations: lazy loading, DOM pruning, enhanced minification

* Fix minify plugin configuration - remove non-existent file references

* Update text selection colors to match navigation hover (light grey bg, black text)

* Remove non-functional cookie settings link and disable analytics

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>

* Update heading and link colors in vim theme

- H2: Neutral gray matching normal text
- H3: Sky blue (--vim-blue)
- H4: Purple (--vim-visual-bright)
- Links: Cyan with magenta hover effect
- Added --vim-visual-bright color for readable purple text

* Update navigation styling for consistency and readability

- Changed all navigation hover/active states to match top nav bar
- Background: Light grey (--vim-fg) instead of purple
- Text: Black (--vim-bg) for better contrast
- Fixed left navigation bar layout issues
- Right sidebar now has fit-to-text highlighting

* Revert navigation to yellow-on-purple color scheme

- Navigation hover/active states now use yellow text on purple background
- Provides more visual character and vim theme personality
- Consistent styling across left nav, right nav (TOC), and active states
- Maintains the distinctive vim aesthetic throughout

* Implement search and image optimization

Search Optimization:
- Enhanced search with stemming, stop words, and trimming
- Vim-style search UI with custom highlighting
- Keyboard shortcuts: / to search, Escape to close
- Search results styled to match vim theme

Image Optimization:
- Optimized logo.png: 194KB → 78.5KB (59.6% reduction)
- Created WebP version: 30.8KB (84.2% reduction)
- Updated docs to use picture elements with WebP support
- Added lazy loading and responsive image CSS
- Created optimization scripts and CI/CD workflow
- Favicon noted as large (194KB) for future optimization

* Change search bar styling from green to purple

- Search input border now uses purple (--vim-visual)
- Search icon also changed to purple
- Better consistency with navigation highlighting theme

* Implement single-row navigation layout

* Fix navigation duplication bug with more aggressive tab hiding

* Switch to pure CSS single-row navigation approach

* Revert to stable two-row navigation layout

* Change search bar focus color from cyan to magenta

* Change search bar focus color to yellow

* Change search bar focus color to blue

* Change search bar focus color to purple (--vim-visual)

* update

* Change code block backgrounds to pure black

* Change inline code snippets to use --vim-bg-light background

* Enhance theme with black background and improved contrast

- Changed main site background to pure black (#000000)
- Kept code blocks with --vim-bg (#1c1c1c) for subtle contrast
- Fixed table row alternating colors (now --vim-bg-light and --vim-bg)
- Removed Previous/Next navigation footer for cleaner look

* Fix type annotations in image optimization scripts

* Fix pre-commit formatting issues across all files

- Fixed trailing whitespace in all files
- Added missing newlines at end of files
- Applied black formatting to Python test files
- Fixed import sorting with isort
- Fixed ruff linting issues (unused variables, comparison style)
- Removed unused imports

* Fix YAML validation and EOF errors

- Added missing newline to .readthedocs.yml
- Disabled emoji and mermaid extensions in mkdocs.yml to fix YAML validation
- These extensions use Python-specific tags that fail standard YAML validation

* Restore mermaid diagram support with YAML-compliant configuration

- Re-enabled pymdownx.superfences with mermaid support
- Removed Python-specific format tag to pass YAML validation
- Added mermaid JavaScript library and initialization
- Configured mermaid with vim-style dark theme colors

* Change hover effects from cyan/blue to purple (--vim-visual)

- Changed feature card hover border from blue to purple
- Changed accent light color from cyan to purple (affects scrollbars)
- This creates more consistent purple accent theme throughout

* Fix typo and clarify API limit

- Fix navigation typo: "Enspoints" → "Endpoints"
- Clarify that 10000 limit is ESO Logs API imposed, not arbitrary

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>

* Fix dependabot actor name in CI workflow conditions (#16)

* Update documentation to reflect merged PRs and current project state

- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches

- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* cleanup

* Update CLAUDE.md API coverage from ~35% to ~45%

* Add comprehensive integration test suite

- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix integration test issues

- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Address PR review feedback

Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Complete PR review fixes

- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix integration test timeout configuration

- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix duplicate fixtures and nested reference bugs in integration tests

* Rename get_np_cs to get_npcs throughout codebase and complete fixture consolidation

* Update documentation to reflect completion of integration test suite

* remove this

* Add advanced report search functionality with filtering and pagination

* Update test.py to include report analysis and search functionality

* Fix sanity test enum references and add comprehensive sanity test suite

* delete test.py

* Add comprehensive README files for test suites

* Add GitHub Actions CI/CD pipeline and Dependabot configuration

* Trigger CI workflow

* Fix CI workflow issues: update artifact actions to v4 and add debugging

* Address critical code review issues: validation, security, and CI fixes

* Fix validation logic for UNSET types and timestamp bounds

* Fix pre-commit issues: remove print statements and fix type annotations

* Fix pre-commit config to exclude tests from mypy and fix print statement detection

* Fix page parameter validation in report search

Fixed incomplete page validation logic that wasn't rejecting non-integer values.

* Optimize GitHub Actions to reduce CI minutes usage

- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)

* Fix workflow triggers to unblock PR status checks

- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs

* Update documentation for Advanced Report Search completion

* Fix trailing whitespace in README.md

* Documentation Theme Updates: Vim-style Dark Mode Enhancements (#10) (#15)

* Update documentation to reflect merged PRs and current project state

- Add missing checkmark emojis to README.md "What's Working" section
- Add 5 new report analysis methods to "Available API Methods" section
- Update development roadmap to show PR #4 and #5 as merged
- Update PHASE2_DEVELOPMENT_PLAN.md with completed work and ~45% API coverage
- Reorganize BRANCH_STRUCTURE.md with comparison table at top
- Remove merged branches from active development section
- Add validators.py to project structure documentation

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



* Simplify BRANCH_STRUCTURE.md: Remove redundant sections and branches

- Remove Future Plan section (redundant)
- Only include branches from Branch Comparison table in Active/Archive sections
- Remove merged feature branches from detailed sections
- Keep only v2-dev (active), main (stable), and v1-api (archived)

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



* cleanup

* Update CLAUDE.md API coverage from ~35% to ~45%

* Add comprehensive integration test suite

- test_character_rankings.py: 10 tests for character rankings API
- test_report_analysis.py: 15 tests for report analysis API
- test_core_api.py: 25 tests for core API methods
- test_error_handling.py: 20 tests for error handling and edge cases
- conftest.py: Shared fixtures and configuration
- README.md: Comprehensive documentation

Total: 70+ integration tests covering ~45% API coverage
Tests validate all merged PRs (Character Rankings + Report Analysis)

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



* Fix integration test issues

- Fix map/maps API response structure checks (game_data vs world_data)
- Update error handling tests to expect GraphQL errors for invalid inputs
- Fix report rankings parameter name (metric -> player_metric)
- Add required time parameters for report analysis methods
- Update tests to handle API validation errors appropriately

Integration tests now pass 63/70 (90% success rate)

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



* Address PR review feedback

Critical Issues Fixed:
- Fix typo: get_np_cs -> get_npcs in test_core_api.py
- Make error message checks more robust (avoid exact string matches)

Minor Issues Fixed:
- Add timeout decorators for long-running tests (30-60s)
- Fix rate limit assumptions - make tests more resilient
- Add delays between requests to respect API limits
- Handle optional rate limit endpoint gracefully

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



* Complete PR review fixes

- Fix remaining error handling patterns in test_error_handling.py
- Add missing timeout decorator for concurrent requests test
- Add asyncio.wait_for() for better timeout handling

All review feedback now addressed:
✅ Fixed typo: get_np_cs -> get_npcs
✅ Robust error message checks
✅ Timeout decorators for long tests
✅ Respectful rate limiting

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



* Fix integration test timeout configuration

- Add pytest-timeout>=2.0.0 to dev dependencies
- Add timeout marker to pytest configuration
- Fix method name: get_npcs -> get_np_cs in test_core_api.py
- All pytest timeout decorators now work properly

Integration test results:
✅ Unit Tests: 52/52 passed (100%)
✅ Integration Tests: 69/70 passed (98.5%)
- Only 1 network timeout failure (not code issue)
- Timeout configuration working properly
- All features validated with real API

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



* Fix duplicate fixtures and nested reference bugs in integration tests

* Rename get_np_cs to get_npcs throughout codebase and complete fixture consolidation

* Update documentation to reflect completion of integration test suite

* remove this

* Add advanced report search functionality with filtering and pagination

* Update test.py to include report analysis and search functionality

* Fix sanity test enum references and add comprehensive sanity test suite

* delete test.py

* Add comprehensive README files for test suites

* Add GitHub Actions CI/CD pipeline and Dependabot configuration

* Trigger CI workflow

* Fix CI workflow issues: update artifact actions to v4 and add debugging

* Address critical code review issues: validation, security, and CI fixes

* Fix validation logic for UNSET types and timestamp bounds

* Fix pre-commit issues: remove print statements and fix type annotations

* Fix pre-commit config to exclude tests from mypy and fix print statement detection

* Fix page parameter validation in report search

Fixed incomplete page validation logic that wasn't rejecting non-integer values.

* Optimize GitHub Actions to reduce CI minutes usage

- CI/CD: Run only on PR creation, manual trigger, and main/v2-dev pushes
- Claude Code Review: Run only on PR creation and manual trigger
- Add workflow_dispatch for manual control when ready to unblock PRs
- Reduces redundant runs on every commit (~75% usage reduction)

* Fix workflow triggers to unblock PR status checks

- Restore synchronize trigger for GitHub status check compatibility
- Add conditional logic to Claude review to skip unless [review] in commit message
- Maintains workflow status reporting while reducing unnecessary runs

* Update documentation for Advanced Report Search completion

* Fix trailing whitespace in README.md

* Add comprehensive MkDocs Material documentation with Modular-inspired design

* Fix documentation design to match Modular's clean aesthetic

* Fix dark theme colors and contrast for better readability

* Fix button visibility and soften dark mode colors for better readability

* Soften dark mode text colors to reduce eye strain

* Improve dark mode contrast and streamline navigation layout

* Restore edit/view buttons to original location and remove emojis from changelog

* Enhance documentation with API reference and comprehensive testing

* Fix API return type documentation based on live validation

* Remove artificial common patterns from game data documentation

* Add comprehensive documentation plans for parallel API reference development

* Add comprehensive commit history cleanup instructions

* Add git worktree setup for parallel API documentation development

* Add character data API reference documentation

* Add report analysis API reference documentation

* Add guild data API reference documentation

* Add report search API reference documentation

* Add world data API reference documentation

* Fix character data documentation - add missing output blocks and make examples self-contained

* Fix guild data tests to prevent skipping with reliable guild ID

* Improve performance tracking example to show actual encounter_rankings data

* Update character data examples with realistic IDs and output data

* Enhance performance tracking example to show actual API response structure

* Update character examples to use encounter ID 63 with real ranking data

* Restructure guild data docs with dedicated error handling section and complete output blocks

* Fix Guild Member Activity Tracking to actually track members using report rankings

* Improve report analysis documentation with real data examples and self-contained code

* Fix get_report_events example with real fight data and improve encounter phase analysis

* Add explanatory notes for triple nesting structure in report analysis API

* refine

* Enhance report search documentation with explanations and real outputs

* Improve readability of nested object structures with block quotes

* Center nested object structure titles for better visual hierarchy

* Fix title centering to be relative to table width, not page width

* Simplify nested structure headers to use clear, readable format

* Update Guild Performance Tracking example to use Ossein Cage with real output

* Update world data docs with veteran hard mode analysis and output examples

* Remove obsolete worktree plan files

* Remove redundant TESTING.md in favor of comprehensive tests/README.md

* Remove worktree setup docs and exclude AI tool files from version control

* Stop tracking development planning files - keep local only

* Update README.md - remove emojis from headers, add CI/CD badge, update project status

* Update project documentation to reflect completed API reference work

* Update test documentation to reflect current test counts and expanded API coverage

* Complete development documentation section and fix issues

* fix badge

* readthedocs

* docs badge

* rearange

* rearange

* remove liscence badge

* Update documentation and streamline Development section

* Update quickstart documentation with output examples and standardize naming

* update coverage

* update formatting

* update formatting

* update formatting

* update homepage

* update homepage

* update formatting

* update formatting

* update formatting

* Complete vim-style dark theme implementation with professional branding (#9)

* Implement vim-style dark theme for documentation

- Created comprehensive vim-dark-theme.css with terminal colors
- Black/gray backgrounds with vim color palette
- JetBrains Mono monospace font everywhere
- Vim-style syntax highlighting colors (green, blue, yellow, etc.)
- Terminal window styling for feature cards
- Removed light mode toggle - dark only
- Enhanced status line styling for navigation
- Code blocks with vim terminal feel

* Fix vim theme: improve spacing and match exact code colors

- Fixed typography: Inter for UI text, JetBrains Mono only for code
- Updated code syntax highlighting to match your example exactly:
  - Keywords: #569cd6 (blue)
  - Strings: #ce9178 (orange/brown)
  - Numbers: #b5cea8 (light green)
  - Comments: #6a9955 (green)
  - Functions: #dcdcaa (yellow)
  - Variables: #9cdcfe (light blue)
  - Operators: #d4d4d4 (white)
- Removed monospace from navigation, buttons, and other UI elements
- Improved spacing and readability throughout

* Fix code syntax highlighting colors to match desired theme

- Updated color palette for exact match:
  - Function names & variables: #4ec9b0 (cyan/aqua)
  - Strings: #d63384 (magenta/purple)
  - Keywords: #569cd6 (blue)
  - Comments: #6a9955 (green)
  - Numbers: #b5cea8 (light green)
  - Operators/punctuation: #d4d4d4 (white)
- Reorganized syntax highlighting rules for better color mapping
- Now matches the desired VS Code dark theme exactly

* Attempt to fix syntax highlighting with correct VS Code colors

- Function names: #dcdcaa (yellow/gold)
- Variables: #9cdcfe (light blue)
- Strings: #ce9178 (orange/brown)
- Keywords: #569cd6 (blue)
- Comments: #6a9955 (green)
- Numbers: #b5cea8 (light green)

Still needs fine-tuning - should set up Puppeteer MCP for visual iteration

* Fix syntax highlighting with correct Pygments classes

Based on Puppeteer inspection, updated CSS to target:
- .kn (import/from keywords) -> blue
- .nn (module names) -> light blue
- .n (variables/names) -> light blue
- .nf (function names) -> yellow/gold
- .s1/.s2 (strings) -> orange/brown
- .mi/.mf (numbers) -> light green
- .c1 (comments) -> green
- .p/.o (punctuation/operators) -> white

Should now match the desired VS Code theme colors exactly

* Update API coverage to 83% and refine vim dark theme

- Update documentation to reflect accurate 83% API coverage (6/8 sections)
- Update changelog with detailed method counts and completion status
- Remove modular-theme.css in favor of vim-dark-theme.css
- Update mkdocs.yml to use only vim dark theme CSS

* Complete documentation formatting and logo integration

- Fix CSS text colors: italic/bold text now use vim-fg instead of aggressive white/purple
- Add monospace font to code output blocks for consistent terminal feel
- Integrate custom ESO Logs Python logos with dragon/ouroboros design
- Add banner logo to README.md and square icon to docs site
- Format all API reference tables with bold parameters and italic types
- Minor content updates to API reference descriptions
- Fix mkdocs.yml YAML syntax for Google Analytics

* Make README logo span full page width

* Replace logos with AI-processed transparent backgrounds

* Add logo to docs hero section and fix README banner

- Add 240px logo to documentation homepage hero section
- Add CSS styling with hover effects and vim-themed shadows
- Switch README to use square logo temporarily (banner text was removed during AI processing)
- Update favicon config to use PNG format for better compatibility

* Add CSS architecture docs, explicit font-display, and motion preferences

* Update API reference tables to use code formatting for parameter/field names

* Fix API reference table column widths to prevent code snippet wrapping

* Fix status badge wrapping and improve navigation tab hover styling

* Revert navigation tab sizing but keep vim visual mode colors

* Add MkDocs performance optimizations: lazy loading, DOM pruning, enhanced minification

* Fix minify plugin configuration - remove non-existent file references

* Update text selection colors to match navigation hover (light grey bg, black text)

* Remove non-functional cookie settings link and disable analytics

---------



* Update heading and link colors in vim theme

- H2: Neutral gray matching normal text
- H3: Sky blue (--vim-blue)
- H4: Purple (--vim-visual-bright)
- Links: Cyan with magenta hover effect
- Added --vim-visual-bright color for readable purple text

* Update navigation styling for consistency and readability

- Changed all navigation hover/active states to match top nav bar
- Background: Light grey (--vim-fg) instead of purple
- Text: Black (--vim-bg) for better contrast
- Fixed left navigation bar layout issues
- Right sidebar now has fit-to-text highlighting

* Revert navigation to yellow-on-purple color scheme

- Navigation hover/active states now use yellow text on purple background
- Provides more visual character and vim theme personality
- Consistent styling across left nav, right nav (TOC), and active states
- Maintains the distinctive vim aesthetic throughout

* Implement search and image optimization

Search Optimization:
- Enhanced search with stemming, stop words, and trimming
- Vim-style search UI with custom highlighting
- Keyboard shortcuts: / to search, Escape to close
- Search results styled to match vim theme

Image Optimization:
- Optimized logo.png: 194KB → 78.5KB (59.6% reduction)
- Created WebP version: 30.8KB (84.2% reduction)
- Updated docs to use picture elements with WebP support
- Added lazy loading and responsive image CSS
- Created optimization scripts and CI/CD workflow
- Favicon noted as large (194KB) for future optimization

* Change search bar styling from green to purple

- Search input border now uses purple (--vim-visual)
- Search icon also changed to purple
- Better consistency with navigation highlighting theme

* Implement single-row navigation layout

* Fix navigation duplication bug with more aggressive tab hiding

* Switch to pure CSS single-row navigation approach

* Revert to stable two-row navigation layout

* Change search bar focus color from cyan to magenta

* Change search bar focus color to yellow

* Change search bar focus color to blue

* Change search bar focus color to purple (--vim-visual)

* update

* Change code block backgrounds to pure black

* Change inline code snippets to use --vim-bg-light background

* Enhance theme with black background and improved contrast

- Changed main site background to pure black (#000000)
- Kept code blocks with --vim-bg (#1c1c1c) for subtle contrast
- Fixed table row alternating colors (now --vim-bg-light and --vim-bg)
- Removed Previous/Next navigation footer for cleaner look

* Fix type annotations in image optimization scripts

* Fix pre-commit formatting issues across all files

- Fixed trailing whitespace in all files
- Added missing newlines at end of files
- Applied black formatting to Python test files
- Fixed import sorting with isort
- Fixed ruff linting issues (unused variables, comparison style)
- Removed unused imports

* Fix YAML validation and EOF errors

- Added missing newline to .readthedocs.yml
- Disabled emoji and mermaid extensions in mkdocs.yml to fix YAML validation
- These extensions use Python-specific tags that fail standard YAML validation

* Restore mermaid diagram support with YAML-compliant configuration

- Re-enabled pymdownx.superfences with mermaid support
- Removed Python-specific format tag to pass YAML validation
- Added mermaid JavaScript library and initialization
- Configured mermaid with vim-style dark theme colors

* Change hover effects from cyan/blue to purple (--vim-visual)

- Changed feature card hover border from blue to purple
- Changed accent light color from cyan to purple (affects scrollbars)
- This creates more consistent purple accent theme throughout

* Fix typo and clarify API limit

- Fix navigation typo: "Enspoints" → "Endpoints"
- Clarify that 10000 limit is ESO Logs API imposed, not arbitrary

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>

* Fix dependabot actor name in CI workflow conditions

---------

Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>

* ci(deps): bump actions/setup-python from 4 to 5 (#14)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump actions/cache from 3 to 4 (#13)

Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump actions/checkout from 3 to 4 (#12)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump codecov/codecov-action from 3 to 5 (#11)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v3...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: knowlen <knowlen@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant