@pantoken/vitepress 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/components.css +1 -1
- package/dist/custom.css +1 -1
- package/dist/index.d.mts +10 -16
- package/dist/index.mjs +39 -31
- package/dist/vitepress-vars.css +1 -0
- package/package.json +15 -15
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Danny Wahl
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/components.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vp-doc{color:var(--instui-component-text-base-color);font-family:var(--instui-component-text-content-font-family);font-size:var(--instui-component-text-content-font-size);font-weight:var(--instui-component-text-content-font-weight);line-height:var(--instui-component-text-content-line-height)}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{color:var(--instui-component-heading-base-color);font-family:var(--instui-component-heading-h1-font-family);line-height:var(--instui-component-heading-line-height);margin:var(--instui-spacing-space-lg) 0 var(--instui-spacing-space-sm)}.vp-doc h1{font-size:var(--instui-component-heading-h1-font-size);font-weight:var(--instui-component-heading-h1-font-weight)}.vp-doc h2{font-size:var(--instui-component-heading-h2-font-size);font-weight:var(--instui-component-heading-h2-font-weight)}.vp-doc h3{font-size:var(--instui-component-heading-h3-font-size);font-weight:var(--instui-component-heading-h3-font-weight)}.vp-doc h4{font-size:var(--instui-component-heading-h4-font-size);font-weight:var(--instui-component-heading-h4-font-weight)}.vp-doc h5{font-size:var(--instui-component-heading-h5-font-size);font-weight:var(--instui-component-heading-h5-font-weight)}.vp-doc h6{font-size:var(--instui-component-heading-h6-font-size);font-weight:var(--instui-component-heading-h6-font-weight)}.vp-doc p{margin:var(--instui-spacing-space-md) 0}.vp-doc a{color:var(--instui-color-text-interactive-navigation-primary-base);text-decoration:underline}.vp-doc a:hover{color:var(--instui-color-text-interactive-navigation-primary-hover)}.vp-doc strong,.vp-doc b{font-weight:var(--instui-component-text-content-important-font-weight)}.vp-doc em,.vp-doc i{font-style:italic}.vp-doc small{font-size:var(--instui-component-text-content-small-font-size)}.vp-doc del,.vp-doc s{color:var(--instui-color-text-muted);text-decoration:line-through}.vp-doc ul,.vp-doc ol{margin:var(--instui-spacing-space-md) 0;padding-inline-start:var(--instui-spacing-space-lg)}.vp-doc li{margin:var(--instui-spacing-space2xs) 0}.vp-doc li.task-list-item{list-style:none}.vp-doc input[type=checkbox]{accent-color:var(--instui-color-text-interactive-navigation-primary-base);margin-inline-end:var(--instui-spacing-space-xs)}.vp-doc blockquote{margin:var(--instui-spacing-space-md) 0;border-inline-start:var(--instui-border-width-lg) solid var(--instui-color-stroke-base);color:var(--instui-component-text-base-color);font-size:var(--instui-component-text-content-quote-font-size);line-height:var(--instui-component-text-content-quote-line-height);padding-inline-start:var(--instui-spacing-space-md)}.vp-doc code{font-family:var(--instui-font-family-code);background:var(--instui-color-background-muted);padding:var(--instui-spacing-space2xs) var(--instui-spacing-space-xs);border-radius:var(--instui-border-radius-sm);font-size:.9em}.vp-doc pre{font-family:var(--instui-font-family-code);background:var(--instui-color-background-container);color:var(--instui-color-text-base);padding:var(--instui-spacing-space-md);border:var(--instui-border-width-sm) solid var(--instui-color-stroke-base);border-radius:var(--instui-border-radius-md);overflow-x:auto}.vp-doc pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}.vp-doc hr{border:none;border-top:var(--instui-border-width-sm) solid var(--instui-color-stroke-base);margin:var(--instui-spacing-space-lg) 0}.vp-doc img{border-radius:var(--instui-border-radius-md);max-width:100%}.vp-doc table:not([class]){border-collapse:collapse;width:100%;margin:var(--instui-spacing-space-md) 0;background:var(--instui-component-table-background);color:var(--instui-component-table-color);font-family:var(--instui-component-table-font-family);font-size:var(--instui-component-table-font-size)}.vp-doc table:not([class]) th{text-align:start;background:var(--instui-component-table-col-header-background);color:var(--instui-component-table-col-header-color);font-weight:var(--instui-component-table-head-font-weight);padding:var(--instui-component-table-col-header-padding-vertical) var(--instui-component-table-col-header-padding-horizontal);border-bottom:var(--instui-border-width-md) solid var(--instui-component-table-row-border-color)}.vp-doc table:not([class]) td{color:var(--instui-component-table-cell-color);line-height:var(--instui-component-table-cell-line-height);padding:var(--instui-component-table-cell-padding-vertical) var(--instui-component-table-cell-padding-horizontal);border-bottom:var(--instui-border-width-sm) solid var(--instui-component-table-row-border-color)}
|
|
1
|
+
.vp-doc{color:var(--instui-component-text-base-color);font-family:var(--instui-component-text-content-font-family);font-size:var(--instui-component-text-content-font-size);font-weight:var(--instui-component-text-content-font-weight);line-height:var(--instui-component-text-content-line-height)}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{color:var(--instui-component-heading-base-color);font-family:var(--instui-component-heading-h1-font-family);line-height:var(--instui-component-heading-line-height);margin:var(--instui-spacing-space-lg) 0 var(--instui-spacing-space-sm)}.vp-doc h1{font-size:var(--instui-component-heading-h1-font-size);font-weight:var(--instui-component-heading-h1-font-weight)}.vp-doc h2{font-size:var(--instui-component-heading-h2-font-size);font-weight:var(--instui-component-heading-h2-font-weight)}.vp-doc h3{font-size:var(--instui-component-heading-h3-font-size);font-weight:var(--instui-component-heading-h3-font-weight)}.vp-doc h4{font-size:var(--instui-component-heading-h4-font-size);font-weight:var(--instui-component-heading-h4-font-weight)}.vp-doc h5{font-size:var(--instui-component-heading-h5-font-size);font-weight:var(--instui-component-heading-h5-font-weight)}.vp-doc h6{font-size:var(--instui-component-heading-h6-font-size);font-weight:var(--instui-component-heading-h6-font-weight)}.vp-doc p{margin:var(--instui-spacing-space-md) 0}.vp-doc a{color:var(--instui-color-text-interactive-navigation-primary-base);text-decoration:underline}.vp-doc a:hover{color:var(--instui-color-text-interactive-navigation-primary-hover)}.vp-doc strong,.vp-doc b{font-weight:var(--instui-component-text-content-important-font-weight)}.vp-doc em,.vp-doc i{font-style:italic}.vp-doc small{font-size:var(--instui-component-text-content-small-font-size)}.vp-doc del,.vp-doc s{color:var(--instui-color-text-muted);text-decoration:line-through}.vp-doc ul,.vp-doc ol{margin:var(--instui-spacing-space-md) 0;padding-inline-start:var(--instui-spacing-space-lg)}.vp-doc li{margin:var(--instui-spacing-space2xs) 0}.vp-doc li.task-list-item{list-style:none}.vp-doc input[type=checkbox]{accent-color:var(--instui-color-text-interactive-navigation-primary-base);margin-inline-end:var(--instui-spacing-space-xs)}.vp-doc blockquote{margin:var(--instui-spacing-space-md) 0;border-inline-start:var(--instui-border-width-lg) solid var(--instui-color-stroke-base);color:var(--instui-component-text-base-color);font-size:var(--instui-component-text-content-quote-font-size);line-height:var(--instui-component-text-content-quote-line-height);font-weight:var(--instui-component-text-content-quote-font-weight);font-style:var(--instui-component-text-content-quote-font-style);padding-inline-start:var(--instui-spacing-space-md)}.vp-doc code{font-family:var(--instui-font-family-code);background:var(--instui-color-background-muted);padding:var(--instui-spacing-space2xs) var(--instui-spacing-space-xs);border-radius:var(--instui-border-radius-sm);font-size:.9em}.vp-doc pre{font-family:var(--instui-font-family-code);background:var(--instui-color-background-container);color:var(--instui-color-text-base);padding:var(--instui-spacing-space-md);border:var(--instui-border-width-sm) solid var(--instui-color-stroke-base);border-radius:var(--instui-border-radius-md);overflow-x:auto}.vp-doc pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}.vp-doc hr{border:none;border-top:var(--instui-border-width-sm) solid var(--instui-color-stroke-base);margin:var(--instui-spacing-space-lg) 0}.vp-doc img{border-radius:var(--instui-border-radius-md);max-width:100%}.vp-doc table:not([class]){border-collapse:collapse;width:100%;margin:var(--instui-spacing-space-md) 0;background:var(--instui-component-table-background);color:var(--instui-component-table-color);font-family:var(--instui-component-table-font-family);font-size:var(--instui-component-table-font-size)}.vp-doc table:not([class]) th{text-align:start;background:var(--instui-component-table-col-header-background);color:var(--instui-component-table-col-header-color);font-weight:var(--instui-component-table-head-font-weight);padding:var(--instui-component-table-col-header-padding-vertical) var(--instui-component-table-col-header-padding-horizontal);border-bottom:var(--instui-border-width-md) solid var(--instui-component-table-row-border-color)}.vp-doc table:not([class]) td{color:var(--instui-component-table-cell-color);line-height:var(--instui-component-table-cell-line-height);padding:var(--instui-component-table-cell-padding-vertical) var(--instui-component-table-cell-padding-horizontal);border-bottom:var(--instui-border-width-sm) solid var(--instui-component-table-row-border-color)}
|
package/dist/custom.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--vp-c-bg:var(--instui-color-background-
|
|
1
|
+
:root{--vp-font-family-base:var(--instui-font-family-base);--vp-c-text-1:var(--instui-color-text-base);--vp-c-text-2:var(--instui-color-text-muted);--vp-c-text-3:var(--instui-color-text-interactive-input-placeholder);--vp-c-bg:var(--instui-color-background-page);--vp-c-bg-alt:var(--instui-color-background-container);--vp-c-bg-elv:var(--instui-color-background-container);--vp-c-bg-soft:var(--instui-color-background-container);--vp-c-border:var(--instui-color-stroke-base);--vp-c-divider:var(--instui-color-stroke-base);--vp-c-gutter:var(--instui-color-stroke-base);--vp-c-default-1:var(--instui-color-text-base);--vp-c-default-2:var(--instui-color-text-muted);--vp-c-default-3:var(--instui-color-stroke-base);--vp-c-default-soft:var(--instui-color-background-muted);--vp-c-brand-1:var(--instui-color-text-interactive-navigation-primary-base);--vp-c-brand-2:var(--instui-color-text-interactive-navigation-primary-hover);--vp-c-brand-3:var(--instui-color-background-info);--vp-c-brand-soft:var(--instui-color-background-info);--vp-c-tip-1:var(--instui-color-text-info);--vp-c-tip-2:var(--instui-color-text-info);--vp-c-tip-3:var(--instui-color-background-info);--vp-c-tip-soft:var(--instui-color-background-info);--vp-c-note-1:var(--instui-color-text-info);--vp-c-note-2:var(--instui-color-text-info);--vp-c-note-3:var(--instui-color-background-info);--vp-c-note-soft:var(--instui-color-background-info);--vp-c-success-1:var(--instui-color-text-success);--vp-c-success-2:var(--instui-color-text-success);--vp-c-success-3:var(--instui-color-background-success);--vp-c-success-soft:var(--instui-color-background-success);--vp-c-important-1:var(--instui-color-text-accent-violet);--vp-c-important-2:var(--instui-color-text-accent-violet);--vp-c-important-3:var(--instui-color-background-accent-violet);--vp-c-important-soft:var(--instui-color-background-accent-violet);--vp-c-warning-1:var(--instui-color-text-warning);--vp-c-warning-2:var(--instui-color-text-warning);--vp-c-warning-3:var(--instui-color-background-warning);--vp-c-warning-soft:var(--instui-color-background-warning);--vp-c-danger-1:var(--instui-color-text-error);--vp-c-danger-2:var(--instui-color-text-error);--vp-c-danger-3:var(--instui-color-background-error);--vp-c-danger-soft:var(--instui-color-background-error);--vp-c-caution-1:var(--instui-color-text-error);--vp-c-caution-2:var(--instui-color-text-error);--vp-c-caution-3:var(--instui-color-background-error);--vp-c-caution-soft:var(--instui-color-background-error);--vp-button-brand-border:transparent;--vp-button-brand-text:var(--instui-color-text-on-color);--vp-button-brand-bg:var(--instui-color-background-info);--vp-button-brand-hover-border:transparent;--vp-button-brand-hover-text:var(--instui-color-text-on-color);--vp-button-brand-hover-bg:var(--instui-color-background-info);--vp-button-brand-active-border:transparent;--vp-button-brand-active-text:var(--instui-color-text-on-color);--vp-button-brand-active-bg:var(--instui-color-background-info);--vp-button-alt-border:transparent;--vp-button-alt-text:var(--instui-color-text-base);--vp-button-alt-bg:var(--instui-color-background-muted);--vp-button-alt-hover-border:transparent;--vp-button-alt-hover-text:var(--instui-color-text-base);--vp-button-alt-hover-bg:var(--instui-color-background-muted);--vp-button-alt-active-border:transparent;--vp-button-alt-active-text:var(--instui-color-text-base);--vp-button-alt-active-bg:var(--instui-color-stroke-base);--vp-custom-block-info-text:var(--instui-color-text-base);--vp-custom-block-info-bg:var(--instui-color-background-muted);--vp-custom-block-info-code-bg:var(--instui-color-background-muted);--vp-custom-block-note-text:var(--instui-color-text-base);--vp-custom-block-note-bg:var(--instui-color-background-muted);--vp-custom-block-note-code-bg:var(--instui-color-background-muted);--vp-custom-block-tip-text:var(--instui-color-text-base);--vp-custom-block-tip-bg:var(--instui-color-background-info);--vp-custom-block-tip-code-bg:var(--instui-color-background-info);--vp-custom-block-important-text:var(--instui-color-text-base);--vp-custom-block-important-bg:var(--instui-color-background-accent-violet);--vp-custom-block-important-code-bg:var(--instui-color-background-accent-violet);--vp-custom-block-warning-text:var(--instui-color-text-base);--vp-custom-block-warning-bg:var(--instui-color-background-warning);--vp-custom-block-warning-code-bg:var(--instui-color-background-warning);--vp-custom-block-danger-text:var(--instui-color-text-base);--vp-custom-block-danger-bg:var(--instui-color-background-error);--vp-custom-block-danger-code-bg:var(--instui-color-background-error);--vp-custom-block-caution-text:var(--instui-color-text-base);--vp-custom-block-caution-bg:var(--instui-color-background-error);--vp-custom-block-caution-code-bg:var(--instui-color-background-error);--vp-custom-block-details-text:var(--instui-color-text-base);--vp-custom-block-details-bg:var(--instui-color-background-muted);--vp-custom-block-details-code-bg:var(--instui-color-background-muted);--vp-input-border-color:var(--instui-color-stroke-base);--vp-input-bg-color:var(--instui-color-background-container);--vp-input-switch-bg-color:var(--instui-color-background-muted);--vp-nav-bg-color:var(--instui-color-background-base);--vp-nav-screen-bg-color:var(--instui-color-background-page);--vp-local-nav-bg-color:var(--instui-color-background-page);--vp-sidebar-bg-color:var(--instui-component-view-background-primary);--vp-badge-info-text:var(--instui-color-text-muted);--vp-badge-info-bg:var(--instui-color-background-muted);--vp-badge-tip-text:var(--instui-color-text-info);--vp-badge-tip-bg:var(--instui-color-background-info);--vp-badge-warning-text:var(--instui-color-text-warning);--vp-badge-warning-bg:var(--instui-color-background-warning);--vp-badge-danger-text:var(--instui-color-text-error);--vp-badge-danger-bg:var(--instui-color-background-error);--vp-carbon-ads-text-color:var(--instui-color-text-base);--vp-carbon-ads-poweredby-color:var(--instui-color-text-muted);--vp-carbon-ads-bg-color:var(--instui-color-background-muted);--vp-carbon-ads-hover-text-color:var(--instui-color-text-interactive-navigation-primary-base);--vp-carbon-ads-hover-poweredby-color:var(--instui-color-text-base);--vp-local-search-bg:var(--instui-color-background-page);--vp-local-search-result-bg:var(--instui-color-background-page);--vp-local-search-result-border:var(--instui-color-stroke-base);--vp-local-search-result-selected-bg:var(--instui-color-background-page);--vp-local-search-result-selected-border:var(--instui-color-text-interactive-navigation-primary-base);--vp-local-search-highlight-bg:var(--instui-color-text-interactive-navigation-primary-base);--vp-local-search-highlight-text:var(--instui-color-text-on-color)}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
//#region src/vitepress-vars.d.ts
|
|
2
|
+
/** VitePress CSS variable → the Instructure token it resolves to. */
|
|
3
|
+
declare const VITEPRESS_TO_INSTUI: Readonly<Record<string, string>>;
|
|
4
|
+
//#endregion
|
|
1
5
|
//#region src/index.d.ts
|
|
2
6
|
/**
|
|
3
7
|
* `@pantoken/vitepress` — theme a VitePress site with Instructure tokens.
|
|
@@ -10,9 +14,7 @@
|
|
|
10
14
|
* @module
|
|
11
15
|
* @beta
|
|
12
16
|
*/
|
|
13
|
-
/**
|
|
14
|
-
declare const VITEPRESS_TO_INSTUI: Readonly<Record<string, string>>;
|
|
15
|
-
/** Options for {@link toVitePressCss}. */
|
|
17
|
+
/** Options for `toVitePressCss`. */
|
|
16
18
|
interface ToVitePressCssOptions {
|
|
17
19
|
/** The selector the variables are emitted under (default `":root"`). */
|
|
18
20
|
selector?: string;
|
|
@@ -20,20 +22,12 @@ interface ToVitePressCssOptions {
|
|
|
20
22
|
/**
|
|
21
23
|
* Emit the VitePress → Instructure CSS-variable bridge.
|
|
22
24
|
*
|
|
23
|
-
*
|
|
24
|
-
* @returns The bridging CSS string.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```ts
|
|
28
|
-
* import { toVitePressCss } from "@pantoken/vitepress";
|
|
25
|
+
* Wraps the variable mappings in the specified selector (default `:root`).
|
|
29
26
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* ```
|
|
27
|
+
* @internal
|
|
28
|
+
* @param options - {@link ToVitePressCssOptions}.
|
|
29
|
+
* @returns The bridging CSS string wrapped in the selector.
|
|
34
30
|
*/
|
|
35
31
|
declare function toVitePressCss(options?: ToVitePressCssOptions): string;
|
|
36
|
-
/** The ready-made bridge stylesheet. */
|
|
37
|
-
declare const vitePressCss: string;
|
|
38
32
|
//#endregion
|
|
39
|
-
export { ToVitePressCssOptions, VITEPRESS_TO_INSTUI,
|
|
33
|
+
export { ToVitePressCssOptions, VITEPRESS_TO_INSTUI, toVitePressCss as default, toVitePressCss };
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
//#region src/vitepress-vars.ts
|
|
5
|
+
/**
|
|
6
|
+
* Parsed VitePress → Instructure token mappings from `vitepress-vars.css`.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
const cssPath = join(__dirname, "vitepress-vars.css");
|
|
13
|
+
/** Raw VitePress CSS variables and documentation. */
|
|
14
|
+
const VITEPRESS_VARS_CSS = readFileSync(cssPath, "utf-8");
|
|
15
|
+
/**
|
|
16
|
+
* Parse the VitePress variables CSS and extract the mappings into a Record.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
* @returns A mapping of `--vp-*` to `--instui-*` tokens.
|
|
20
|
+
*/
|
|
21
|
+
function parseCssToMapping() {
|
|
22
|
+
const mappings = {};
|
|
23
|
+
for (const match of VITEPRESS_VARS_CSS.matchAll(/--vp-([a-z0-9-]+):\s*var\((--instui-[a-z0-9-]+)\)/g)) mappings[`--vp-${match[1]}`] = match[2];
|
|
24
|
+
return Object.freeze(mappings);
|
|
25
|
+
}
|
|
26
|
+
/** VitePress CSS variable → the Instructure token it resolves to. */
|
|
27
|
+
const VITEPRESS_TO_INSTUI = parseCssToMapping();
|
|
28
|
+
//#endregion
|
|
1
29
|
//#region src/index.ts
|
|
2
30
|
/**
|
|
3
31
|
* `@pantoken/vitepress` — theme a VitePress site with Instructure tokens.
|
|
@@ -10,42 +38,22 @@
|
|
|
10
38
|
* @module
|
|
11
39
|
* @beta
|
|
12
40
|
*/
|
|
13
|
-
/** VitePress CSS variable → the Instructure token it resolves to. */
|
|
14
|
-
const VITEPRESS_TO_INSTUI = Object.freeze({
|
|
15
|
-
"--vp-c-bg": "--instui-color-background-base",
|
|
16
|
-
"--vp-c-bg-alt": "--instui-color-background-container",
|
|
17
|
-
"--vp-c-bg-soft": "--instui-color-background-muted",
|
|
18
|
-
"--vp-c-text-1": "--instui-color-text-base",
|
|
19
|
-
"--vp-c-text-2": "--instui-color-text-muted",
|
|
20
|
-
"--vp-c-brand-1": "--instui-color-text-interactive-navigation-primary-base",
|
|
21
|
-
"--vp-c-brand-2": "--instui-color-text-interactive-navigation-primary-hover",
|
|
22
|
-
"--vp-c-brand-3": "--instui-color-background-info",
|
|
23
|
-
"--vp-c-border": "--instui-color-stroke-base",
|
|
24
|
-
"--vp-c-divider": "--instui-color-stroke-base",
|
|
25
|
-
"--vp-c-gutter": "--instui-color-stroke-base",
|
|
26
|
-
"--vp-c-success-1": "--instui-color-background-success",
|
|
27
|
-
"--vp-c-warning-1": "--instui-color-background-warning",
|
|
28
|
-
"--vp-c-danger-1": "--instui-color-background-error"
|
|
29
|
-
});
|
|
30
41
|
/**
|
|
31
42
|
* Emit the VitePress → Instructure CSS-variable bridge.
|
|
32
43
|
*
|
|
33
|
-
*
|
|
34
|
-
* @returns The bridging CSS string.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```ts
|
|
38
|
-
* import { toVitePressCss } from "@pantoken/vitepress";
|
|
44
|
+
* Wraps the variable mappings in the specified selector (default `:root`).
|
|
39
45
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* ```
|
|
46
|
+
* @internal
|
|
47
|
+
* @param options - {@link ToVitePressCssOptions}.
|
|
48
|
+
* @returns The bridging CSS string wrapped in the selector.
|
|
44
49
|
*/
|
|
45
50
|
function toVitePressCss(options = {}) {
|
|
46
|
-
|
|
51
|
+
const selector = options.selector ?? ":root";
|
|
52
|
+
if (selector === ":root") return VITEPRESS_VARS_CSS;
|
|
53
|
+
return `${selector} {\n ${VITEPRESS_VARS_CSS.split("\n").filter((line) => {
|
|
54
|
+
const trimmed = line.trim();
|
|
55
|
+
return trimmed.startsWith("--vp-") && trimmed.includes(":");
|
|
56
|
+
}).map((line) => line.trim()).join("\n ")}\n}\n`;
|
|
47
57
|
}
|
|
48
|
-
/** The ready-made bridge stylesheet. */
|
|
49
|
-
const vitePressCss = toVitePressCss();
|
|
50
58
|
//#endregion
|
|
51
|
-
export { VITEPRESS_TO_INSTUI,
|
|
59
|
+
export { VITEPRESS_TO_INSTUI, toVitePressCss as default, toVitePressCss };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--vp-font-family-base:var(--instui-font-family-base);--vp-c-text-1:var(--instui-color-text-base);--vp-c-text-2:var(--instui-color-text-muted);--vp-c-text-3:var(--instui-color-text-interactive-input-placeholder);--vp-c-bg:var(--instui-color-background-page);--vp-c-bg-alt:var(--instui-color-background-container);--vp-c-bg-elv:var(--instui-color-background-container);--vp-c-bg-soft:var(--instui-color-background-container);--vp-c-border:var(--instui-color-stroke-base);--vp-c-divider:var(--instui-color-stroke-base);--vp-c-gutter:var(--instui-color-stroke-base);--vp-c-default-1:var(--instui-color-text-base);--vp-c-default-2:var(--instui-color-text-muted);--vp-c-default-3:var(--instui-color-stroke-base);--vp-c-default-soft:var(--instui-color-background-muted);--vp-c-brand-1:var(--instui-color-text-interactive-navigation-primary-base);--vp-c-brand-2:var(--instui-color-text-interactive-navigation-primary-hover);--vp-c-brand-3:var(--instui-color-background-info);--vp-c-brand-soft:var(--instui-color-background-info);--vp-c-tip-1:var(--instui-color-text-info);--vp-c-tip-2:var(--instui-color-text-info);--vp-c-tip-3:var(--instui-color-background-info);--vp-c-tip-soft:var(--instui-color-background-info);--vp-c-note-1:var(--instui-color-text-info);--vp-c-note-2:var(--instui-color-text-info);--vp-c-note-3:var(--instui-color-background-info);--vp-c-note-soft:var(--instui-color-background-info);--vp-c-success-1:var(--instui-color-text-success);--vp-c-success-2:var(--instui-color-text-success);--vp-c-success-3:var(--instui-color-background-success);--vp-c-success-soft:var(--instui-color-background-success);--vp-c-important-1:var(--instui-color-text-accent-violet);--vp-c-important-2:var(--instui-color-text-accent-violet);--vp-c-important-3:var(--instui-color-background-accent-violet);--vp-c-important-soft:var(--instui-color-background-accent-violet);--vp-c-warning-1:var(--instui-color-text-warning);--vp-c-warning-2:var(--instui-color-text-warning);--vp-c-warning-3:var(--instui-color-background-warning);--vp-c-warning-soft:var(--instui-color-background-warning);--vp-c-danger-1:var(--instui-color-text-error);--vp-c-danger-2:var(--instui-color-text-error);--vp-c-danger-3:var(--instui-color-background-error);--vp-c-danger-soft:var(--instui-color-background-error);--vp-c-caution-1:var(--instui-color-text-error);--vp-c-caution-2:var(--instui-color-text-error);--vp-c-caution-3:var(--instui-color-background-error);--vp-c-caution-soft:var(--instui-color-background-error);--vp-button-brand-border:transparent;--vp-button-brand-text:var(--instui-color-text-on-color);--vp-button-brand-bg:var(--instui-color-background-info);--vp-button-brand-hover-border:transparent;--vp-button-brand-hover-text:var(--instui-color-text-on-color);--vp-button-brand-hover-bg:var(--instui-color-background-info);--vp-button-brand-active-border:transparent;--vp-button-brand-active-text:var(--instui-color-text-on-color);--vp-button-brand-active-bg:var(--instui-color-background-info);--vp-button-alt-border:transparent;--vp-button-alt-text:var(--instui-color-text-base);--vp-button-alt-bg:var(--instui-color-background-muted);--vp-button-alt-hover-border:transparent;--vp-button-alt-hover-text:var(--instui-color-text-base);--vp-button-alt-hover-bg:var(--instui-color-background-muted);--vp-button-alt-active-border:transparent;--vp-button-alt-active-text:var(--instui-color-text-base);--vp-button-alt-active-bg:var(--instui-color-stroke-base);--vp-custom-block-info-text:var(--instui-color-text-base);--vp-custom-block-info-bg:var(--instui-color-background-muted);--vp-custom-block-info-code-bg:var(--instui-color-background-muted);--vp-custom-block-note-text:var(--instui-color-text-base);--vp-custom-block-note-bg:var(--instui-color-background-muted);--vp-custom-block-note-code-bg:var(--instui-color-background-muted);--vp-custom-block-tip-text:var(--instui-color-text-base);--vp-custom-block-tip-bg:var(--instui-color-background-info);--vp-custom-block-tip-code-bg:var(--instui-color-background-info);--vp-custom-block-important-text:var(--instui-color-text-base);--vp-custom-block-important-bg:var(--instui-color-background-accent-violet);--vp-custom-block-important-code-bg:var(--instui-color-background-accent-violet);--vp-custom-block-warning-text:var(--instui-color-text-base);--vp-custom-block-warning-bg:var(--instui-color-background-warning);--vp-custom-block-warning-code-bg:var(--instui-color-background-warning);--vp-custom-block-danger-text:var(--instui-color-text-base);--vp-custom-block-danger-bg:var(--instui-color-background-error);--vp-custom-block-danger-code-bg:var(--instui-color-background-error);--vp-custom-block-caution-text:var(--instui-color-text-base);--vp-custom-block-caution-bg:var(--instui-color-background-error);--vp-custom-block-caution-code-bg:var(--instui-color-background-error);--vp-custom-block-details-text:var(--instui-color-text-base);--vp-custom-block-details-bg:var(--instui-color-background-muted);--vp-custom-block-details-code-bg:var(--instui-color-background-muted);--vp-input-border-color:var(--instui-color-stroke-base);--vp-input-bg-color:var(--instui-color-background-container);--vp-input-switch-bg-color:var(--instui-color-background-muted);--vp-nav-bg-color:var(--instui-color-background-base);--vp-nav-screen-bg-color:var(--instui-color-background-page);--vp-local-nav-bg-color:var(--instui-color-background-page);--vp-sidebar-bg-color:var(--instui-component-view-background-primary);--vp-badge-info-text:var(--instui-color-text-muted);--vp-badge-info-bg:var(--instui-color-background-muted);--vp-badge-tip-text:var(--instui-color-text-info);--vp-badge-tip-bg:var(--instui-color-background-info);--vp-badge-warning-text:var(--instui-color-text-warning);--vp-badge-warning-bg:var(--instui-color-background-warning);--vp-badge-danger-text:var(--instui-color-text-error);--vp-badge-danger-bg:var(--instui-color-background-error);--vp-carbon-ads-text-color:var(--instui-color-text-base);--vp-carbon-ads-poweredby-color:var(--instui-color-text-muted);--vp-carbon-ads-bg-color:var(--instui-color-background-muted);--vp-carbon-ads-hover-text-color:var(--instui-color-text-interactive-navigation-primary-base);--vp-carbon-ads-hover-poweredby-color:var(--instui-color-text-base);--vp-local-search-bg:var(--instui-color-background-page);--vp-local-search-result-bg:var(--instui-color-background-page);--vp-local-search-result-border:var(--instui-color-stroke-base);--vp-local-search-result-selected-bg:var(--instui-color-background-page);--vp-local-search-result-selected-border:var(--instui-color-text-interactive-navigation-primary-base);--vp-local-search-highlight-bg:var(--instui-color-text-interactive-navigation-primary-base);--vp-local-search-highlight-text:var(--instui-color-text-on-color)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pantoken/vitepress",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Theme a VitePress site with Instructure tokens: maps VitePress --vp-* CSS variables to var(--instui-*).",
|
|
5
5
|
"homepage": "https://pantoken.iywahl.com",
|
|
6
6
|
"bugs": "https://github.com/thedannywahl/pantoken/issues",
|
|
@@ -27,20 +27,14 @@
|
|
|
27
27
|
"access": "public",
|
|
28
28
|
"provenance": true
|
|
29
29
|
},
|
|
30
|
-
"scripts": {
|
|
31
|
-
"generate": "node scripts/generate.ts",
|
|
32
|
-
"dev": "vp run generate && vp pack --watch",
|
|
33
|
-
"test": "vp test",
|
|
34
|
-
"check": "vp check"
|
|
35
|
-
},
|
|
36
30
|
"devDependencies": {
|
|
37
|
-
"@pantoken/components": "
|
|
38
|
-
"@pantoken/tokens": "
|
|
39
|
-
"@pantoken/utils": "
|
|
40
|
-
"@types/node": "
|
|
41
|
-
"typescript": "
|
|
42
|
-
"vite": "
|
|
43
|
-
"vite-plus": "
|
|
31
|
+
"@pantoken/components": "1.0.2",
|
|
32
|
+
"@pantoken/tokens": "0.3.0",
|
|
33
|
+
"@pantoken/utils": "1.0.1",
|
|
34
|
+
"@types/node": "^26.3.0",
|
|
35
|
+
"typescript": "^7.0.2",
|
|
36
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@0.3.0",
|
|
37
|
+
"vite-plus": "0.3.0"
|
|
44
38
|
},
|
|
45
39
|
"engines": {
|
|
46
40
|
"node": ">=22.18.0"
|
|
@@ -48,5 +42,11 @@
|
|
|
48
42
|
"pantoken": {
|
|
49
43
|
"key": "vitepress",
|
|
50
44
|
"kind": "namespace"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"generate": "node scripts/generate.ts",
|
|
48
|
+
"dev": "vp run generate && vp pack --watch",
|
|
49
|
+
"test": "vp test",
|
|
50
|
+
"check": "vp check"
|
|
51
51
|
}
|
|
52
|
-
}
|
|
52
|
+
}
|