Catppuccin's development tools
A set of software tools by Catppuccin developers, for Catppuccin developers
- π· Palette Builder
- π Circular Thumbnails Generator
- ποΈ InkCat
- π¨ DocPuccin
- πΌοΈ Puccinier
- π¨ Catwalk
- π Contrast Test
- π½ Meow
- βοΈ Nix
Export the colors of every Catppuccin flavour into various formats. Currently it supports:
- CSS
- Json
Usage:
$ git clone https://github.com/catppuccin/toolbox.git && cd toolbox/palette_builder
$ npm install # fetch dependencies
$ npm start <format> <out_file>
Where:
<format>
: can bejson
orcss
+<out_file>
: is an optional parameter. In its absence the new format is printed to the console
Generate circular thumbnails of the palettes
Usage:
$ python3 -m pip install --upgrade pip
$ python3 -m pip install --upgrade Pillow
$ python3 __init__.py <--show>
Where:
--show
: is an optional parameter that displays the PNGs in your device's image previewing software instead saving them into anout/
directory
InkCat is a minimal and versatile solution for displaying colors from each one of Catppuccin's flavours in your terminal. This program also allows you to copy them to your clipboard.
Usage:
$ npm install -g @catppuccin/inkcat && inkcat --help # Install command
$ npm uninstall -g @catppuccin/inkcat # Uninstall command
Note: use
sudo
if needed
Help info:
Usage:
#1: inkcat <palette(s)> <color(s)>
#2: inkcat <flags>
Args:
<palette(s)> Palettes separated by commas (e.g. frappe,latte)
<color(s)> Colors separated by commas (e.g. peach,rosewater,lavender)
Flags:
-h,--help See this help message
-n,--no-copy Don't copy the colors to the clipboard
-f,--format Specify format (hex, hsl, rgb)
Exmaples:
#1: inkcat frappe,latte peach,rosewater,lavender
#2: inkcat macchiato base,yellow --no-copy
#3: inkcat mocha
#4: inkcat mocha maroon --format rgb
Testing:
$ npm install # fetch dependencies
$ make link # to link the binary locally
$ make unlink # to unlink the binary
Note: use
sudo
if needed
Docpuccin is a small program that fetches health files needed per project type
Usage:
$ npm install -g @catppuccin/docpuccin && docpuccin --help # Install command
$ npm uninstall -g @catppuccin/docpuccin # Uninstall command
Note: use
sudo
if needed
Help info:
Usage:
#1: docpuccin <health_file_type> <file(s)>
#2: docpuccin <flags>
Args:
<health_file_type> Check the "Available health files" section
<file(s)> Health files to be downloaded. They can be comma separated (e.g. npmrc,npmignore)
Flags:
-h,--help See this help message
Exmaples:
#1: docpuccin npm npmignore
#2: docpuccin repo license
#3: docpuccin any makefile,editorconfig`
To see the available health files please download the tool and run it with the --help
flag.
Testing:
$ git clone https://github.com/catppuccin/toolbox.git && cd toolbox/docpuccin/
$ npm install # fetch dependencies
$ make link # to link the binary locally
$ make unlink # to unlink the binary
Note: use
sudo
if needed
If you wrote a v1 or v2 Catppuccin theme, you may use Puccinier to automatically create the the rest of the v2 themes. Puccinier supports the conversion of properly formatted hex, rgb, and hsl colors (case insensitive).
puccinier 0.1.2
ap-1 <anishp0828@gmail.com>
Generate the rest of the Catppuccin palettes off of a template file written in one of them
USAGE:
puccinier --source <FILE> --output <TYPES>...
OPTIONS:
-h, --help Print help information
-o, --output <TYPES>... Set the themes (space-separated) to generate from the source file
[possible values: latte, frappe, macchiato, mocha]
-s, --source <FILE> Set the source file to convert
-V, --version Print version information
You can find binaries built for x86_64-unknown-linux-gnu
, x86_64-apple-darwin
, and x86_64-pc-windows-msvc
in the releases tab. Alternatively, you can use cargo:
cargo install puccinier
To build from source, you must use cargo:
git clone https://github.com/catppuccin/toolbox && cd toolbox/puccinier
cargo install --path .
A sweet program that takes in four showcase images and displays them all at once.
Install with pipx (preferred):
$ pipx install catppuccin-catwalk
$ catwalk <images>
Install using pip (inside of a virtual environment):
$ python3 -m pip install --upgrade catppuccin-catwalk
$ catwalk <images>
# if `catwalk` doesn't work for you, please try:
$ python3 -m catwalk
Parameter | Description |
---|---|
images |
4 images to merge into one. REQUIRED. All other parameters are optional. |
--layout |
Choose the style of the showcase image. Available options are composite (default), grid , and stacked . |
--gap |
Size of the gap between the grid layout. Defaults to 20px. |
--background |
Places the screenshot on a background colour of your choosing. Provide a hex value like "#89dceb". |
--margin |
Defines the margin around the screenshot. Defaults to 40px. |
--radius |
Sets the corner radius for the window. Defaults to 50px. |
--outer |
Set the radius for the background image. Defaults to the value of --radius . |
--shadow |
Enables a drop shadow behind the screenshot, and sets and the strength of the blur. Defaults to 12, if no value is passed. |
--rainbow |
Adds a rainbow background. Will override the --background setting. |
--preview |
Previews the output with your image viewer, instead of saving it. |
--help |
A summary of the available parameters. |
Test Catppuccin's flavours compliance with modern web contrast standards
Usage:
$ git clone https://github.com/catppuccin/toolbox.git && cd toolbox/contrast_test/
$ npm install # fetch dependencies
$ npm start
"Waouh Waouh", said the French Poodle
Add the following to your flake.nix
:
{
inputs = {
catppuccin-toolbox.url = "github:catppuccin/toolbox";
};
outputs = {nixpkgs, catppuccin-toolbox, ...}: {
nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
modules = [
{
environment.systemPackages = [
catppuccin-toolbox.packages.${pkgs.system}.puccinier
];
}
];
};
};
}
}
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin-toolbox.url = "github:catppuccin/toolbox";
};
outputs = {nixpkgs, home-manager, catppuccin-toolbox, ...}: {
homeConfigurations."user@hostname" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
{
home.packages = [
catppuccin-toolbox.packages.${pkgs.system}.puccinier
];
}
];
};
};
}
Add the following to your configuration:
{config, pkgs, ...}: let
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
catppuccin-toolbox = (import flake-compat {
src = builtins.fetchTarball "https://github.com/catppuccin/toolbox/archive/main.tar.gz";
}).defaultNix;
in {
# Home Manager
home.packages = [
catppuccin-toolbox.packages.${pkgs.system}.puccinier
];
# Nix
environment.systemPackages = [
catppuccin-toolbox.packages.${pkgs.system}.puccinier
];
}
Copyright Β© 2021-present Catppuccin Org