0.1.7 • Published 1 year ago

vite-dynamic-theme v0.1.7

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

vite-dynamic-theme

base vite-plugin-theme

English | 中文

Vite plugin for dynamically changing the theme color of the interface

After vite processes the css and dynamically analyzes the color value in the css text that matches the plug-in configuration, extract the specified color style code from all output css files. And create a app-theme-style.css file containing only color styles, dynamically insert it into the specified position (the bottom of the default body), and then replace the custom style/component library style color used with the new color, In order to achieve the purpose of dynamically changing the theme color of the project

Install (yarn or npm)

node version: >=12.0.0

vite version: >=3.0.0

yarn add vite-dynamic-theme -D

or

npm i vite-dynamic-theme -D

Usage

  • Config plugin in vite.config.ts. In this way, the required functions can be introduced as needed
import { defineConfig, Plugin } from 'vite';
import vue from '@vitejs/plugin-vue';

import { viteThemePlugin, mixLighten, mixDarken, tinycolor } from 'vite-dynamic-theme';

export default defineConfig({
  plugins: [
    vue(),
    viteThemePlugin({
      // Match the color to be modified
       colorVariables: [],
    });
  ],
});

Options

viteThemePlugin(Options)

Options

paramtypedefaultdesc
colorVariablesstring[]-If css contains the color value in the array, css will be extracted
wrapperCssSelectorstring-Universal outer selector. You can pass in'body' and other selectors to increase the level
resolveSelector(selector:string)=>string-Custom selector conversion
customerExtractVariable(css:string)=>string-Custom css matching color extraction logic
fileNamestringapp-theme-style.hash.cssFile name output after packaging
injectTobody or head or body-prependbodyThe css loaded in the production environment is injected into the label body

Sample project

Vben Admin

Reference project

License

MIT

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago