| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations under the License. |
| */ |
| |
| /** |
| * Any CSS included here will be global. The classic template |
| * bundles Infima by default. Infima is a CSS framework designed to |
| * work well for content-centric websites. |
| */ |
| |
| /* You can override the default Infima variables here. */ |
| :root { |
| --ifm-color-primary: #2e7d32; |
| --ifm-color-primary-dark: #1b5e20; |
| --ifm-color-primary-darker: #1b5e20; |
| --ifm-color-primary-darkest: #0d4f14; |
| --ifm-color-primary-light: #4caf50; |
| --ifm-color-primary-lighter: #66bb6a; |
| --ifm-color-primary-lightest: #81c784; |
| --ifm-code-font-size: 95%; |
| --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); |
| } |
| |
| /* For readability concerns, you should choose a lighter palette in dark mode. */ |
| [data-theme='dark'] { |
| --ifm-color-primary: #4caf50; |
| --ifm-color-primary-dark: #388e3c; |
| --ifm-color-primary-darker: #2e7d32; |
| --ifm-color-primary-darkest: #1b5e20; |
| --ifm-color-primary-light: #66bb6a; |
| --ifm-color-primary-lighter: #81c784; |
| --ifm-color-primary-lightest: #a5d6a7; |
| --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); |
| } |
| |
| /* Enhanced code block styling */ |
| .prism-code { |
| font-size: 14px; |
| line-height: 1.5; |
| border-radius: 8px; |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); |
| } |
| |
| /* Eclipse IDE Java syntax highlighting colors */ |
| |
| /* Keywords (public, private, class, extends, etc.) */ |
| .token.keyword { |
| color: #7f0055 !important; |
| font-weight: bold !important; |
| } |
| |
| /* String literals */ |
| .token.string { |
| color: #2a00ff !important; |
| } |
| |
| /* Comments */ |
| .token.comment { |
| color: #3f7f5f !important; |
| font-style: italic !important; |
| } |
| |
| /* Class names and types */ |
| .token.class-name { |
| color: #000000 !important; |
| font-weight: normal !important; |
| } |
| |
| /* Method names */ |
| .token.function, |
| .token.method { |
| color: #000000 !important; |
| font-weight: normal !important; |
| } |
| |
| /* Numbers */ |
| .token.number { |
| color: #000000 !important; |
| } |
| |
| /* Annotations (@Rest, @RestGet, etc.) */ |
| .token.annotation { |
| color: #646464; |
| font-weight: normal; |
| } |
| |
| /* Operators (=, +, -, etc.) */ |
| .token.operator { |
| color: #000000; |
| } |
| |
| /* Punctuation ({}, (), [], etc.) */ |
| .token.punctuation { |
| color: #000000; |
| } |
| |
| /* Variables and identifiers */ |
| .token.variable { |
| color: #000000; |
| } |
| |
| /* Field names */ |
| .token.property { |
| color: #0000c0; |
| } |
| |
| /* Static fields and constants */ |
| .token.constant { |
| color: #0000c0; |
| font-style: italic; |
| } |
| |
| /* Generics (<T>, <String>, etc.) */ |
| .token.generic { |
| color: #000000; |
| } |
| |
| /* Dark theme Eclipse colors (for dark mode users) */ |
| [data-theme='dark'] .token.keyword { |
| color: #cc7832; |
| font-weight: bold; |
| } |
| |
| [data-theme='dark'] .token.string { |
| color: #6a8759; |
| } |
| |
| [data-theme='dark'] .token.comment { |
| color: #808080; |
| font-style: italic; |
| } |
| |
| [data-theme='dark'] .token.class-name { |
| color: #ffc66d; |
| } |
| |
| [data-theme='dark'] .token.function, |
| [data-theme='dark'] .token.method { |
| color: #ffc66d; |
| } |
| |
| [data-theme='dark'] .token.number { |
| color: #6897bb; |
| } |
| |
| [data-theme='dark'] .token.annotation { |
| color: #bbb529; |
| } |
| |
| [data-theme='dark'] .token.operator, |
| [data-theme='dark'] .token.punctuation, |
| [data-theme='dark'] .token.variable { |
| color: #a9b7c6; |
| } |
| |
| [data-theme='dark'] .token.property, |
| [data-theme='dark'] .token.constant { |
| color: #9876aa; |
| } |
| |
| /* Eclipse-style code block background */ |
| .prism-code { |
| background-color: #ffffff !important; |
| border: 1px solid #c0c0c0; |
| } |
| |
| [data-theme='dark'] .prism-code { |
| background-color: #2b2b2b !important; |
| border: 1px solid #555555; |
| } |
| |
| /* Juneau-specific annotation highlighting (Eclipse style) */ |
| .token.annotation.juneau { |
| color: #646464; |
| background: rgba(100, 100, 100, 0.1); |
| padding: 1px 3px; |
| border-radius: 3px; |
| } |
| |
| [data-theme='dark'] .token.annotation.juneau { |
| color: #bbb529; |
| background: rgba(187, 181, 41, 0.1); |
| } |
| |
| /* Code block title styling */ |
| .prism-code[title] { |
| position: relative; |
| } |
| |
| .prism-code[title]::before { |
| content: attr(title); |
| position: absolute; |
| top: -2em; |
| left: 0; |
| right: 0; |
| background: var(--ifm-color-emphasis-200); |
| color: var(--ifm-color-content); |
| padding: 0.5em 1em; |
| font-size: 0.8em; |
| font-weight: 600; |
| border-radius: 8px 8px 0 0; |
| border-bottom: 1px solid var(--ifm-color-emphasis-300); |
| } |
| |
| /* Copy button enhancements */ |
| .clean-btn { |
| transition: all 0.2s ease; |
| } |
| |
| .clean-btn:hover { |
| transform: scale(1.1); |
| } |
| |
| /* Line highlighting */ |
| .docusaurus-highlight-code-line { |
| background-color: rgba(46, 125, 50, 0.1); |
| display: block; |
| margin: 0 calc(-1 * var(--ifm-pre-padding)); |
| padding: 0 var(--ifm-pre-padding); |
| border-left: 3px solid var(--ifm-color-primary); |
| } |
| |
| /* Code block with line numbers */ |
| .prism-code .token-line::before { |
| content: attr(data-line); |
| position: absolute; |
| left: -3em; |
| width: 2em; |
| text-align: right; |
| color: var(--ifm-color-emphasis-600); |
| font-size: 0.8em; |
| } |
| |
| /* Inline code enhancements */ |
| code { |
| background: var(--ifm-color-emphasis-100); |
| border: 1px solid var(--ifm-color-emphasis-300); |
| border-radius: 4px; |
| padding: 0.1em 0.3em; |
| font-size: 0.9em; |
| color: var(--ifm-color-primary-dark); |
| } |
| |
| [data-theme='dark'] code { |
| background: var(--ifm-color-emphasis-200); |
| color: var(--ifm-color-primary-light); |
| } |
| |
| /* Link styling for Javadoc links */ |
| a[href*="apidocs"] { |
| color: var(--ifm-color-primary); |
| text-decoration: none; |
| border-bottom: 1px dotted var(--ifm-color-primary); |
| transition: all 0.2s ease; |
| } |
| |
| a[href*="apidocs"]:hover { |
| color: var(--ifm-color-primary-dark); |
| border-bottom: 1px solid var(--ifm-color-primary-dark); |
| background: rgba(46, 125, 50, 0.05); |
| } |
| |
| /* Table enhancements for comparison tables */ |
| .comparison-table { |
| border-collapse: collapse; |
| width: 100%; |
| margin: 1em 0; |
| } |
| |
| .comparison-table th, |
| .comparison-table td { |
| border: 1px solid var(--ifm-color-emphasis-300); |
| padding: 0.75em; |
| text-align: left; |
| } |
| |
| .comparison-table th { |
| background: var(--ifm-color-emphasis-100); |
| font-weight: 600; |
| } |
| |
| .comparison-table .old-system { |
| background: rgba(244, 67, 54, 0.05); |
| } |
| |
| .comparison-table .new-system { |
| background: rgba(76, 175, 80, 0.05); |
| } |
| |
| /* Full-width code blocks in tables */ |
| .code-table { |
| border-collapse: collapse; |
| width: 100%; |
| margin: 1em 0; |
| border: 1px solid var(--ifm-color-emphasis-300); |
| } |
| |
| .code-table th, |
| .code-table td { |
| border: 1px solid var(--ifm-color-emphasis-300); |
| padding: 0.5rem; |
| text-align: left; |
| vertical-align: top; |
| } |
| |
| .code-table th { |
| background: var(--ifm-color-emphasis-100); |
| font-weight: 600; |
| text-align: center; |
| } |
| |
| /* 3-column table (Type/Format/Valid parameter types) */ |
| .code-table th:first-child:nth-last-child(3) { |
| width: 15%; |
| } |
| |
| .code-table th:nth-child(2):nth-last-child(2) { |
| width: 20%; |
| } |
| |
| .code-table th:nth-child(3):nth-last-child(1) { |
| width: 65%; |
| } |
| |
| .code-table td:first-child:nth-last-child(3) { |
| width: 15%; |
| text-align: center; |
| font-weight: 600; |
| background: var(--ifm-color-emphasis-50); |
| } |
| |
| .code-table td:nth-child(2):nth-last-child(2) { |
| width: 20%; |
| text-align: center; |
| font-family: monospace; |
| background: var(--ifm-color-emphasis-50); |
| } |
| |
| .code-table td:nth-child(3):nth-last-child(1) { |
| width: 65%; |
| line-height: 1.5; |
| } |
| |
| /* 2-column table (Java code/HTML) */ |
| .code-table th:first-child:nth-last-child(2), |
| .code-table th:nth-child(2):nth-last-child(1) { |
| width: 50%; |
| } |
| |
| .code-table td:first-child:nth-last-child(2), |
| .code-table td:nth-child(2):nth-last-child(1) { |
| width: 50%; |
| text-align: left; |
| font-weight: normal; |
| background: transparent; |
| vertical-align: top; |
| } |
| |
| .code-table td ul { |
| margin: 0; |
| padding-left: 1rem; |
| } |
| |
| .code-table td li { |
| margin-bottom: 0.25rem; |
| } |
| |
| .code-table .prism-code { |
| margin: 0; |
| border-radius: 0; |
| border: none; |
| } |
| |
| .code-table pre { |
| margin: 0; |
| padding: 0.5rem; |
| border-radius: 0; |
| background: transparent; |
| } |
| |
| .code-table code { |
| background: transparent; |
| padding: 0.1rem 0.3rem; |
| border-radius: 3px; |
| font-size: 0.9em; |
| } |
| |
| /* Status badges */ |
| .status-badge { |
| display: inline-block; |
| padding: 0.2em 0.6em; |
| border-radius: 12px; |
| font-size: 0.8em; |
| font-weight: 600; |
| text-transform: uppercase; |
| } |
| |
| .status-badge.success { |
| background: #4caf50; |
| color: white; |
| } |
| |
| .status-badge.warning { |
| background: #ff9800; |
| color: white; |
| } |
| |
| .status-badge.error { |
| background: #f44336; |
| color: white; |
| } |
| |
| /* Feature cards */ |
| .feature-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); |
| gap: 1.5em; |
| margin: 2em 0; |
| } |
| |
| .feature-card { |
| background: var(--ifm-color-emphasis-100); |
| border: 1px solid var(--ifm-color-emphasis-300); |
| border-radius: 8px; |
| padding: 1.5em; |
| transition: all 0.2s ease; |
| } |
| |
| .feature-card:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); |
| } |
| |
| .feature-card h3 { |
| color: var(--ifm-color-primary); |
| margin-top: 0; |
| } |
| |
| /* Responsive adjustments */ |
| @media (max-width: 768px) { |
| .prism-code { |
| font-size: 12px; |
| } |
| |
| .feature-grid { |
| grid-template-columns: 1fr; |
| } |
| } |
| |
| javac-package, |
| javac-annotation, |
| javac-class, |
| javac-abstract-class, |
| javac-interface, |
| javac-enum, |
| javac-field, |
| javac-field-private, |
| javac-method, |
| javac-method-private, |
| javac-method-annotation, |
| javac-project, |
| javac-doc { |
| font: monospace; |
| font-size: small; |
| margin-right: 8px; |
| white-space: nowrap; |
| } |
| |
| java-package, |
| java-annotation, |
| java-class, |
| java-abstract-class, |
| java-interface, |
| java-enum, |
| java-field, |
| java-field-private, |
| java-method, |
| java-method-private, |
| java-method-annotation, |
| java-project, |
| java-doc { font-family: monospace; font-size: medium; } |
| |
| h3 java-package, h4 java-package, |
| h3 java-annotation, h4 java-annotation, |
| h3 java-class, h4 java-class, |
| h3 java-abstract-class, h4 java-abstract-class, |
| h3 java-interface, h4 java-interface, |
| h3 java-enum, h4 java-enum, |
| h3 java-field, h4 java-field, |
| h3 java-field-private, h4 java-field-private, |
| h3 java-method, h4 java-method, |
| h3 java-method-private, h4 java-method-private, |
| h3 java-method-annotation, h4 java-method-annotation, |
| h3 java-project, h4 java-project, |
| h3 java-doc, h4 java-doc { font-family: monospace; font-size: large; } |
| |
| /* Custom node elements for hierarchy levels */ |
| node-0 { display: block; margin-left: 0em; } |
| node-1 { display: block; margin-left: 2em; } |
| node-2 { display: block; margin-left: 4em; } |
| node-3 { display: block; margin-left: 6em; } |
| node-4 { display: block; margin-left: 8em; } |
| node-5 { display: block; margin-left: 10em; } |
| node-6 { display: block; margin-left: 12em; } |
| node-7 { display: block; margin-left: 14em; } |
| node-8 { display: block; margin-left: 16em; } |
| |
| /* Tree wrapper for proper spacing */ |
| tree { display: block; margin: 1em 0; } |
| |
| /* Make java elements inline after indent */ |
| javac-package::before { color: #e09c01; content: '\229e\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-annotation::before { color: #00ced1; content: '\24d0\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-class::before { color: #008000; content: '\24d2\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-abstract-class::before { color: #CCB404; content: '\24d2\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-interface::before { color: #5f4ba2; content: '\24d8\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-enum::before { color: #906029; content: '\24d4\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-field::before { color: #008000; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-field-private::before { color: #CCB404; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-method::before { color: #008000; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-method-private::before { color: #CCB404; content: '\25c6\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-method-annotation::before { color: #00ced1; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| javac-project::before { color: #ff6b35; content: '\1f4c2\00a0'; font-weight: bolder; font-size: small; } |
| javac-doc::before { color: #4a90e2; content: '\1f4d6\00a0'; font-weight: bolder; font-size: small; } |
| |
| java-package::before { color: #e09c01; content: '\229e\00a0'; font-weight: bolder; font-size: large; } |
| java-annotation::before { color: #00ced1; content: '\24d0\00a0'; font-weight: bolder; font-size: large; } |
| java-class::before { color: #008000; content: '\24d2\00a0'; font-weight: bolder; font-size: large; } |
| java-abstract-class::before { color: #CCB404; content: '\24d2\00a0'; font-weight: bolder; font-size: large; } |
| java-interface::before { color: #5f4ba2; content: '\24d8\00a0'; font-weight: bolder; font-size: large; } |
| java-enum::before { color: #906029; content: '\24d4\00a0'; font-weight: bolder; font-size: large; } |
| java-field::before { color: #008000; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| java-field-private::before { color: #CCB404; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| java-method::before { color: #008000; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| java-method-private::before { color: #CCB404; content: '\25c6\00a0'; font-weight: bolder; font-size: x-small; } |
| java-method-annotation::before { color: #00ced1; content: '\25cf\00a0'; font-weight: bolder; font-size: x-small; } |
| java-project::before { color: #ff6b35; content: '\1f4c2\00a0'; font-weight: bolder; font-size: x-large; } |
| java-doc::before { color: #4a90e2; content: '\1f4d6\00a0'; font-weight: bolder; font-size: x-large; } |
| |
| .giscus-comments { |
| margin-block-start: 4rem; |
| margin-block-end: 4rem; |
| } |
| |
| .giscus-comments__header { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| margin-block-end: 0.5rem; |
| } |
| |
| .giscus-comments__divider { |
| flex: 1; |
| border: 0; |
| border-top: 1px solid var(--ifm-color-emphasis-200); |
| } |
| |
| .giscus-comments__label { |
| font-size: 0.85rem; |
| letter-spacing: 0.2em; |
| text-transform: uppercase; |
| color: var(--ifm-color-emphasis-500); |
| } |
| |
| .giscus-comments__description { |
| margin: 0 0 1rem; |
| color: var(--ifm-color-emphasis-600); |
| font-size: 0.95rem; |
| } |