Antd Custom Theme Generator Save

A simple way to create an antd theme css file with zero configuration.

Project README

Antd custom theme generator

A simple way to create an antd theme css file with zero configuration.

Ant Design provides plenty of UI components, styled with less. You can customize the default theme modifying less variables (check their doc for multiple ways to achieve this), but the main issue being that you don't have a simple way to create a static .css file with zero configuration.

This package was created with Antd Design v4.6.6 and aims to ease the theme's customization process without having to install more dependencies yourself, set up less or eject your React project.

Usage

Generate custom theme styles

  1. Define your custom theme creating a .less file overriding Antd's variables (by default: ./custom-theme.less).

    • Example:
      @primary-color: #9063cd;
      @success-color: #a8d3c4;
      
  2. Generate custom theme's .css file.

    • Option A:
      Without installing this package:
      $ npx @emeks/antd-custom-theme-generator
      
      output > ./custom-theme.css
      
    • Option B:
      Installing this package as a dev dependency:
      $ npm i -E --save-dev @emeks/antd-custom-theme-generator
      
      Then generating your theme:
      $ generate-theme
      
      default output > ./custom-theme.css
      
  3. Replace "antd/dist/antd.css" import in your project, with the output file of your custom theme generated by this script (by default: ./custom-theme.css).

Options

Name Default Description
--verbose or -v Prints a little bit more info for debugging purposes
--watch or -w Keeps script running, recompile on <customThemeFilePath> change
--antd ./node_modules/antd Path to the antd library directory
--theme default Antd theme you want to use as base (e.g. dark or compact) - Check available options
<customThemeFilePath> ./custom-theme.less Path to the custom .less file with Antd variables overriden
<generatedThemeFilePath> ./custom-theme.css Output Path to the compiled .css file containing your new theme

Notes:
The order of paths is important.

  $ generate-theme [--verbose] [--watch] [--antd <dir>] [--theme <theme>] [<customThemeFilePath>] [<generatedThemeFilePath>]

Examples

  • Generate a custom theme using dark theme as base:
    $ npx @emeks/antd-custom-theme-generator --theme dark
    
  • Generate a custom theme using default theme as base specifying non default paths:
    $ npx @emeks/antd-custom-theme-generator ./styles/custom-theme.less ./styles/custom-theme.css
    

FAQ

Q1: Which variables can I override?

You may override any variable exposed by Antd in this file.

Q2: Should I run this command every time I change my custom-theme.less file?

No, you could pass the -w argument to let the script observe <customThemeFilePath> file and recompile it if it changes.

Development

  • Inside package folder, link it globally:
    $ npm link
    
  • Use the package in your project (with antd already installed and a <customThemeFilePath> file created as well):
    $ generate-theme
    
Open Source Agenda is not affiliated with "Antd Custom Theme Generator" Project. README Source: emeks-studio/antd-custom-theme-generator

Open Source Agenda Badge

Open Source Agenda Rating