From 542007632f7e6c0179043077df5486c2f94470c2 Mon Sep 17 00:00:00 2001 From: knowlen Date: Sun, 13 Jul 2025 16:02:43 -0700 Subject: [PATCH 01/19] 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 --- docs/stylesheets/vim-dark-theme.css | 590 ++++++++++++++++++++++++++++ mkdocs.yml | 21 +- 2 files changed, 595 insertions(+), 16 deletions(-) create mode 100644 docs/stylesheets/vim-dark-theme.css diff --git a/docs/stylesheets/vim-dark-theme.css b/docs/stylesheets/vim-dark-theme.css new file mode 100644 index 0000000..0441b46 --- /dev/null +++ b/docs/stylesheets/vim-dark-theme.css @@ -0,0 +1,590 @@ +/* Vim-style dark theme for ESO Logs Python documentation */ + +/* Import JetBrains Mono for that terminal feel */ +@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap'); + +/* Vim Color Palette */ +:root { + /* Core vim colors */ + --vim-bg: #1c1c1c; /* Dark gray background like vim */ + --vim-bg-light: #262626; /* Slightly lighter bg */ + --vim-bg-lighter: #303030; /* Even lighter bg for cards */ + --vim-fg: #d0d0d0; /* Light gray text */ + --vim-fg-dim: #808080; /* Dimmed text */ + --vim-fg-bright: #ffffff; /* Bright white */ + + /* Vim syntax colors */ + --vim-red: #ff5f5f; /* Error red */ + --vim-green: #87ff87; /* String green */ + --vim-yellow: #ffff87; /* Warning yellow */ + --vim-blue: #87ceeb; /* Keyword blue */ + --vim-magenta: #ff87ff; /* Special magenta */ + --vim-cyan: #87ffff; /* Type cyan */ + --vim-orange: #ff8700; /* Number orange */ + + /* Status line colors */ + --vim-statusline: #444444; /* Status line background */ + --vim-visual: #5f5f87; /* Visual selection */ + --vim-search: #ffff00; /* Search highlight */ + --vim-comment: #585858; /* Comment gray */ +} + +/* Override Material Design colors with vim theme */ +[data-md-color-scheme="slate"] { + /* Background colors */ + --md-default-bg-color: var(--vim-bg); + --md-default-bg-color--light: var(--vim-bg-light); + --md-default-bg-color--lighter: var(--vim-bg-lighter); + + /* Text colors */ + --md-default-fg-color: var(--vim-fg); + --md-default-fg-color--light: var(--vim-fg-dim); + --md-default-fg-color--lighter: var(--vim-comment); + + /* Primary colors (navigation, buttons) */ + --md-primary-fg-color: var(--vim-statusline); + --md-primary-fg-color--light: var(--vim-bg-lighter); + --md-primary-fg-color--dark: var(--vim-bg); + + /* Accent colors (links, highlights) */ + --md-accent-fg-color: var(--vim-blue); + --md-accent-fg-color--light: var(--vim-cyan); + --md-accent-fg-color--dark: var(--vim-magenta); + + /* Code colors */ + --md-code-bg-color: var(--vim-bg-light); + --md-code-fg-color: var(--vim-green); + + /* Table and border colors */ + --md-typeset-table-color: var(--vim-comment); + --md-typeset-mark-color: var(--vim-yellow); + + /* Footer colors */ + --md-footer-bg-color: var(--vim-bg); + --md-footer-fg-color: var(--vim-fg-dim); +} + +/* Force vim theme for all elements */ +.md-container { + background-color: var(--vim-bg) !important; +} + +/* Typography - monospace everything for that terminal feel */ +.md-typeset { + font-family: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Consolas', monospace !important; + font-weight: 400; + line-height: 1.5; + color: var(--vim-fg); + background-color: var(--vim-bg); +} + +/* Headings with vim-style colors */ +.md-typeset h1 { + color: var(--vim-fg-bright) !important; + font-weight: 700; + border-bottom: 2px solid var(--vim-statusline); + padding-bottom: 0.5rem; +} + +.md-typeset h2 { + color: var(--vim-blue) !important; + font-weight: 600; + border-bottom: 1px solid var(--vim-comment); + padding-bottom: 0.25rem; +} + +.md-typeset h3 { + color: var(--vim-cyan) !important; + font-weight: 600; +} + +.md-typeset h4 { + color: var(--vim-magenta) !important; + font-weight: 500; +} + +/* Links with vim colors */ +.md-typeset a { + color: var(--vim-blue) !important; + text-decoration: underline; +} + +.md-typeset a:hover { + color: var(--vim-cyan) !important; +} + +/* Code with vim syntax highlighting feel */ +.md-typeset code { + background-color: var(--vim-bg-light) !important; + color: var(--vim-green) !important; + border: 1px solid var(--vim-comment); + border-radius: 3px; + padding: 0.2em 0.4em; + font-family: 'JetBrains Mono', monospace !important; +} + +.md-typeset pre { + background-color: var(--vim-bg-light) !important; + border: 1px solid var(--vim-comment); + border-radius: 5px; + overflow-x: auto; +} + +.md-typeset pre code { + background-color: transparent !important; + border: none; + padding: 0; +} + +/* Syntax highlighting for code blocks */ +.highlight { + background-color: var(--vim-bg-light) !important; + border-radius: 5px; + border: 1px solid var(--vim-comment); +} + +.highlight pre { + background-color: var(--vim-bg-light) !important; + color: var(--vim-fg) !important; + padding: 1rem; + margin: 0; +} + +/* Navigation with vim statusline feel */ +.md-nav { + background-color: var(--vim-bg) !important; +} + +.md-nav__title { + background-color: var(--vim-statusline) !important; + color: var(--vim-fg-bright) !important; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.1em; + padding: 0.75rem 1rem; +} + +.md-nav__link { + color: var(--vim-fg) !important; + font-family: 'JetBrains Mono', monospace !important; + transition: all 0.2s ease; +} + +.md-nav__link:hover { + color: var(--vim-cyan) !important; + background-color: var(--vim-bg-light) !important; +} + +.md-nav__link--active { + color: var(--vim-yellow) !important; + background-color: var(--vim-visual) !important; + font-weight: 600; +} + +/* Tabs with vim statusline styling */ +.md-tabs { + background-color: var(--vim-statusline) !important; + border-bottom: 2px solid var(--vim-comment); +} + +.md-tabs__link { + color: var(--vim-fg) !important; + font-family: 'JetBrains Mono', monospace !important; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.md-tabs__link:hover { + color: var(--vim-cyan) !important; + background-color: var(--vim-bg-light); +} + +.md-tabs__link--active { + color: var(--vim-yellow) !important; + background-color: var(--vim-visual); +} + +/* Header with vim feel */ +.md-header { + background-color: var(--vim-bg) !important; + border-bottom: 2px solid var(--vim-statusline); +} + +.md-header__title { + color: var(--vim-fg-bright) !important; + font-family: 'JetBrains Mono', monospace !important; + font-weight: 700; +} + +/* Search with vim command line feel */ +.md-search__input { + background-color: var(--vim-bg-light) !important; + color: var(--vim-fg) !important; + border: 1px solid var(--vim-comment) !important; + border-radius: 3px; + font-family: 'JetBrains Mono', monospace !important; +} + +.md-search__input:focus { + border-color: var(--vim-blue) !important; + box-shadow: 0 0 0 2px var(--vim-visual) !important; +} + +.md-search__input::placeholder { + color: var(--vim-comment) !important; +} + +/* Tables with vim colors */ +.md-typeset table:not([class]) { + background-color: var(--vim-bg-light) !important; + border: 1px solid var(--vim-comment); + border-radius: 5px; + overflow: hidden; +} + +.md-typeset table:not([class]) th { + background-color: var(--vim-statusline) !important; + color: var(--vim-fg-bright) !important; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.05em; + border-bottom: 2px solid var(--vim-comment); +} + +.md-typeset table:not([class]) td { + color: var(--vim-fg) !important; + border-bottom: 1px solid var(--vim-comment); + font-family: 'JetBrains Mono', monospace !important; +} + +.md-typeset table:not([class]) tr:nth-child(even) { + background-color: var(--vim-bg) !important; +} + +.md-typeset table:not([class]) tr:hover { + background-color: var(--vim-visual) !important; +} + +/* Buttons with vim style */ +.md-button { + background-color: var(--vim-bg-light) !important; + color: var(--vim-fg) !important; + border: 2px solid var(--vim-comment) !important; + border-radius: 3px; + font-family: 'JetBrains Mono', monospace !important; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + transition: all 0.2s ease; +} + +.md-button:hover { + background-color: var(--vim-blue) !important; + color: var(--vim-bg) !important; + border-color: var(--vim-blue) !important; + transform: translateY(-1px); +} + +.md-button--primary { + background-color: var(--vim-green) !important; + color: var(--vim-bg) !important; + border-color: var(--vim-green) !important; +} + +.md-button--primary:hover { + background-color: var(--vim-cyan) !important; + border-color: var(--vim-cyan) !important; +} + +/* Admonitions with vim colors */ +.md-typeset .admonition { + background-color: var(--vim-bg-light) !important; + border: 1px solid var(--vim-comment); + border-left: 4px solid var(--vim-blue); + border-radius: 5px; + color: var(--vim-fg); +} + +.md-typeset .admonition-title { + background-color: var(--vim-statusline) !important; + color: var(--vim-fg-bright) !important; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.05em; + margin: 0; + padding: 0.75rem 1rem; +} + +.md-typeset .admonition.note { + border-left-color: var(--vim-blue); +} + +.md-typeset .admonition.warning { + border-left-color: var(--vim-yellow); +} + +.md-typeset .admonition.danger { + border-left-color: var(--vim-red); +} + +.md-typeset .admonition.tip { + border-left-color: var(--vim-green); +} + +/* Content area */ +.md-content { + background-color: var(--vim-bg) !important; +} + +.md-content__inner { + background-color: var(--vim-bg) !important; + color: var(--vim-fg); +} + +/* Footer with vim style */ +.md-footer { + background-color: var(--vim-statusline) !important; + border-top: 2px solid var(--vim-comment); +} + +.md-footer-meta { + background-color: var(--vim-bg) !important; + color: var(--vim-fg-dim) !important; +} + +.md-footer__link { + color: var(--vim-fg) !important; +} + +.md-footer__link:hover { + color: var(--vim-cyan) !important; +} + +/* Hero section with vim terminal feel */ +.hero-section { + background-color: var(--vim-bg-light) !important; + border: 2px solid var(--vim-statusline); + border-radius: 5px; + margin: 1rem 0; + padding: 2rem; +} + +.hero-section h1 { + color: var(--vim-fg-bright) !important; + font-family: 'JetBrains Mono', monospace !important; + font-weight: 700; + margin-bottom: 1rem; + border-bottom: 2px solid var(--vim-blue); + padding-bottom: 0.5rem; +} + +.hero-section p { + color: var(--vim-fg) !important; + font-family: 'JetBrains Mono', monospace !important; + margin-bottom: 1rem; +} + +.hero-section ul { + color: var(--vim-fg) !important; + font-family: 'JetBrains Mono', monospace !important; +} + +.hero-section li { + margin-bottom: 0.5rem; +} + +.hero-section b { + color: var(--vim-yellow) !important; + font-weight: 700; +} + +/* Feature cards with vim terminal windows */ +.feature-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; + margin: 2rem 0; +} + +.feature-card { + background-color: var(--vim-bg-light) !important; + border: 2px solid var(--vim-comment); + border-radius: 5px; + padding: 0; + overflow: hidden; + transition: all 0.2s ease; +} + +.feature-card:hover { + border-color: var(--vim-blue); + transform: translateY(-2px); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); +} + +.feature-card h3 { + background-color: var(--vim-statusline) !important; + color: var(--vim-fg-bright) !important; + margin: 0; + padding: 0.75rem 1rem; + font-family: 'JetBrains Mono', monospace !important; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.05em; + border-bottom: 1px solid var(--vim-comment); +} + +.feature-card p, +.feature-card ul, +.feature-card li { + color: var(--vim-fg) !important; + font-family: 'JetBrains Mono', monospace !important; + padding: 0 1rem; +} + +.feature-card p:last-child, +.feature-card ul:last-child { + padding-bottom: 1rem; +} + +/* Status badges with vim colors */ +.status-badge { + font-family: 'JetBrains Mono', monospace !important; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.1em; + padding: 0.25rem 0.75rem; + border-radius: 3px; + border: 1px solid; +} + +.status-badge--completed { + background-color: var(--vim-green) !important; + color: var(--vim-bg) !important; + border-color: var(--vim-green); +} + +.status-badge--in-progress { + background-color: var(--vim-yellow) !important; + color: var(--vim-bg) !important; + border-color: var(--vim-yellow); +} + +.status-badge--planned { + background-color: var(--vim-blue) !important; + color: var(--vim-bg) !important; + border-color: var(--vim-blue); +} + +/* Mermaid diagrams with vim colors */ +.mermaid { + background-color: var(--vim-bg-light) !important; + border: 1px solid var(--vim-comment); + border-radius: 5px; + padding: 1rem; +} + +/* Tabbed content with vim style */ +.tabbed-set { + border: 1px solid var(--vim-comment); + border-radius: 5px; + overflow: hidden; + margin: 1rem 0; +} + +.tabbed-labels { + background-color: var(--vim-statusline) !important; +} + +.tabbed-labels > label { + color: var(--vim-fg) !important; + font-family: 'JetBrains Mono', monospace !important; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + border-right: 1px solid var(--vim-comment); +} + +.tabbed-labels > label:hover { + background-color: var(--vim-bg-light) !important; + color: var(--vim-cyan) !important; +} + +.tabbed-set input:checked + label { + background-color: var(--vim-visual) !important; + color: var(--vim-yellow) !important; +} + +.tabbed-content { + background-color: var(--vim-bg-light) !important; + color: var(--vim-fg) !important; +} + +/* Scrollbars with vim colors */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background-color: var(--vim-bg); +} + +::-webkit-scrollbar-thumb { + background-color: var(--vim-comment); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb:hover { + background-color: var(--vim-fg-dim); +} + +/* Selection with vim visual mode colors */ +::selection { + background-color: var(--vim-visual) !important; + color: var(--vim-fg-bright) !important; +} + +::-moz-selection { + background-color: var(--vim-visual) !important; + color: var(--vim-fg-bright) !important; +} + +/* Strong/bold text with vim bright color */ +.md-typeset strong { + color: var(--vim-fg-bright) !important; + font-weight: 700; +} + +/* Emphasis/italic with vim special color */ +.md-typeset em { + color: var(--vim-magenta) !important; + font-style: italic; +} + +/* Lists with vim styling */ +.md-typeset ul li::marker { + color: var(--vim-blue) !important; +} + +.md-typeset ol li::marker { + color: var(--vim-blue) !important; + font-weight: 700; +} + +/* Blockquotes with vim comment styling */ +.md-typeset blockquote { + border-left: 4px solid var(--vim-comment); + background-color: var(--vim-bg-light); + color: var(--vim-fg-dim); + font-style: italic; + margin: 1rem 0; + padding: 1rem; +} + +/* Horizontal rules with vim separator */ +.md-typeset hr { + border: none; + border-top: 2px solid var(--vim-comment); + margin: 2rem 0; +} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 89e496a..e421fe0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,27 +10,16 @@ theme: name: material language: en - # Color scheme inspired by Modular/Mojo docs + # Vim-style color scheme - dark only palette: - # Light mode - - scheme: default - primary: custom - accent: custom - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - # Dark mode + # Dark mode only (vim style) - scheme: slate primary: custom accent: custom - toggle: - icon: material/brightness-4 - name: Switch to light mode - # Typography - Inter font like Modular + # Typography - Monospace for vim feel font: - text: Inter + text: JetBrains Mono code: JetBrains Mono # Features @@ -149,7 +138,7 @@ plugins: # Customization extra_css: - stylesheets/extra.css - - stylesheets/modular-theme.css + - stylesheets/vim-dark-theme.css extra_javascript: - javascripts/mathjax.js From 51b6b1cf11e1d23ff45e2402c56e2c99fd6fe8d5 Mon Sep 17 00:00:00 2001 From: knowlen Date: Sun, 13 Jul 2025 16:24:40 -0700 Subject: [PATCH 02/19] 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 --- docs/stylesheets/vim-dark-theme.css | 118 +++++++++++++++++++++------- mkdocs.yml | 4 +- 2 files changed, 93 insertions(+), 29 deletions(-) diff --git a/docs/stylesheets/vim-dark-theme.css b/docs/stylesheets/vim-dark-theme.css index 0441b46..ae30889 100644 --- a/docs/stylesheets/vim-dark-theme.css +++ b/docs/stylesheets/vim-dark-theme.css @@ -3,7 +3,7 @@ /* Import JetBrains Mono for that terminal feel */ @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap'); -/* Vim Color Palette */ +/* Vim Color Palette - matching your desired code block theme */ :root { /* Core vim colors */ --vim-bg: #1c1c1c; /* Dark gray background like vim */ @@ -13,14 +13,22 @@ --vim-fg-dim: #808080; /* Dimmed text */ --vim-fg-bright: #ffffff; /* Bright white */ - /* Vim syntax colors */ + /* Code block colors - matching your example */ + --code-keyword: #569cd6; /* Blue keywords (async, def, import, etc.) */ + --code-string: #ce9178; /* Orange/brown strings */ + --code-number: #b5cea8; /* Light green numbers */ + --code-comment: #6a9955; /* Green comments */ + --code-function: #dcdcaa; /* Yellow function names */ + --code-variable: #9cdcfe; /* Light blue variables/types */ + --code-operator: #d4d4d4; /* White operators */ + --code-text: #d4d4d4; /* Default white text */ + + /* Vim accent colors */ --vim-red: #ff5f5f; /* Error red */ - --vim-green: #87ff87; /* String green */ --vim-yellow: #ffff87; /* Warning yellow */ - --vim-blue: #87ceeb; /* Keyword blue */ + --vim-blue: #87ceeb; /* UI blue */ --vim-magenta: #ff87ff; /* Special magenta */ - --vim-cyan: #87ffff; /* Type cyan */ - --vim-orange: #ff8700; /* Number orange */ + --vim-cyan: #87ffff; /* UI cyan */ /* Status line colors */ --vim-statusline: #444444; /* Status line background */ @@ -53,7 +61,7 @@ /* Code colors */ --md-code-bg-color: var(--vim-bg-light); - --md-code-fg-color: var(--vim-green); + --md-code-fg-color: var(--code-text);*/ /* Table and border colors */ --md-typeset-table-color: var(--vim-comment); @@ -69,11 +77,11 @@ background-color: var(--vim-bg) !important; } -/* Typography - monospace everything for that terminal feel */ +/* Typography - keep regular text readable, monospace for code */ .md-typeset { - font-family: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Consolas', monospace !important; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 400; - line-height: 1.5; + line-height: 1.6; color: var(--vim-fg); background-color: var(--vim-bg); } @@ -113,10 +121,10 @@ color: var(--vim-cyan) !important; } -/* Code with vim syntax highlighting feel */ +/* Code with exact colors from your example */ .md-typeset code { background-color: var(--vim-bg-light) !important; - color: var(--vim-green) !important; + color: var(--code-text) !important; border: 1px solid var(--vim-comment); border-radius: 3px; padding: 0.2em 0.4em; @@ -145,11 +153,67 @@ .highlight pre { background-color: var(--vim-bg-light) !important; - color: var(--vim-fg) !important; + color: var(--code-text) !important; padding: 1rem; margin: 0; } +/* Syntax highlighting to match your example exactly */ +.highlight .k, /* Keywords like async, def, import, from */ +.highlight .kn, /* import/from keywords */ +.highlight .kt, /* type keywords */ +.highlight .kd { /* declaration keywords */ + color: var(--code-keyword) !important; +} + +.highlight .s, /* Strings */ +.highlight .s1, /* Single quoted strings */ +.highlight .s2, /* Double quoted strings */ +.highlight .se { /* String escapes */ + color: var(--code-string) !important; +} + +.highlight .m, /* Numbers */ +.highlight .mi, /* Integer numbers */ +.highlight .mf, /* Float numbers */ +.highlight .mb, /* Binary numbers */ +.highlight .mo { /* Octal numbers */ + color: var(--code-number) !important; +} + +.highlight .c, /* Comments */ +.highlight .c1, /* Single line comments */ +.highlight .cm { /* Multi-line comments */ + color: var(--code-comment) !important; +} + +.highlight .n, /* Names/variables */ +.highlight .nv, /* Variables */ +.highlight .nb, /* Built-ins */ +.highlight .nc, /* Classes */ +.highlight .nd, /* Decorators */ +.highlight .ni, /* Inherited */ +.highlight .ne, /* Exception */ +.highlight .nf, /* Function names */ +.highlight .nl, /* Labels */ +.highlight .nn, /* Namespaces */ +.highlight .nt, /* Tags */ +.highlight .nx { /* Other names */ + color: var(--code-function) !important; +} + +.highlight .o, /* Operators */ +.highlight .ow, /* Operator words */ +.highlight .p { /* Punctuation */ + color: var(--code-operator) !important; +} + +.highlight .na, /* Attributes */ +.highlight .no, /* Constants */ +.highlight .bp { /* Built-in pseudo */ + color: var(--code-variable) !important; +} + /* Navigation with vim statusline feel */ .md-nav { background-color: var(--vim-bg) !important; @@ -166,7 +230,7 @@ .md-nav__link { color: var(--vim-fg) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; transition: all 0.2s ease; } @@ -189,7 +253,7 @@ .md-tabs__link { color: var(--vim-fg) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; @@ -213,7 +277,7 @@ .md-header__title { color: var(--vim-fg-bright) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 700; } @@ -223,7 +287,7 @@ color: var(--vim-fg) !important; border: 1px solid var(--vim-comment) !important; border-radius: 3px; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; } .md-search__input:focus { @@ -255,7 +319,7 @@ .md-typeset table:not([class]) td { color: var(--vim-fg) !important; border-bottom: 1px solid var(--vim-comment); - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; } .md-typeset table:not([class]) tr:nth-child(even) { @@ -272,7 +336,7 @@ color: var(--vim-fg) !important; border: 2px solid var(--vim-comment) !important; border-radius: 3px; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; @@ -372,7 +436,7 @@ .hero-section h1 { color: var(--vim-fg-bright) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 700; margin-bottom: 1rem; border-bottom: 2px solid var(--vim-blue); @@ -381,13 +445,13 @@ .hero-section p { color: var(--vim-fg) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; margin-bottom: 1rem; } .hero-section ul { color: var(--vim-fg) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; } .hero-section li { @@ -427,7 +491,7 @@ color: var(--vim-fg-bright) !important; margin: 0; padding: 0.75rem 1rem; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; @@ -438,7 +502,7 @@ .feature-card ul, .feature-card li { color: var(--vim-fg) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; padding: 0 1rem; } @@ -449,7 +513,7 @@ /* Status badges with vim colors */ .status-badge { - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; @@ -498,7 +562,7 @@ .tabbed-labels > label { color: var(--vim-fg) !important; - font-family: 'JetBrains Mono', monospace !important; + font-family: 'Inter', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; @@ -587,4 +651,4 @@ border: none; border-top: 2px solid var(--vim-comment); margin: 2rem 0; -} \ No newline at end of file +} diff --git a/mkdocs.yml b/mkdocs.yml index e421fe0..b1d68dd 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -17,9 +17,9 @@ theme: primary: custom accent: custom - # Typography - Monospace for vim feel + # Typography - Regular font for UI, monospace for code font: - text: JetBrains Mono + text: Inter code: JetBrains Mono # Features From cced134aa2401df0910212ed413c61ab78df75ea Mon Sep 17 00:00:00 2001 From: knowlen Date: Sun, 13 Jul 2025 16:40:33 -0700 Subject: [PATCH 03/19] 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 --- docs/stylesheets/vim-dark-theme.css | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/stylesheets/vim-dark-theme.css b/docs/stylesheets/vim-dark-theme.css index ae30889..3f900fa 100644 --- a/docs/stylesheets/vim-dark-theme.css +++ b/docs/stylesheets/vim-dark-theme.css @@ -13,14 +13,14 @@ --vim-fg-dim: #808080; /* Dimmed text */ --vim-fg-bright: #ffffff; /* Bright white */ - /* Code block colors - matching your example */ + /* Code block colors - matching your desired example exactly */ --code-keyword: #569cd6; /* Blue keywords (async, def, import, etc.) */ - --code-string: #ce9178; /* Orange/brown strings */ + --code-string: #d63384; /* Magenta/purple strings */ --code-number: #b5cea8; /* Light green numbers */ --code-comment: #6a9955; /* Green comments */ - --code-function: #dcdcaa; /* Yellow function names */ - --code-variable: #9cdcfe; /* Light blue variables/types */ - --code-operator: #d4d4d4; /* White operators */ + --code-function: #4ec9b0; /* Cyan/aqua function names */ + --code-variable: #4ec9b0; /* Cyan/aqua variables/attributes */ + --code-operator: #d4d4d4; /* White operators/punctuation */ --code-text: #d4d4d4; /* Default white text */ /* Vim accent colors */ @@ -158,7 +158,7 @@ margin: 0; } -/* Syntax highlighting to match your example exactly */ +/* Syntax highlighting to match your desired example exactly */ .highlight .k, /* Keywords like async, def, import, from */ .highlight .kn, /* import/from keywords */ .highlight .kt, /* type keywords */ @@ -187,33 +187,33 @@ color: var(--code-comment) !important; } -.highlight .n, /* Names/variables */ -.highlight .nv, /* Variables */ +.highlight .nf, /* Function names - cyan/aqua */ +.highlight .n, /* Names/variables - cyan/aqua */ +.highlight .nv, /* Variables - cyan/aqua */ +.highlight .na { /* Attributes - cyan/aqua */ + color: var(--code-function) !important; +} + .highlight .nb, /* Built-ins */ .highlight .nc, /* Classes */ .highlight .nd, /* Decorators */ .highlight .ni, /* Inherited */ .highlight .ne, /* Exception */ -.highlight .nf, /* Function names */ .highlight .nl, /* Labels */ .highlight .nn, /* Namespaces */ .highlight .nt, /* Tags */ -.highlight .nx { /* Other names */ - color: var(--code-function) !important; +.highlight .nx, /* Other names */ +.highlight .no, /* Constants */ +.highlight .bp { /* Built-in pseudo */ + color: var(--code-variable) !important; } .highlight .o, /* Operators */ .highlight .ow, /* Operator words */ -.highlight .p { /* Punctuation */ +.highlight .p { /* Punctuation - white */ color: var(--code-operator) !important; } -.highlight .na, /* Attributes */ -.highlight .no, /* Constants */ -.highlight .bp { /* Built-in pseudo */ - color: var(--code-variable) !important; -} - /* Navigation with vim statusline feel */ .md-nav { background-color: var(--vim-bg) !important; From 8158424fe9698c3a154b54a37d4ba9240607f81b Mon Sep 17 00:00:00 2001 From: knowlen Date: Sun, 13 Jul 2025 16:44:46 -0700 Subject: [PATCH 04/19] 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 --- docs/stylesheets/vim-dark-theme.css | 39 ++++++++++++++++------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/docs/stylesheets/vim-dark-theme.css b/docs/stylesheets/vim-dark-theme.css index 3f900fa..94fd7cc 100644 --- a/docs/stylesheets/vim-dark-theme.css +++ b/docs/stylesheets/vim-dark-theme.css @@ -15,11 +15,11 @@ /* Code block colors - matching your desired example exactly */ --code-keyword: #569cd6; /* Blue keywords (async, def, import, etc.) */ - --code-string: #d63384; /* Magenta/purple strings */ + --code-string: #ce9178; /* Orange/brown strings */ --code-number: #b5cea8; /* Light green numbers */ --code-comment: #6a9955; /* Green comments */ - --code-function: #4ec9b0; /* Cyan/aqua function names */ - --code-variable: #4ec9b0; /* Cyan/aqua variables/attributes */ + --code-function: #dcdcaa; /* Yellow/gold function names */ + --code-variable: #9cdcfe; /* Light blue variables */ --code-operator: #d4d4d4; /* White operators/punctuation */ --code-text: #d4d4d4; /* Default white text */ @@ -187,24 +187,27 @@ color: var(--code-comment) !important; } -.highlight .nf, /* Function names - cyan/aqua */ -.highlight .n, /* Names/variables - cyan/aqua */ -.highlight .nv, /* Variables - cyan/aqua */ -.highlight .na { /* Attributes - cyan/aqua */ +.highlight .nf { /* Function names - yellow/gold */ color: var(--code-function) !important; } -.highlight .nb, /* Built-ins */ -.highlight .nc, /* Classes */ -.highlight .nd, /* Decorators */ -.highlight .ni, /* Inherited */ -.highlight .ne, /* Exception */ -.highlight .nl, /* Labels */ -.highlight .nn, /* Namespaces */ -.highlight .nt, /* Tags */ -.highlight .nx, /* Other names */ -.highlight .no, /* Constants */ -.highlight .bp { /* Built-in pseudo */ +.highlight .n, /* Names/variables - light blue */ +.highlight .nv, /* Variables - light blue */ +.highlight .na { /* Attributes - light blue */ + color: var(--code-variable) !important; +} + +.highlight .nb, /* Built-ins - light blue */ +.highlight .nc, /* Classes - light blue */ +.highlight .nd, /* Decorators - light blue */ +.highlight .ni, /* Inherited - light blue */ +.highlight .ne, /* Exception - light blue */ +.highlight .nl, /* Labels - light blue */ +.highlight .nn, /* Namespaces - light blue */ +.highlight .nt, /* Tags - light blue */ +.highlight .nx, /* Other names - light blue */ +.highlight .no, /* Constants - light blue */ +.highlight .bp { /* Built-in pseudo - light blue */ color: var(--code-variable) !important; } From 4f265b1a343a892fa8fa718331a0e5ddc7e4a95d Mon Sep 17 00:00:00 2001 From: knowlen Date: Sun, 13 Jul 2025 17:10:32 -0700 Subject: [PATCH 05/19] 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 --- docs/stylesheets/vim-dark-theme.css | 55 +++++++++++++---------------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/docs/stylesheets/vim-dark-theme.css b/docs/stylesheets/vim-dark-theme.css index 94fd7cc..901a05f 100644 --- a/docs/stylesheets/vim-dark-theme.css +++ b/docs/stylesheets/vim-dark-theme.css @@ -158,32 +158,26 @@ margin: 0; } -/* Syntax highlighting to match your desired example exactly */ -.highlight .k, /* Keywords like async, def, import, from */ -.highlight .kn, /* import/from keywords */ -.highlight .kt, /* type keywords */ -.highlight .kd { /* declaration keywords */ +/* Syntax highlighting based on actual Pygments classes found */ +.highlight .k, /* Keywords like def, async, with, as, for, in */ +.highlight .kc, /* Keyword constants like True, False */ +.highlight .kn { /* Keywords like import, from */ color: var(--code-keyword) !important; } -.highlight .s, /* Strings */ .highlight .s1, /* Single quoted strings */ .highlight .s2, /* Double quoted strings */ -.highlight .se { /* String escapes */ +.highlight .sa, /* String affixes */ +.highlight .si { /* String interpolation */ color: var(--code-string) !important; } -.highlight .m, /* Numbers */ .highlight .mi, /* Integer numbers */ -.highlight .mf, /* Float numbers */ -.highlight .mb, /* Binary numbers */ -.highlight .mo { /* Octal numbers */ +.highlight .mf { /* Float numbers */ color: var(--code-number) !important; } -.highlight .c, /* Comments */ -.highlight .c1, /* Single line comments */ -.highlight .cm { /* Multi-line comments */ +.highlight .c1 { /* Single line comments */ color: var(--code-comment) !important; } @@ -191,32 +185,31 @@ color: var(--code-function) !important; } -.highlight .n, /* Names/variables - light blue */ -.highlight .nv, /* Variables - light blue */ -.highlight .na { /* Attributes - light blue */ +.highlight .n { /* General names/variables - light blue */ color: var(--code-variable) !important; } -.highlight .nb, /* Built-ins - light blue */ -.highlight .nc, /* Classes - light blue */ -.highlight .nd, /* Decorators - light blue */ -.highlight .ni, /* Inherited - light blue */ -.highlight .ne, /* Exception - light blue */ -.highlight .nl, /* Labels - light blue */ -.highlight .nn, /* Namespaces - light blue */ -.highlight .nt, /* Tags - light blue */ -.highlight .nx, /* Other names - light blue */ -.highlight .no, /* Constants - light blue */ -.highlight .bp { /* Built-in pseudo - light blue */ +.highlight .nn { /* Module names like asyncio, esologs.client - light blue */ color: var(--code-variable) !important; } -.highlight .o, /* Operators */ -.highlight .ow, /* Operator words */ -.highlight .p { /* Punctuation - white */ +.highlight .nb { /* Built-ins like print, len - light blue */ + color: var(--code-variable) !important; +} + +.highlight .o, /* Operators like =, + */ +.highlight .ow { /* Operator words like and, or */ + color: var(--code-operator) !important; +} + +.highlight .p { /* Punctuation like (), [], {}, : */ color: var(--code-operator) !important; } +.highlight .w { /* Whitespace - inherit */ + color: inherit !important; +} + /* Navigation with vim statusline feel */ .md-nav { background-color: var(--vim-bg) !important; From 5979300f86c556aa2f8d8485d3eeefdf02da307b Mon Sep 17 00:00:00 2001 From: knowlen Date: Sun, 13 Jul 2025 19:23:36 -0700 Subject: [PATCH 06/19] 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 --- docs/changelog.md | 26 +- docs/index.md | 4 +- docs/stylesheets/modular-theme.css | 422 ---------------------------- docs/stylesheets/vim-dark-theme.css | 134 ++++++--- mkdocs.yml | 1 - 5 files changed, 117 insertions(+), 470 deletions(-) delete mode 100644 docs/stylesheets/modular-theme.css diff --git a/docs/changelog.md b/docs/changelog.md index a568a3e..3daafcd 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -111,19 +111,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### API Coverage Progress -**Completed (65% → 75% API Coverage)**: -- **Game Data APIs**: Abilities, classes, items, NPCs, maps, factions -- **Character APIs**: Profiles, reports, rankings (enhanced) -- **Report APIs**: Analysis, search, events, graphs, tables (new) -- **Guild APIs**: Basic guild information and reports -- **World APIs**: Regions, zones, encounters -- **System APIs**: Rate limiting and authentication - -**In Progress (Target: 95% by v1.0)**: -- **User Account APIs**: Account management and preferences -- **Progress Tracking**: Race and achievement tracking -- **Enhanced Guild Features**: Advanced guild management -- **Data Integration**: Pandas DataFrame support +**Completed (65% → 83% API Coverage - 6/8 API sections, 33 methods)**: +- **Game Data APIs**: 13 methods - abilities, classes, items, NPCs, maps, factions (COMPLETE) +- **Character APIs**: 5 methods - profiles, reports, rankings (COMPLETE) +- **Report APIs**: 9 methods - analysis, search, events, graphs, tables (COMPLETE) +- **Guild APIs**: 2 methods - basic guild information and reports (PARTIAL) +- **World APIs**: 4 methods - regions, zones, encounters (COMPLETE) +- **System APIs**: 1 method - rate limiting and authentication (COMPLETE) + +**Missing (17% - 2/8 API sections)**: +- **User Account APIs**: 0/3 methods - requires user OAuth2 authentication +- **Progress Race Data**: 0/1 method - niche racing feature +- **Enhanced Guild Features**: 4 methods - advanced guild management +- **Data Integration**: Pandas DataFrame support (planned enhancement) ### Breaking Changes diff --git a/docs/index.md b/docs/index.md index 76d5881..0fe44e9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -66,11 +66,11 @@

Current Version

v0.2.0-alpha
- 75% API Coverage

+ 83% API Coverage

Active development with comprehensive testing and documentation.

-

Coming Soon (25%)

+

Coming Soon (17%)