Files
XC_VM/docs/_media/theme-tokens.css
T
Divarion-D b2e61c7d79 docs: add interactive Swagger API reference and unify docs theme
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.
2026-07-02 21:21:19 +03:00

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;
}