What is tailwind-config-viewer?
The tailwind-config-viewer npm package is a tool that allows developers to visualize their Tailwind CSS configuration. It provides a web interface to explore the configuration settings, making it easier to understand and debug the Tailwind setup.
What are tailwind-config-viewer's main functionalities?
Start the Viewer
This command starts the Tailwind Config Viewer server, which opens a web interface to visualize the Tailwind CSS configuration. The interface provides a detailed view of the theme, variants, and plugins defined in the Tailwind configuration file.
npx tailwind-config-viewer
Custom Configuration Path
This command allows you to specify a custom path to your Tailwind CSS configuration file. This is useful if your configuration file is not located in the default path.
npx tailwind-config-viewer --config ./path/to/tailwind.config.js
Port Configuration
This command allows you to specify a custom port for the Tailwind Config Viewer server. By default, it runs on port 3000, but you can change it to any available port.
npx tailwind-config-viewer --port 8080
Other packages similar to tailwind-config-viewer
tailwindcss-debug-screens
tailwindcss-debug-screens is a plugin for Tailwind CSS that adds a debug screen to your application, showing the current screen size and breakpoint. While it provides useful debugging information, it does not offer the comprehensive configuration visualization that tailwind-config-viewer does.
tailwindcss-plugins
tailwindcss-plugins is a collection of plugins for Tailwind CSS that extend its functionality. While it enhances the capabilities of Tailwind CSS, it does not provide a visualization tool for the configuration like tailwind-config-viewer.
Tailwind Config Viewer
Tailwind Config Viewer is a local UI tool for visualizing your Tailwind CSS configuration file. Keep it open during development to quickly reference custom Tailwind values/classes. Easily navigate between sections of the configuration and copy class names to your clipboard by clicking on them.
Demo using the default Tailwind config
Installation
NPX
Run npx tailwind-config-viewer
from within the directory that contains your Tailwind configuration file.
Globally
npm i tailwind-config-viewer -g
Locally
npm i tailwind-config-viewer -D
When installing locally, you can add an entry into the package.json scripts field to run and open the viewer:
"scripts": {
"tailwind-config-viewer": "tailwind-config-viewer -o"
}
Usage
Run the tailwind-config-viewer
command from within the directory that contains your Tailwind configuration file.
Commands
serve (default)
The serve
command is the default command. Running tailwind-config-viewer
is the same as tailwind-config-viewer serve
.
Options
Option | Default | Description |
---|
-p, --port | 3000 | The port to run the viewer on. If occupied it will use next available port. |
-o, --open | false | Open the viewer in default browser |
-c, --config | tailwind.config.js | Path to your Tailwind config file |
export
Exports the viewer to a directory that can be uploaded to a static host. It accepts the output directory path as its sole argument.
tailwind-config-viewer export ./output-dir
If an output directory isn't specificied it will be output to tcv-build
.
Options
Option | Default | Description |
---|
-c, --config | tailwind.config.js | Path to your Tailwind config file |
Configuration
You can declare a configViewer
property in your Tailwind configuration's theme object in order to customize certain aspects of the config viewer.
module.exports = {
theme: {
configViewer: {
}
}
}
themeReplacements
In some instances you may want to replace values used in your Tailwind config when it is displayed in the config viewer. One scenario where this is necessary is when you are using CSS variables for your theme values:
module.exports = {
theme: {
colors: {
black: 'var(--color-black)'
}
}
}
In order for the config viewer to properly display this color, you need to provide a replacement for it:
module.exports = {
theme: {
colors: {
black: 'var(--color-black)'
},
configViewer: {
themeReplacements: {
'var(--color-black)': '#000000'
}
}
}
}
You can replace any value in your theme for display in the config viewer by setting the corresponding valueToFind: valueToReplace
in the themeReplacements
object.
baseFontSize
The config viewer displays the pixel equivalent of any rem values. By default baseFontSize
is set to 16 to mirror the default root element font size in most browsers. If you plan on using a different root font size in your project, you should set the value of baseFontSize
to match.
module.exports = {
theme: {
configViewer: {
baseFontSize: 20
}
}
}
typographyExample
You can change the default sentence used in the typography sections (Font Size, Letter Spacing etc.)
by setting the typographyExample
option:
module.exports = {
theme: {
configViewer: {
typographyExample: 'The quick brown fox jumps over the lazy dog.'
}
}
}
fonts
You can add custom fonts to the config viewer that are used in your Tailwind config by passing in a font url as a string, or an array of font urls.
Notes
- If multiple font weights are provided in a single url (see example) only the last weight will be used.
- If fonts are in your Tailwind theme config but urls are not provided they will not display correctly (currently with no warning).
- Fonts can only be provided via urls not local files. If this something you need, please open a ticket or a pull request.
module.exports = {
theme: {
configViewer: {
fonts: "https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"
fonts: [
"https://fonts.googleapis.com/css2?family=Open+Sans&display=swap",
"https://fonts.googleapis.com/css2?family=Roboto:wght@100;500&display=swap"
]
}
]
}
}
}
Usage Tips
Shift+Click
on the Tailwind class names to copy multiple to your clipboard at once
Roadmap