Files
RustProxy/src/admin/web/docs.css
T
gru eba9f89283 v0.35.1: performance, AGPL licensing and documentation overhaul
- Web Server reads static files inline; proxy middleware chain flattened
- About window with license summary and project links; AGPL-3.0-or-later
- Rewritten documentation: feature list, screenshots, performance guide
- Fix false spikes in per-Vhost request-rate charts
2026-11-05 18:29:56 +01:00

417 lines
6.7 KiB
CSS

/* Documentation Reader layout. */
* {
box-sizing: border-box
}
body {
margin: 0;
background: #f5f6f7;
font: 14px system-ui, sans-serif;
color: #222b36
}
.docs-bar {
display: flex;
align-items: center;
gap: 22px;
padding: 14px 22px;
background: #101923;
color: #fff;
border-bottom: 3px solid #d97743
}
.docs-name {
font-weight: 750;
font-size: 20px
}
.docs-bar h1 {
font-size: 16px;
margin: 0;
flex: 1
}
.docs-bar a {
color: inherit;
text-decoration: none
}
.docs-bar button {
background: transparent;
color: inherit;
border: 1px solid #65717e;
padding: 7px 12px;
cursor: pointer
}
main {
max-width: 1400px;
margin: auto;
padding: 16px 22px
}
.docs-session {
background: #fff;
border: 1px solid #d7dde3;
padding: 12px 16px
}
.docs-session p {
margin: 5px 0 10px
}
.docs-session label {
display: inline-flex;
align-items: center;
gap: 7px
}
#docs-error:empty {
display: none
}
#docs-error {
padding: 12px;
border: 1px solid #9a4932
}
.swagger-ui .auth-wrapper {
display: none
}
.swagger-ui .info {
margin: 22px 0
}
.swagger-ui .opblock,
.swagger-ui .btn,
.swagger-ui select,
.swagger-ui input,
.swagger-ui textarea,
.swagger-ui .dialog-ux .modal-ux {
border-radius: var(--rp-docs-radius-surface, 0)
}
.swagger-ui .opblock .opblock-summary {
padding: 5px
}
.swagger-ui .info .title {
font-size: 24px
}
.swagger-ui .wrapper {
padding: 0
}
.swagger-ui .opblock-tag {
font-size: 19px
}
.swagger-ui .response-col_description {
min-width: 0
}
@media(max-width:680px) {
.docs-bar {
flex-wrap: wrap;
gap: 12px;
padding: 12px
}
.docs-bar h1 {
flex-basis: 60%
}
main {
padding: 12px
}
.swagger-ui .opblock .opblock-summary-path {
font-size: 12px
}
.swagger-ui .opblock-summary-description {
display: none
}
}
.docs-confirm {
width: min(480px, calc(100vw - 28px));
border: 1px solid #65717e;
background: #fff;
color: #222b36;
padding: 18px
}
.docs-confirm::backdrop {
background: rgb(16 25 35 / .62)
}
.docs-confirm h2 {
margin: 0 0 10px;
font-size: 18px
}
.docs-confirm p {
margin: 0;
white-space: pre-line
}
.docs-confirm-actions {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 18px
}
.docs-confirm-actions button {
border: 1px solid #65717e;
background: transparent;
padding: 8px 12px;
cursor: pointer
}
.docs-confirm-actions .docs-confirm-primary {
background: #101923;
color: #fff
}
.docs-tabs {
display: flex;
gap: 8px;
margin: 16px 0;
border-bottom: 1px solid #c8d0d8
}
.docs-tabs button {
border: 1px solid #c8d0d8;
border-bottom: 0;
background: #e9edf1;
padding: 9px 15px;
cursor: pointer
}
.docs-tabs button.active {
background: #fff;
font-weight: 700
}
.docs-api-controls {
background: #fff;
border: 1px solid #d7dde3;
padding: 12px 16px;
margin-bottom: 16px
}
.docs-api-controls label {
display: inline-flex;
align-items: center;
gap: 7px
}
.reader-layout {
display: grid;
grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
gap: 18px;
align-items: start
}
.reader-sidebar,
.markdown-reader {
background: #fff;
border: 1px solid #d7dde3
}
.reader-sidebar {
position: sticky;
top: 12px;
max-height: calc(100vh - 140px);
overflow: auto;
padding: 12px
}
.reader-sidebar label {
display: block;
font-weight: 700;
margin-bottom: 6px
}
.reader-sidebar input {
width: 100%;
padding: 8px 9px;
border: 1px solid #aeb8c2;
margin-bottom: 12px
}
.reader-group {
margin: 14px 0 6px;
font-size: 11px;
text-transform: uppercase;
letter-spacing: .08em;
color: #5f6c79
}
.reader-list button {
width: 100%;
display: block;
text-align: left;
border: 0;
background: transparent;
padding: 7px 8px;
cursor: pointer;
color: #24313e
}
.reader-list button:hover,
.reader-list button.active {
background: #eef2f5
}
.reader-list button small {
display: block;
color: #6d7883;
overflow-wrap: anywhere
}
.markdown-reader {
min-height: 60vh;
padding: 24px 28px;
overflow-wrap: anywhere
}
.markdown-reader h1 {
margin-top: 0;
font-size: 28px
}
.markdown-reader h2 {
margin-top: 30px;
font-size: 21px;
border-bottom: 1px solid #e0e5ea;
padding-bottom: 6px
}
.markdown-reader h3 {
margin-top: 24px;
font-size: 17px
}
.markdown-reader p,
.markdown-reader li {
line-height: 1.6
}
.markdown-reader pre {
overflow: auto;
padding: 14px;
background: #101923;
color: #f3f6f8
}
.markdown-reader code {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace
}
.markdown-reader :not(pre)>code {
padding: 2px 4px;
background: #edf1f4
}
.markdown-reader blockquote {
margin-left: 0;
padding-left: 14px;
border-left: 3px solid #d97743;
color: #52606d
}
.reader-table {
overflow-x: auto;
margin: 14px 0
}
.reader-table table {
border-collapse: collapse;
width: 100%;
font-size: 14px
}
.reader-table :is(th, td) {
text-align: left;
vertical-align: top;
padding: 7px 10px;
border: 1px solid #e0e5ea;
line-height: 1.5
}
.reader-table th {
background: #f4f6f8
}
.reader-image {
display: block;
margin: 12px 0;
padding: 10px 12px;
border: 1px dashed #c9d1d9;
color: #52606d;
font-size: 13px
}
.reader-empty {
color: #687581;
padding: 10px 8px
}
@media(max-width:820px) {
.reader-layout {
grid-template-columns: 1fr
}
.reader-sidebar {
position: static;
max-height: 320px
}
.markdown-reader {
padding: 18px
}
}
/* Corner style follows the panel preference. */
html[data-corner-style=square] {
--rp-docs-radius-surface: 0px;
--rp-docs-radius-control: 0px;
}
html[data-corner-style=subtle] {
--rp-docs-radius-surface: 5px;
--rp-docs-radius-control: 4px;
}
html[data-corner-style=rounded] {
--rp-docs-radius-surface: 12px;
--rp-docs-radius-control: 8px;
}
html[data-corner-style=extra] {
--rp-docs-radius-surface: 18px;
--rp-docs-radius-control: 12px;
}
.docs-session,
.docs-api-controls,
.reader-sidebar,
.markdown-reader,
.docs-confirm,
#docs-error {
border-radius: var(--rp-docs-radius-surface, 0);
}
.docs-bar button,
.docs-confirm-actions button,
.docs-tabs button,
.reader-sidebar input,
.reader-list button,
.swagger-ui .btn,
.swagger-ui select,
.swagger-ui input,
.swagger-ui textarea {
border-radius: var(--rp-docs-radius-control, 0);
}