mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-09-30 04:02:08 +02:00
Bundle interactive OpenAPI 3.0 documentation for all XC_VM APIs into the
docsify site and align the docs visual with the Swagger UI page.
API reference
- Add self-contained Swagger UI host page (_media/swagger-ui.html) with a
tab per specification (Admin / System / Player / Playlist) plus nested
Documentation and Swagger views; deep-linkable via ?spec=<key>.
- Add OpenAPI 3.0 specs: admin-api (renamed from openapi.yaml, 104 ops) and
new system-api (31 actions), player-api (XtreamCodes) and playlist-api,
generated from the existing prose guides and controllers.
- Add EN/RU hub page (api/swagger.md) and wire it into the sidebars.
- Remove now-obsolete prose guides (system_api.md, xtreamcodes_api.md,
playlist.md) after verifying full coverage in the specs.
- Rebrand XUI.ONE -> XC_VM across the spec and host page; point links to
github.com/Vateron-Media/XC_VM.
Theming
- Add shared design tokens (_media/theme-tokens.css) consumed by both the
docs and the Swagger page as a single source of truth.
- Switch docsify to docsify-themeable (Simple / Simple Dark) and drop ~150
lines of hand-written CSS.
- Add a light/dark toggle synced across both pages via localStorage['theme'];
default to dark.
39 lines
1.2 KiB
CSS
39 lines
1.2 KiB
CSS
/* ============================================================
|
|
XC_VM shared design tokens
|
|
Single source of truth for BOTH the docsify docs (index.html)
|
|
and the Swagger UI page (_media/swagger-ui.html).
|
|
|
|
Convention: :root = LIGHT (default), html[data-theme="dark"] = DARK.
|
|
Each page aliases its own local variables to these --xc-* tokens,
|
|
so the two pages can never drift apart.
|
|
============================================================ */
|
|
|
|
:root {
|
|
/* Light theme (matches Swagger light palette) */
|
|
--xc-bg: #ffffff;
|
|
--xc-panel: #f8f9fa;
|
|
--xc-header: #2c3e50;
|
|
--xc-text: #2c3e50;
|
|
--xc-text-2: #7f8c8d;
|
|
--xc-border: #e1e4e8;
|
|
--xc-accent: #3498db;
|
|
--xc-accent-hover: #2980b9;
|
|
--xc-code-bg: #f6f8fa;
|
|
--xc-code-text: #2c3e50;
|
|
--xc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
}
|
|
|
|
html[data-theme="dark"] {
|
|
/* Dark theme (matches Swagger dark palette) */
|
|
--xc-bg: #1e1e1e;
|
|
--xc-panel: #2d2d2d;
|
|
--xc-header: #1a1a1a;
|
|
--xc-text: #e0e0e0;
|
|
--xc-text-2: #b0b0b0;
|
|
--xc-border: #3a3a3a;
|
|
--xc-accent: #4a9eff;
|
|
--xc-accent-hover: #357abd;
|
|
--xc-code-bg: #2d2d2d;
|
|
--xc-code-text: #e0e0e0;
|
|
}
|