diff --git a/.github/ISSUE_TEMPLATE/documentation_improvement.md b/.github/ISSUE_TEMPLATE/documentation_improvement.md index c8f1ffc..21106ec 100644 --- a/.github/ISSUE_TEMPLATE/documentation_improvement.md +++ b/.github/ISSUE_TEMPLATE/documentation_improvement.md @@ -15,26 +15,14 @@ Please specify which part of the documentation needs improvement: - **Section**: - **Specific endpoint** (if applicable): -### ๐ŸŽฏ Type of Improvement -- [ ] Missing information -- [ ] Unclear explanation -- [ ] Outdated content -- [ ] Missing code examples -- [ ] Missing language examples -- [ ] Formatting issues -- [ ] Other: ___________ - ### ๐Ÿ’ก Suggested Improvement A clear and concise description of what you'd like to see improved. -### ๐Ÿ” Current Content (if applicable) +### ๐Ÿ” Current Content Quote or describe the current content that needs improvement. -### โœจ Proposed Content +### โœจ Proposed Content Describe or provide the improved content you'd like to see. ### ๐ŸŽ Additional Value -Explain how this improvement would help other developers. - -### ๐Ÿ“‹ Additional Context -Add any other context, links, or screenshots about the improvement suggestion. \ No newline at end of file +Explain how this improvement would help other developers. \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 4cc267d..5b6325e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,43 +1,7 @@ ## ๐Ÿ“‹ Pull Request Description -### ๐ŸŽฏ Type of Change -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Documentation improvement -- [ ] Code example update -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - ### ๐Ÿ“– What does this PR do? A clear and concise description of what this pull request accomplishes. ### ๐Ÿ” Related Issue -Fixes #(issue number) or Closes #(issue number) - -### ๐Ÿ“ Changes Made -- [ ] Updated documentation content -- [ ] Added/updated code examples -- [ ] Fixed typos or formatting -- [ ] Added new API endpoint documentation -- [ ] Updated existing API endpoint documentation -- [ ] Other: ___________ - -### ๐Ÿงช Testing -- [ ] I have tested all code examples -- [ ] Documentation builds without errors (`npm run build`) -- [ ] All links work correctly -- [ ] Multi-language examples are consistent -- [ ] Changes are responsive on different screen sizes - -### ๐Ÿ“ธ Screenshots (if applicable) -Add screenshots to show visual changes. - -### ๐Ÿ“‹ Checklist -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my changes -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] My changes generate no new warnings -- [ ] I have added examples that prove my fix is effective or that my feature works -- [ ] New and existing tests pass locally with my changes - -### ๐Ÿ“ Additional Notes -Any additional information or context about the pull request. \ No newline at end of file +Fixes #(issue number) or Closes #(issue number) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1321530..7e79ce0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -101,13 +101,6 @@ When adding or updating code examples: - **Error Handling**: Show proper error handling where relevant - **Security**: Emphasize security best practices -### File Structure - -- **Client API**: `/docs/api/client/` - User-facing API endpoints -- **Application API**: `/docs/api/application/` - Admin API endpoints -- **WebSocket API**: `/docs/api/websocket.md` - Real-time connections -- **Guides**: `/docs/` - General guides and concepts - ## ๐Ÿ”ง Development Setup ### Prerequisites @@ -134,9 +127,7 @@ npm run validate:codetabs ### Testing - Verify some code examples before submitting -- Verify responsive design on different screen sizes - Check that internal links work correctly -- Ensure search functionality works with new content ## ๐ŸŽจ Style Guide @@ -166,21 +157,8 @@ Each endpoint should include: ### Getting Help - **Questions**: Use [GitHub Discussions](https://github.com/netvpx/pterodactyl-api-docs/discussions) -- **Pterodactyl Chat**: Join the [Pterodactyl Discord](https://discord.gg/pterodactyl) -- **NETVPX Support**: [Contact us](https://netvpx.com/support) for hosting-related questions - -## ๐Ÿ“‹ Pull Request Checklist - -Before submitting your PR, ensure: - -- [ ] The code examples are working -- [ ] Multi-language examples are consistent (all 8 languages) -- [ ] CodeTabs component is used for all API examples -- [ ] Documentation builds without errors (`npm run build`) -- [ ] CodeTabs validation passes (`npm run validate:codetabs`) -- [ ] Links are working and point to correct locations -- [ ] New content follows existing style and format -- [ ] Changes are focused and related to a single improvement +- **Pterodactyl Chat**: Join the [Pterodactyl Discord](https://discord.gg/pterodactyl) which has a [dedicated API & Modding channel](https://discord.com/channels/122900397965705216/936744899787784282) +- **NETVPX Support**: [Contact us](https://netvpx.com/support) for other questionst ## ๐Ÿš€ Release Process diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 86ee5d4..4ea4f68 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -278,8 +278,8 @@ const config: Config = { // Enhanced color mode configuration colorMode: { defaultMode: 'dark', - disableSwitch: false, - respectPrefersColorScheme: true, + disableSwitch: true, + respectPrefersColorScheme: false, }, navbar: { diff --git a/src/css/custom.css b/src/css/custom.css index 8b09934..dca2c18 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -7,15 +7,15 @@ * Professional and corporate appearance */ -/* Light mode */ +/* Dark mode only - removed light mode for maintainability */ :root { - --ifm-color-primary: #1a365d; - --ifm-color-primary-dark: #153955; - --ifm-color-primary-darker: #133650; - --ifm-color-primary-darkest: #0f2a42; - --ifm-color-primary-light: #1f4365; - --ifm-color-primary-lighter: #21476a; - --ifm-color-primary-lightest: #285a7a; + --ifm-color-primary: #2d7dd2; + --ifm-color-primary-dark: #2563eb; + --ifm-color-primary-darker: #1d4ed8; + --ifm-color-primary-darkest: #1e40af; + --ifm-color-primary-light: #3b82f6; + --ifm-color-primary-lighter: #60a5fa; + --ifm-color-primary-lightest: #93c5fd; /* Secondary and status colors */ --ifm-color-secondary: #2d7dd2; @@ -25,29 +25,29 @@ --ifm-color-danger: #ef4444; /* Background colors */ - --ifm-background-color: #ffffff; - --ifm-background-surface-color: #f8fafc; + --ifm-background-color: #0f172a; + --ifm-background-surface-color: #1e293b; /* Content colors - improved contrast */ - --ifm-color-content: #1a202c; - --ifm-color-content-secondary: #4a5568; + --ifm-color-content: #f1f5f9; + --ifm-color-content-secondary: #cbd5e1; /* Border and divider colors */ - --ifm-color-emphasis-100: #f7fafc; - --ifm-color-emphasis-200: #edf2f7; - --ifm-color-emphasis-300: #e2e8f0; - --ifm-color-emphasis-400: #cbd5e0; + --ifm-color-emphasis-100: #334155; + --ifm-color-emphasis-200: #475569; + --ifm-color-emphasis-300: #64748b; + --ifm-color-emphasis-400: #94a3b8; /* Link colors */ - --ifm-link-color: #1a365d; - --ifm-link-hover-color: #2d7dd2; + --ifm-link-color: #60a5fa; + --ifm-link-hover-color: #93c5fd; /* Code block colors */ - --ifm-code-background: #f7fafc; - --ifm-code-color: #2d3748; + --ifm-code-background: #1e293b; + --ifm-code-color: #e2e8f0; } -/* Dark mode */ +/* Keep dark theme specific overrides for Docusaurus compatibility */ [data-theme='dark'] { --ifm-color-primary: #2d7dd2; --ifm-color-primary-dark: #2563eb; @@ -248,39 +248,17 @@ code { color: white !important; } -/* Light mode specific overrides - Enhanced contrast */ -:root .menu__link { - color: #1a202c !important; /* Dark text for light background */ -} - -:root .menu__link--active { - background-color: var(--ifm-color-primary) !important; - color: white !important; - font-weight: 600 !important; -} - -/* Higher specificity for active links in light mode */ -:root .menu__list-item .menu__link--active { - background-color: var(--ifm-color-primary) !important; - color: white !important; - font-weight: 600 !important; +/* Menu link styling for dark mode */ +.menu__link { + color: #f1f5f9 !important; /* Light text for dark background */ } -/* Nested menu active links */ -:root .menu__list .menu__list .menu__link--active { +.menu__link--active { background-color: var(--ifm-color-primary) !important; color: white !important; font-weight: 600 !important; } -:root .menu__list-item .menu__link { - color: #4a5568 !important; /* Slightly lighter for hierarchy */ -} - -:root .menu__list-item .menu__link:hover { - color: #1a202c !important; /* Darker on hover for better contrast */ -} - /* Dark mode specific overrides */ [data-theme='dark'] .menu__link { color: #f1f5f9 !important; /* Light text for dark background */ @@ -291,28 +269,33 @@ code { color: white !important; } -[data-theme='dark'] .menu__list-item .menu__link { - color: #cbd5e1 !important; /* Slightly darker for hierarchy */ +[data-theme='dark'] .menu__list-item:not(.menu__list-item-collapsible) .menu__link { + color: #cbd5e1 !important; /* Slightly darker for hierarchy - but not dropdowns */ } -[data-theme='dark'] .menu__list-item .menu__link:hover { +[data-theme='dark'] .menu__list-item:not(.menu__list-item-collapsible) .menu__link:hover { color: #f1f5f9 !important; /* Brighter on hover for better contrast */ } +/* Ensure dropdown headers stay bright */ +[data-theme='dark'] .menu__list-item-collapsible > .menu__link { + color: #f1f5f9 !important; +} + /* Additional contrast for category labels */ .menu__list-item-collapsible .menu__link { font-weight: 600; - color: var(--ifm-color-content) !important; + color: #f1f5f9 !important; /* Same as regular menu items */ } /* Ensure proper contrast for nested items */ .menu__list .menu__list .menu__link { padding-left: 1.5rem; - color: var(--ifm-color-content-secondary) !important; + color: #cbd5e1 !important; /* Good contrast for nested items */ } .menu__list .menu__list .menu__link:hover { - color: var(--ifm-color-content) !important; + color: #f1f5f9 !important; /* Brighter on hover */ } /* API-specific styling */ @@ -529,13 +512,11 @@ code { font-weight: 400; } -/* Ensure hero elements are visible in both themes */ -[data-theme='light'] .hero--primary .hero__title, +/* Ensure hero elements are visible in dark theme */ [data-theme='dark'] .hero--primary .hero__title { color: #ffffff !important; } -[data-theme='light'] .hero--primary .hero__subtitle, [data-theme='dark'] .hero--primary .hero__subtitle { color: rgba(255, 255, 255, 0.95) !important; } @@ -570,23 +551,7 @@ code { --ifm-menu-color-background-active: var(--ifm-color-primary); } -/* Force proper styling for active sidebar items in light mode - ONLY for actual page links */ -html[data-theme='light'] .menu__link--active:not(.menu__link--sublist), -html[data-theme='light'] .menu__list-item:not(.menu__list-item-collapsible) .menu__link--active { - background-color: var(--ifm-color-primary) !important; - color: #ffffff !important; - font-weight: 600 !important; - border-radius: 6px !important; -} - -/* Ensure hover states don't override active styles in light mode - ONLY for actual page links */ -html[data-theme='light'] .menu__link--active:not(.menu__link--sublist):hover, -html[data-theme='light'] .menu__list-item:not(.menu__list-item-collapsible) .menu__link--active:hover { - background-color: var(--ifm-color-primary-dark) !important; - color: #ffffff !important; -} - -/* Dark mode equivalents for consistency - ONLY for actual page links */ +/* Force proper styling for active sidebar items in dark mode - ONLY for actual page links */ html[data-theme='dark'] .menu__link--active:not(.menu__link--sublist), html[data-theme='dark'] .menu__list-item:not(.menu__list-item-collapsible) .menu__link--active { background-color: var(--ifm-color-primary) !important; @@ -601,26 +566,40 @@ html[data-theme='dark'] .menu__list-item:not(.menu__list-item-collapsible) .menu color: #ffffff !important; } -/* Restore proper styling for collapsible/dropdown category headers in light mode */ -html[data-theme='light'] .menu__list-item-collapsible .menu__link { - color: var(--ifm-color-content) !important; +/* Restore proper styling for collapsible/dropdown category headers in dark mode */ +html[data-theme='dark'] .menu__list-item-collapsible .menu__link { + color: #f1f5f9 !important; /* Same as regular menu items */ background-color: transparent !important; font-weight: 600 !important; } -html[data-theme='light'] .menu__list-item-collapsible .menu__link:hover { - color: var(--ifm-color-content) !important; - background-color: var(--ifm-color-emphasis-100) !important; +html[data-theme='dark'] .menu__list-item-collapsible .menu__link:hover { + color: #f1f5f9 !important; /* Keep same color on hover */ + background-color: rgba(51, 65, 85, 0.5) !important; /* Subtle background on hover */ } -/* Restore proper styling for collapsible/dropdown category headers in dark mode */ -html[data-theme='dark'] .menu__list-item-collapsible .menu__link { - color: var(--ifm-color-content) !important; - background-color: transparent !important; - font-weight: 600 !important; +/* Fix dropdown arrow visibility - using Unicode arrow only */ +.menu__caret::after { + content: 'โ–ถ'; + color: #f1f5f9; + font-size: 0.6rem; + transition: transform 0.2s; + display: inline-block; + line-height: 1; } -html[data-theme='dark'] .menu__list-item-collapsible .menu__link:hover { - color: var(--ifm-color-content) !important; - background-color: var(--ifm-color-emphasis-100) !important; +/* Rotate arrow when expanded */ +.menu__list-item:not(.menu__list-item--collapsed) .menu__caret::after { + transform: rotate(90deg); +} + +/* Ensure dark mode visibility */ +html[data-theme='dark'] .menu__caret::after { + color: #f1f5f9 !important; +} + +/* Hover state */ +html[data-theme='dark'] .menu__list-item-collapsible:hover .menu__caret::after { + color: #f1f5f9 !important; + opacity: 1; }