diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c2658d7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0078e13..638e5a2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,6 +2,8 @@
🎉 First off, thanks for taking the time to contribute! 🎉
+> Note: if you are here because you want to submit a port/learn how to port Catppuccin to a program please refer to the [documentation](https://github.com/catppuccin/catppuccin/blob/main/docs/contributing.md)
+
## Guidelines
The following is a set of guidelines for contributing to this project. Use your best judgment, and feel free to propose changes to this document in a pull request.
diff --git a/README.md b/README.md
index c9b36f9..058d285 100644
--- a/README.md
+++ b/README.md
@@ -6,16 +6,15 @@
- Catppuccin is a community-driven pastel theme that aims to be the middle ground between low and high contrast themes. It consists of a soothing warm palette with 22 eye-candy colors perfect for coding, designing, and much more! In addition, this repository tracks the development of the actual color palette, organization-wide assets, resources and code samples for maintainers/developers.
+Catppuccin is a community-driven pastel theme that aims to be the middle ground between low and high contrast themes. It consists of 4 soothing warms palette with 26 eye-candy colors each, perfect for coding, designing, and much more! In addition, this repository tracks the development of the actual color palette, the project's documentation, organization-wide assets, resources and code samples for maintainers/developers.
+
+
@@ -92,89 +845,108 @@ To make the best use them please refer to the [Styleguide](https://github.com/ca
Catppuccin is available for various apps and in different formats. Here is a list of them:
#### IDEs/DEs
-- [NeoVim](https://github.com/catppuccin/nvim)
-- [VSCode](https://github.com/catppuccin/vscode)
-- [Sublime Text](https://github.com/catppuccin/sublime-text) (WIP)
-- [Geany](https://github.com/catppuccin/geany)
+
+- [Nvim](https://github.com/catppuccin/nvim)
+- [Vscode](https://github.com/catppuccin/vscode)
+- [Sublime-text](https://github.com/catppuccin/sublime-text)
- [Emacs](https://github.com/catppuccin/emacs)
+- [Jetbrains](https://github.com/catppuccin/jetbrains)
+- [Geany](https://github.com/catppuccin/geany)
+- [Micro](https://github.com/catppuccin/micro)
+- [Vim](https://github.com/catppuccin/vim)
- [Helix](https://github.com/catppuccin/helix)
+- [Kakoune](https://github.com/catppuccin/kakoune)
#### Development
-- [GitHub](https://github.com/catppuccin/github)
-- [Palette](https://github.com/catppuccin/palette)
+- [Template](https://github.com/catppuccin/template)
- [Wallpapers](https://github.com/catppuccin/wallpapers)
+- [Palette](https://github.com/catppuccin/palette)
+- [Toolbox](https://github.com/catppuccin/toolbox)
-#### Terminals
+#### System
-- [Kitty](https://github.com/catppuccin/kitty)
-- [Windows Terminal](https://github.com/catppuccin/windows-terminal)
-- [Alacritty](https://github.com/catppuccin/alacritty)
-- [Gnome-Terminal](https://github.com/catppuccin/gnome-terminal)
-- [Terminator](https://github.com/catppuccin/terminator)
-- [iTerm 2](https://github.com/catppuccin/iterm)
-- [Tmux](https://github.com/catppuccin/tmux)
-- [Termux](https://github.com/catppuccin/termux)
-- [Urxvt](https://github.com/catppuccin/urxvt)
-- [Konsole](https://github.com/catppuccin/konsole)
-- [Zellij](https://github.com/catppuccin/zellij)
-- [WezTerm](https://github.com/catppuccin/WezTerm)
-- [Contour](https://github.com/catppuccin/contour)
-- [ST](https://github.com/catppuccin/st)
-- [XFCE4-Terminal](https://github.com/catppuccin/xfce4-terminal)
-- [Tym](https://github.com/catppuccin/tym)
+- [Xresources](https://github.com/catppuccin/xresources)
+- [Cava](https://github.com/catppuccin/cava)
+- [Gtk](https://github.com/catppuccin/gtk)
+- [Btop](https://github.com/catppuccin/btop)
+- [Mako](https://github.com/catppuccin/mako)
+- [Kde](https://github.com/catppuccin/kde)
+- [Grub](https://github.com/catppuccin/grub)
+- [Sddm](https://github.com/catppuccin/sddm)
+- [Rofi](https://github.com/catppuccin/rofi)
+- [Plank](https://github.com/catppuccin/plank)
+- [Lxqt](https://github.com/catppuccin/lxqt)
+- [Floris-board](https://github.com/catppuccin/floris-board)
+- [Cursors](https://github.com/catppuccin/cursors)
+- [Dunst](https://github.com/catppuccin/dunst)
+- [Papirus-folders](https://github.com/catppuccin/papirus-folders)
+- [Alfred](https://github.com/catppuccin/alfred)
+- [Fzf](https://github.com/catppuccin/fzf)
+- [Conky](https://github.com/catppuccin/conky)
-#### Messaging
+#### Shells
-- [Revolt Chat](https://github.com/catppuccin/revolt)
-- [Discord](https://github.com/catppuccin/discord)
-- [Telegram](https://github.com/catppuccin/telegram)
-- [Mailspring](https://github.com/catppuccin/mailspring)
+- [Fish](https://github.com/catppuccin/fish)
+
+#### Productivity
+
+- [Zathura](https://github.com/catppuccin/zathura)
+- [Github](https://github.com/catppuccin/github)
+
+#### Leisure
+
+- [Spicetify](https://github.com/catppuccin/spicetify)
#### Browsers
-- [FireFox](https://github.com/catppuccin/firefox)
-- [DuckDuckGo](https://github.com/catppuccin/duckduckgo)
-- [Chrome](https://github.com/catppuccin/chrome)
+- [Duckduckgo](https://github.com/catppuccin/duckduckgo)
+- [Firefox](https://github.com/catppuccin/firefox)
- [Vimium](https://github.com/catppuccin/vimium)
-- [MonkeyType](https://github.com/catppuccin/monkeytype)
-- [Libreddit](https://github.com/catppuccin/libreddit)
+- [Chrome](https://github.com/catppuccin/chrome)
- [Whoogle](https://github.com/catppuccin/whoogle)
-- [Dark Reader](https://github.com/catppuccin/dark-reader)
-- [Github Readme Stats](https://github.com/catppuccin/github-readme-stats)
+- [Dark-reader](https://github.com/catppuccin/dark-reader)
-#### Productivity
+#### Messaging
-- [Obsidian](https://github.com/catppuccin/obsidian)
-- [Zathura](https://github.com/catppuccin/zathura)
-- [Monkeytype](https://github.com/catppuccin/monkeytype)
-- [Micro](https://github.com/catppuccin/micro)
-- [Alfred](https://github.com/catppuccin/alfred)
-- [Spicetify](https://github.com/catppuccin/spicetify)
+- [Telegram](https://github.com/catppuccin/telegram)
+- [Revolt](https://github.com/catppuccin/revolt)
+- [Discord](https://github.com/catppuccin/discord)
-#### Shells
+#### Note-taking
-- [Fish](https://github.com/catppuccin/fish)
+- [Obsidian](https://github.com/catppuccin/obsidian)
-#### System
+#### Terminals
-- [GTK](https://github.com/catppuccin/gtk)
-- [KDE](https://github.com/catppuccin/kde)
-- [Conky](https://github.com/catppuccin/conky)
-- [Xresources](https://github.com/catppuccin/xresources)
-- [Cava](https://github.com/catppuccin/cava)
-- [Btop](https://github.com/catppuccin/btop)
-- [Mako](https://github.com/catppuccin/mako)
-- [Dunst](https://github.com/catppuccin/dunst)
+- [Alacritty](https://github.com/catppuccin/alacritty)
+- [St](https://github.com/catppuccin/st)
+- [Hyper](https://github.com/catppuccin/hyper)
+- [Iterm](https://github.com/catppuccin/iterm)
+- [Urxvt](https://github.com/catppuccin/urxvt)
+- [Gnome-terminal](https://github.com/catppuccin/gnome-terminal)
+- [Terminator](https://github.com/catppuccin/terminator)
+- [Kitty](https://github.com/catppuccin/kitty)
+- [Tmux](https://github.com/catppuccin/tmux)
+- [Termux](https://github.com/catppuccin/termux)
+- [Konsole](https://github.com/catppuccin/konsole)
+- [Xfce4-terminal](https://github.com/catppuccin/xfce4-terminal)
+- [Windows-terminal](https://github.com/catppuccin/windows-terminal)
+- [Contour](https://github.com/catppuccin/contour)
+- [Wezterm](https://github.com/catppuccin/wezterm)
+- [Tym](https://github.com/catppuccin/tym)
- [Fcitx5](https://github.com/catppuccin/fcitx5)
-- [GRUB](https://github.com/catppuccin/grub)
-- [Plank](https://github.com/catppuccin/plank)
-- [Papirus Icon Theme Folders](https://github.com/catppuccin/papirus-folders)
-- [Mouse Cursors](https://github.com/catppuccin/cursors)
-- [Rofi](https://github.com/catppuccin/rofi)
-- [FZF](https://github.com/catppuccin/fzf)
-- [SDDM](https://github.com/catppuccin/sddm)
-- [LXQt](https://github.com/catppuccin/lxqt-theme)
+- [Zellij](https://github.com/catppuccin/zellij)
+- [Foot](https://github.com/catppuccin/foot)
+
+#### Social
+
+- [Libreddit](https://github.com/catppuccin/libreddit)
+- [Monkeytype](https://github.com/catppuccin/monkeytype)
+- [Youtube](https://github.com/catppuccin/youtube)
+- [Mailspring](https://github.com/catppuccin/mailspring)
+- [Aliucord](https://github.com/catppuccin/Aliucord)
+- [Github-readme-stats](https://github.com/catppuccin/github-readme-stats)
diff --git a/assets/palette/circles/black0.png b/assets/palette/circles/black0.png
deleted file mode 100644
index b6dfa4a..0000000
Binary files a/assets/palette/circles/black0.png and /dev/null differ
diff --git a/assets/palette/circles/black1.png b/assets/palette/circles/black1.png
deleted file mode 100644
index be66d76..0000000
Binary files a/assets/palette/circles/black1.png and /dev/null differ
diff --git a/assets/palette/circles/black2.png b/assets/palette/circles/black2.png
deleted file mode 100644
index d2d06fb..0000000
Binary files a/assets/palette/circles/black2.png and /dev/null differ
diff --git a/assets/palette/circles/black3.png b/assets/palette/circles/black3.png
deleted file mode 100644
index 4c34102..0000000
Binary files a/assets/palette/circles/black3.png and /dev/null differ
diff --git a/assets/palette/circles/black4.png b/assets/palette/circles/black4.png
deleted file mode 100644
index fa253c4..0000000
Binary files a/assets/palette/circles/black4.png and /dev/null differ
diff --git a/assets/palette/circles/blue.png b/assets/palette/circles/blue.png
deleted file mode 100644
index 768fa78..0000000
Binary files a/assets/palette/circles/blue.png and /dev/null differ
diff --git a/assets/palette/circles/flamingo.png b/assets/palette/circles/flamingo.png
deleted file mode 100644
index 47068c2..0000000
Binary files a/assets/palette/circles/flamingo.png and /dev/null differ
diff --git a/assets/palette/circles/frappe_base.png b/assets/palette/circles/frappe_base.png
new file mode 100644
index 0000000..e0e622a
Binary files /dev/null and b/assets/palette/circles/frappe_base.png differ
diff --git a/assets/palette/circles/frappe_blue.png b/assets/palette/circles/frappe_blue.png
new file mode 100644
index 0000000..7779887
Binary files /dev/null and b/assets/palette/circles/frappe_blue.png differ
diff --git a/assets/palette/circles/frappe_crust.png b/assets/palette/circles/frappe_crust.png
new file mode 100644
index 0000000..10cbce1
Binary files /dev/null and b/assets/palette/circles/frappe_crust.png differ
diff --git a/assets/palette/circles/frappe_flamingo.png b/assets/palette/circles/frappe_flamingo.png
new file mode 100644
index 0000000..071e9bb
Binary files /dev/null and b/assets/palette/circles/frappe_flamingo.png differ
diff --git a/assets/palette/circles/frappe_green.png b/assets/palette/circles/frappe_green.png
new file mode 100644
index 0000000..48cbc83
Binary files /dev/null and b/assets/palette/circles/frappe_green.png differ
diff --git a/assets/palette/circles/frappe_lavender.png b/assets/palette/circles/frappe_lavender.png
new file mode 100644
index 0000000..14950c4
Binary files /dev/null and b/assets/palette/circles/frappe_lavender.png differ
diff --git a/assets/palette/circles/frappe_mantle.png b/assets/palette/circles/frappe_mantle.png
new file mode 100644
index 0000000..ac462cc
Binary files /dev/null and b/assets/palette/circles/frappe_mantle.png differ
diff --git a/assets/palette/circles/frappe_maroon.png b/assets/palette/circles/frappe_maroon.png
new file mode 100644
index 0000000..0c49ff0
Binary files /dev/null and b/assets/palette/circles/frappe_maroon.png differ
diff --git a/assets/palette/circles/frappe_mauve.png b/assets/palette/circles/frappe_mauve.png
new file mode 100644
index 0000000..01b134d
Binary files /dev/null and b/assets/palette/circles/frappe_mauve.png differ
diff --git a/assets/palette/circles/frappe_overlay0.png b/assets/palette/circles/frappe_overlay0.png
new file mode 100644
index 0000000..3e30100
Binary files /dev/null and b/assets/palette/circles/frappe_overlay0.png differ
diff --git a/assets/palette/circles/frappe_overlay1.png b/assets/palette/circles/frappe_overlay1.png
new file mode 100644
index 0000000..f8e4372
Binary files /dev/null and b/assets/palette/circles/frappe_overlay1.png differ
diff --git a/assets/palette/circles/frappe_overlay2.png b/assets/palette/circles/frappe_overlay2.png
new file mode 100644
index 0000000..259a537
Binary files /dev/null and b/assets/palette/circles/frappe_overlay2.png differ
diff --git a/assets/palette/circles/frappe_peach.png b/assets/palette/circles/frappe_peach.png
new file mode 100644
index 0000000..a3dd453
Binary files /dev/null and b/assets/palette/circles/frappe_peach.png differ
diff --git a/assets/palette/circles/frappe_pink.png b/assets/palette/circles/frappe_pink.png
new file mode 100644
index 0000000..c973f78
Binary files /dev/null and b/assets/palette/circles/frappe_pink.png differ
diff --git a/assets/palette/circles/frappe_red.png b/assets/palette/circles/frappe_red.png
new file mode 100644
index 0000000..2a6487b
Binary files /dev/null and b/assets/palette/circles/frappe_red.png differ
diff --git a/assets/palette/circles/frappe_rosewater.png b/assets/palette/circles/frappe_rosewater.png
new file mode 100644
index 0000000..53b9b01
Binary files /dev/null and b/assets/palette/circles/frappe_rosewater.png differ
diff --git a/assets/palette/circles/frappe_sapphire.png b/assets/palette/circles/frappe_sapphire.png
new file mode 100644
index 0000000..25f4700
Binary files /dev/null and b/assets/palette/circles/frappe_sapphire.png differ
diff --git a/assets/palette/circles/frappe_sky.png b/assets/palette/circles/frappe_sky.png
new file mode 100644
index 0000000..ecdbe9b
Binary files /dev/null and b/assets/palette/circles/frappe_sky.png differ
diff --git a/assets/palette/circles/frappe_subtext0.png b/assets/palette/circles/frappe_subtext0.png
new file mode 100644
index 0000000..c9c4f29
Binary files /dev/null and b/assets/palette/circles/frappe_subtext0.png differ
diff --git a/assets/palette/circles/frappe_subtext1.png b/assets/palette/circles/frappe_subtext1.png
new file mode 100644
index 0000000..7386785
Binary files /dev/null and b/assets/palette/circles/frappe_subtext1.png differ
diff --git a/assets/palette/circles/frappe_surface0.png b/assets/palette/circles/frappe_surface0.png
new file mode 100644
index 0000000..850e081
Binary files /dev/null and b/assets/palette/circles/frappe_surface0.png differ
diff --git a/assets/palette/circles/frappe_surface1.png b/assets/palette/circles/frappe_surface1.png
new file mode 100644
index 0000000..b272ac9
Binary files /dev/null and b/assets/palette/circles/frappe_surface1.png differ
diff --git a/assets/palette/circles/frappe_surface2.png b/assets/palette/circles/frappe_surface2.png
new file mode 100644
index 0000000..7f07b06
Binary files /dev/null and b/assets/palette/circles/frappe_surface2.png differ
diff --git a/assets/palette/circles/frappe_teal.png b/assets/palette/circles/frappe_teal.png
new file mode 100644
index 0000000..6c1e6c8
Binary files /dev/null and b/assets/palette/circles/frappe_teal.png differ
diff --git a/assets/palette/circles/frappe_text.png b/assets/palette/circles/frappe_text.png
new file mode 100644
index 0000000..02fd23a
Binary files /dev/null and b/assets/palette/circles/frappe_text.png differ
diff --git a/assets/palette/circles/frappe_yellow.png b/assets/palette/circles/frappe_yellow.png
new file mode 100644
index 0000000..6c78760
Binary files /dev/null and b/assets/palette/circles/frappe_yellow.png differ
diff --git a/assets/palette/circles/gray0.png b/assets/palette/circles/gray0.png
deleted file mode 100644
index 53853a2..0000000
Binary files a/assets/palette/circles/gray0.png and /dev/null differ
diff --git a/assets/palette/circles/gray1.png b/assets/palette/circles/gray1.png
deleted file mode 100644
index b005adb..0000000
Binary files a/assets/palette/circles/gray1.png and /dev/null differ
diff --git a/assets/palette/circles/gray2.png b/assets/palette/circles/gray2.png
deleted file mode 100644
index 00691e1..0000000
Binary files a/assets/palette/circles/gray2.png and /dev/null differ
diff --git a/assets/palette/circles/green.png b/assets/palette/circles/green.png
deleted file mode 100644
index 066f0a8..0000000
Binary files a/assets/palette/circles/green.png and /dev/null differ
diff --git a/assets/palette/circles/latte_base.png b/assets/palette/circles/latte_base.png
new file mode 100644
index 0000000..ff6b16b
Binary files /dev/null and b/assets/palette/circles/latte_base.png differ
diff --git a/assets/palette/circles/latte_blue.png b/assets/palette/circles/latte_blue.png
new file mode 100644
index 0000000..ce2f7d7
Binary files /dev/null and b/assets/palette/circles/latte_blue.png differ
diff --git a/assets/palette/circles/latte_crust.png b/assets/palette/circles/latte_crust.png
new file mode 100644
index 0000000..5d194e3
Binary files /dev/null and b/assets/palette/circles/latte_crust.png differ
diff --git a/assets/palette/circles/latte_flamingo.png b/assets/palette/circles/latte_flamingo.png
new file mode 100644
index 0000000..9b98d09
Binary files /dev/null and b/assets/palette/circles/latte_flamingo.png differ
diff --git a/assets/palette/circles/latte_green.png b/assets/palette/circles/latte_green.png
new file mode 100644
index 0000000..5a2ffb8
Binary files /dev/null and b/assets/palette/circles/latte_green.png differ
diff --git a/assets/palette/circles/latte_lavender.png b/assets/palette/circles/latte_lavender.png
new file mode 100644
index 0000000..e0c9cf3
Binary files /dev/null and b/assets/palette/circles/latte_lavender.png differ
diff --git a/assets/palette/circles/latte_mantle.png b/assets/palette/circles/latte_mantle.png
new file mode 100644
index 0000000..c6079a8
Binary files /dev/null and b/assets/palette/circles/latte_mantle.png differ
diff --git a/assets/palette/circles/latte_maroon.png b/assets/palette/circles/latte_maroon.png
new file mode 100644
index 0000000..710ff9b
Binary files /dev/null and b/assets/palette/circles/latte_maroon.png differ
diff --git a/assets/palette/circles/latte_mauve.png b/assets/palette/circles/latte_mauve.png
new file mode 100644
index 0000000..3b24932
Binary files /dev/null and b/assets/palette/circles/latte_mauve.png differ
diff --git a/assets/palette/circles/latte_overlay0.png b/assets/palette/circles/latte_overlay0.png
new file mode 100644
index 0000000..fe09048
Binary files /dev/null and b/assets/palette/circles/latte_overlay0.png differ
diff --git a/assets/palette/circles/latte_overlay1.png b/assets/palette/circles/latte_overlay1.png
new file mode 100644
index 0000000..0105500
Binary files /dev/null and b/assets/palette/circles/latte_overlay1.png differ
diff --git a/assets/palette/circles/latte_overlay2.png b/assets/palette/circles/latte_overlay2.png
new file mode 100644
index 0000000..3d9fe68
Binary files /dev/null and b/assets/palette/circles/latte_overlay2.png differ
diff --git a/assets/palette/circles/latte_peach.png b/assets/palette/circles/latte_peach.png
new file mode 100644
index 0000000..b46e917
Binary files /dev/null and b/assets/palette/circles/latte_peach.png differ
diff --git a/assets/palette/circles/latte_pink.png b/assets/palette/circles/latte_pink.png
new file mode 100644
index 0000000..b074fbb
Binary files /dev/null and b/assets/palette/circles/latte_pink.png differ
diff --git a/assets/palette/circles/latte_red.png b/assets/palette/circles/latte_red.png
new file mode 100644
index 0000000..156e4bd
Binary files /dev/null and b/assets/palette/circles/latte_red.png differ
diff --git a/assets/palette/circles/latte_rosewater.png b/assets/palette/circles/latte_rosewater.png
new file mode 100644
index 0000000..0ceafa0
Binary files /dev/null and b/assets/palette/circles/latte_rosewater.png differ
diff --git a/assets/palette/circles/latte_sapphire.png b/assets/palette/circles/latte_sapphire.png
new file mode 100644
index 0000000..effade3
Binary files /dev/null and b/assets/palette/circles/latte_sapphire.png differ
diff --git a/assets/palette/circles/latte_sky.png b/assets/palette/circles/latte_sky.png
new file mode 100644
index 0000000..ba2624d
Binary files /dev/null and b/assets/palette/circles/latte_sky.png differ
diff --git a/assets/palette/circles/latte_subtext0.png b/assets/palette/circles/latte_subtext0.png
new file mode 100644
index 0000000..8611869
Binary files /dev/null and b/assets/palette/circles/latte_subtext0.png differ
diff --git a/assets/palette/circles/latte_subtext1.png b/assets/palette/circles/latte_subtext1.png
new file mode 100644
index 0000000..a496a4f
Binary files /dev/null and b/assets/palette/circles/latte_subtext1.png differ
diff --git a/assets/palette/circles/latte_surface0.png b/assets/palette/circles/latte_surface0.png
new file mode 100644
index 0000000..fe6955e
Binary files /dev/null and b/assets/palette/circles/latte_surface0.png differ
diff --git a/assets/palette/circles/latte_surface1.png b/assets/palette/circles/latte_surface1.png
new file mode 100644
index 0000000..b575af6
Binary files /dev/null and b/assets/palette/circles/latte_surface1.png differ
diff --git a/assets/palette/circles/latte_surface2.png b/assets/palette/circles/latte_surface2.png
new file mode 100644
index 0000000..ee8b3f1
Binary files /dev/null and b/assets/palette/circles/latte_surface2.png differ
diff --git a/assets/palette/circles/latte_teal.png b/assets/palette/circles/latte_teal.png
new file mode 100644
index 0000000..e58c998
Binary files /dev/null and b/assets/palette/circles/latte_teal.png differ
diff --git a/assets/palette/circles/latte_text.png b/assets/palette/circles/latte_text.png
new file mode 100644
index 0000000..d0f68e7
Binary files /dev/null and b/assets/palette/circles/latte_text.png differ
diff --git a/assets/palette/circles/latte_yellow.png b/assets/palette/circles/latte_yellow.png
new file mode 100644
index 0000000..2ed9eb2
Binary files /dev/null and b/assets/palette/circles/latte_yellow.png differ
diff --git a/assets/palette/circles/lavender.png b/assets/palette/circles/lavender.png
deleted file mode 100644
index 7a741bf..0000000
Binary files a/assets/palette/circles/lavender.png and /dev/null differ
diff --git a/assets/palette/circles/macchiato_base.png b/assets/palette/circles/macchiato_base.png
new file mode 100644
index 0000000..e70ec6f
Binary files /dev/null and b/assets/palette/circles/macchiato_base.png differ
diff --git a/assets/palette/circles/macchiato_blue.png b/assets/palette/circles/macchiato_blue.png
new file mode 100644
index 0000000..e58c33b
Binary files /dev/null and b/assets/palette/circles/macchiato_blue.png differ
diff --git a/assets/palette/circles/macchiato_crust.png b/assets/palette/circles/macchiato_crust.png
new file mode 100644
index 0000000..14e5e17
Binary files /dev/null and b/assets/palette/circles/macchiato_crust.png differ
diff --git a/assets/palette/circles/macchiato_flamingo.png b/assets/palette/circles/macchiato_flamingo.png
new file mode 100644
index 0000000..230268c
Binary files /dev/null and b/assets/palette/circles/macchiato_flamingo.png differ
diff --git a/assets/palette/circles/macchiato_green.png b/assets/palette/circles/macchiato_green.png
new file mode 100644
index 0000000..bd67b99
Binary files /dev/null and b/assets/palette/circles/macchiato_green.png differ
diff --git a/assets/palette/circles/macchiato_lavender.png b/assets/palette/circles/macchiato_lavender.png
new file mode 100644
index 0000000..5d7958d
Binary files /dev/null and b/assets/palette/circles/macchiato_lavender.png differ
diff --git a/assets/palette/circles/macchiato_mantle.png b/assets/palette/circles/macchiato_mantle.png
new file mode 100644
index 0000000..c5aa743
Binary files /dev/null and b/assets/palette/circles/macchiato_mantle.png differ
diff --git a/assets/palette/circles/macchiato_maroon.png b/assets/palette/circles/macchiato_maroon.png
new file mode 100644
index 0000000..379f6fb
Binary files /dev/null and b/assets/palette/circles/macchiato_maroon.png differ
diff --git a/assets/palette/circles/macchiato_mauve.png b/assets/palette/circles/macchiato_mauve.png
new file mode 100644
index 0000000..497bf59
Binary files /dev/null and b/assets/palette/circles/macchiato_mauve.png differ
diff --git a/assets/palette/circles/macchiato_overlay0.png b/assets/palette/circles/macchiato_overlay0.png
new file mode 100644
index 0000000..96bce39
Binary files /dev/null and b/assets/palette/circles/macchiato_overlay0.png differ
diff --git a/assets/palette/circles/macchiato_overlay1.png b/assets/palette/circles/macchiato_overlay1.png
new file mode 100644
index 0000000..55d4387
Binary files /dev/null and b/assets/palette/circles/macchiato_overlay1.png differ
diff --git a/assets/palette/circles/macchiato_overlay2.png b/assets/palette/circles/macchiato_overlay2.png
new file mode 100644
index 0000000..847796b
Binary files /dev/null and b/assets/palette/circles/macchiato_overlay2.png differ
diff --git a/assets/palette/circles/macchiato_peach.png b/assets/palette/circles/macchiato_peach.png
new file mode 100644
index 0000000..0b66f63
Binary files /dev/null and b/assets/palette/circles/macchiato_peach.png differ
diff --git a/assets/palette/circles/macchiato_pink.png b/assets/palette/circles/macchiato_pink.png
new file mode 100644
index 0000000..4bcd900
Binary files /dev/null and b/assets/palette/circles/macchiato_pink.png differ
diff --git a/assets/palette/circles/macchiato_red.png b/assets/palette/circles/macchiato_red.png
new file mode 100644
index 0000000..ca4126a
Binary files /dev/null and b/assets/palette/circles/macchiato_red.png differ
diff --git a/assets/palette/circles/macchiato_rosewater.png b/assets/palette/circles/macchiato_rosewater.png
new file mode 100644
index 0000000..8985bf5
Binary files /dev/null and b/assets/palette/circles/macchiato_rosewater.png differ
diff --git a/assets/palette/circles/macchiato_sapphire.png b/assets/palette/circles/macchiato_sapphire.png
new file mode 100644
index 0000000..48f281b
Binary files /dev/null and b/assets/palette/circles/macchiato_sapphire.png differ
diff --git a/assets/palette/circles/macchiato_sky.png b/assets/palette/circles/macchiato_sky.png
new file mode 100644
index 0000000..ad9c6f6
Binary files /dev/null and b/assets/palette/circles/macchiato_sky.png differ
diff --git a/assets/palette/circles/macchiato_subtext0.png b/assets/palette/circles/macchiato_subtext0.png
new file mode 100644
index 0000000..ca912cd
Binary files /dev/null and b/assets/palette/circles/macchiato_subtext0.png differ
diff --git a/assets/palette/circles/macchiato_subtext1.png b/assets/palette/circles/macchiato_subtext1.png
new file mode 100644
index 0000000..b65b190
Binary files /dev/null and b/assets/palette/circles/macchiato_subtext1.png differ
diff --git a/assets/palette/circles/macchiato_surface0.png b/assets/palette/circles/macchiato_surface0.png
new file mode 100644
index 0000000..6d50741
Binary files /dev/null and b/assets/palette/circles/macchiato_surface0.png differ
diff --git a/assets/palette/circles/macchiato_surface1.png b/assets/palette/circles/macchiato_surface1.png
new file mode 100644
index 0000000..65a7e3e
Binary files /dev/null and b/assets/palette/circles/macchiato_surface1.png differ
diff --git a/assets/palette/circles/macchiato_surface2.png b/assets/palette/circles/macchiato_surface2.png
new file mode 100644
index 0000000..c806825
Binary files /dev/null and b/assets/palette/circles/macchiato_surface2.png differ
diff --git a/assets/palette/circles/macchiato_teal.png b/assets/palette/circles/macchiato_teal.png
new file mode 100644
index 0000000..805733a
Binary files /dev/null and b/assets/palette/circles/macchiato_teal.png differ
diff --git a/assets/palette/circles/macchiato_text.png b/assets/palette/circles/macchiato_text.png
new file mode 100644
index 0000000..f80e82c
Binary files /dev/null and b/assets/palette/circles/macchiato_text.png differ
diff --git a/assets/palette/circles/macchiato_yellow.png b/assets/palette/circles/macchiato_yellow.png
new file mode 100644
index 0000000..0d96180
Binary files /dev/null and b/assets/palette/circles/macchiato_yellow.png differ
diff --git a/assets/palette/circles/maroon.png b/assets/palette/circles/maroon.png
deleted file mode 100644
index c4bb185..0000000
Binary files a/assets/palette/circles/maroon.png and /dev/null differ
diff --git a/assets/palette/circles/mauve.png b/assets/palette/circles/mauve.png
deleted file mode 100644
index 055971a..0000000
Binary files a/assets/palette/circles/mauve.png and /dev/null differ
diff --git a/assets/palette/circles/mocha_base.png b/assets/palette/circles/mocha_base.png
new file mode 100644
index 0000000..3f24ca5
Binary files /dev/null and b/assets/palette/circles/mocha_base.png differ
diff --git a/assets/palette/circles/mocha_blue.png b/assets/palette/circles/mocha_blue.png
new file mode 100644
index 0000000..daf3659
Binary files /dev/null and b/assets/palette/circles/mocha_blue.png differ
diff --git a/assets/palette/circles/mocha_crust.png b/assets/palette/circles/mocha_crust.png
new file mode 100644
index 0000000..f24472c
Binary files /dev/null and b/assets/palette/circles/mocha_crust.png differ
diff --git a/assets/palette/circles/mocha_flamingo.png b/assets/palette/circles/mocha_flamingo.png
new file mode 100644
index 0000000..c20d0d5
Binary files /dev/null and b/assets/palette/circles/mocha_flamingo.png differ
diff --git a/assets/palette/circles/mocha_green.png b/assets/palette/circles/mocha_green.png
new file mode 100644
index 0000000..fd39a1d
Binary files /dev/null and b/assets/palette/circles/mocha_green.png differ
diff --git a/assets/palette/circles/mocha_lavender.png b/assets/palette/circles/mocha_lavender.png
new file mode 100644
index 0000000..1cd74fc
Binary files /dev/null and b/assets/palette/circles/mocha_lavender.png differ
diff --git a/assets/palette/circles/mocha_mantle.png b/assets/palette/circles/mocha_mantle.png
new file mode 100644
index 0000000..dbe8e5c
Binary files /dev/null and b/assets/palette/circles/mocha_mantle.png differ
diff --git a/assets/palette/circles/mocha_maroon.png b/assets/palette/circles/mocha_maroon.png
new file mode 100644
index 0000000..99f8e96
Binary files /dev/null and b/assets/palette/circles/mocha_maroon.png differ
diff --git a/assets/palette/circles/mocha_mauve.png b/assets/palette/circles/mocha_mauve.png
new file mode 100644
index 0000000..9767fd0
Binary files /dev/null and b/assets/palette/circles/mocha_mauve.png differ
diff --git a/assets/palette/circles/mocha_overlay0.png b/assets/palette/circles/mocha_overlay0.png
new file mode 100644
index 0000000..f2b26ac
Binary files /dev/null and b/assets/palette/circles/mocha_overlay0.png differ
diff --git a/assets/palette/circles/mocha_overlay1.png b/assets/palette/circles/mocha_overlay1.png
new file mode 100644
index 0000000..a2efaf0
Binary files /dev/null and b/assets/palette/circles/mocha_overlay1.png differ
diff --git a/assets/palette/circles/mocha_overlay2.png b/assets/palette/circles/mocha_overlay2.png
new file mode 100644
index 0000000..c80c571
Binary files /dev/null and b/assets/palette/circles/mocha_overlay2.png differ
diff --git a/assets/palette/circles/mocha_peach.png b/assets/palette/circles/mocha_peach.png
new file mode 100644
index 0000000..8b02b71
Binary files /dev/null and b/assets/palette/circles/mocha_peach.png differ
diff --git a/assets/palette/circles/mocha_pink.png b/assets/palette/circles/mocha_pink.png
new file mode 100644
index 0000000..09997fb
Binary files /dev/null and b/assets/palette/circles/mocha_pink.png differ
diff --git a/assets/palette/circles/mocha_red.png b/assets/palette/circles/mocha_red.png
new file mode 100644
index 0000000..93df3f3
Binary files /dev/null and b/assets/palette/circles/mocha_red.png differ
diff --git a/assets/palette/circles/mocha_rosewater.png b/assets/palette/circles/mocha_rosewater.png
new file mode 100644
index 0000000..391b314
Binary files /dev/null and b/assets/palette/circles/mocha_rosewater.png differ
diff --git a/assets/palette/circles/mocha_sapphire.png b/assets/palette/circles/mocha_sapphire.png
new file mode 100644
index 0000000..c98fdf0
Binary files /dev/null and b/assets/palette/circles/mocha_sapphire.png differ
diff --git a/assets/palette/circles/mocha_sky.png b/assets/palette/circles/mocha_sky.png
new file mode 100644
index 0000000..4552cfa
Binary files /dev/null and b/assets/palette/circles/mocha_sky.png differ
diff --git a/assets/palette/circles/mocha_subtext0.png b/assets/palette/circles/mocha_subtext0.png
new file mode 100644
index 0000000..55befda
Binary files /dev/null and b/assets/palette/circles/mocha_subtext0.png differ
diff --git a/assets/palette/circles/mocha_subtext1.png b/assets/palette/circles/mocha_subtext1.png
new file mode 100644
index 0000000..fd528a4
Binary files /dev/null and b/assets/palette/circles/mocha_subtext1.png differ
diff --git a/assets/palette/circles/mocha_surface0.png b/assets/palette/circles/mocha_surface0.png
new file mode 100644
index 0000000..063a0b6
Binary files /dev/null and b/assets/palette/circles/mocha_surface0.png differ
diff --git a/assets/palette/circles/mocha_surface1.png b/assets/palette/circles/mocha_surface1.png
new file mode 100644
index 0000000..727a06a
Binary files /dev/null and b/assets/palette/circles/mocha_surface1.png differ
diff --git a/assets/palette/circles/mocha_surface2.png b/assets/palette/circles/mocha_surface2.png
new file mode 100644
index 0000000..be03753
Binary files /dev/null and b/assets/palette/circles/mocha_surface2.png differ
diff --git a/assets/palette/circles/mocha_teal.png b/assets/palette/circles/mocha_teal.png
new file mode 100644
index 0000000..d3b7120
Binary files /dev/null and b/assets/palette/circles/mocha_teal.png differ
diff --git a/assets/palette/circles/mocha_text.png b/assets/palette/circles/mocha_text.png
new file mode 100644
index 0000000..b1af564
Binary files /dev/null and b/assets/palette/circles/mocha_text.png differ
diff --git a/assets/palette/circles/mocha_yellow.png b/assets/palette/circles/mocha_yellow.png
new file mode 100644
index 0000000..1ba11b4
Binary files /dev/null and b/assets/palette/circles/mocha_yellow.png differ
diff --git a/assets/palette/circles/peach.png b/assets/palette/circles/peach.png
deleted file mode 100644
index 013a414..0000000
Binary files a/assets/palette/circles/peach.png and /dev/null differ
diff --git a/assets/palette/circles/pink.png b/assets/palette/circles/pink.png
deleted file mode 100644
index fd38941..0000000
Binary files a/assets/palette/circles/pink.png and /dev/null differ
diff --git a/assets/palette/circles/red.png b/assets/palette/circles/red.png
deleted file mode 100644
index 75e7a05..0000000
Binary files a/assets/palette/circles/red.png and /dev/null differ
diff --git a/assets/palette/circles/rosewater.png b/assets/palette/circles/rosewater.png
deleted file mode 100644
index 69432de..0000000
Binary files a/assets/palette/circles/rosewater.png and /dev/null differ
diff --git a/assets/palette/circles/sky.png b/assets/palette/circles/sky.png
deleted file mode 100644
index b6ef67a..0000000
Binary files a/assets/palette/circles/sky.png and /dev/null differ
diff --git a/assets/palette/circles/teal.png b/assets/palette/circles/teal.png
deleted file mode 100644
index 1b816d7..0000000
Binary files a/assets/palette/circles/teal.png and /dev/null differ
diff --git a/assets/palette/circles/white.png b/assets/palette/circles/white.png
deleted file mode 100644
index 143fe73..0000000
Binary files a/assets/palette/circles/white.png and /dev/null differ
diff --git a/assets/palette/circles/yellow.png b/assets/palette/circles/yellow.png
deleted file mode 100644
index 36b591d..0000000
Binary files a/assets/palette/circles/yellow.png and /dev/null differ
diff --git a/assets/palette/demo.png b/assets/palette/demo.png
new file mode 100644
index 0000000..dc780aa
Binary files /dev/null and b/assets/palette/demo.png differ
diff --git a/assets/palette/infrastructure.png b/assets/palette/infrastructure.png
new file mode 100644
index 0000000..9e00213
Binary files /dev/null and b/assets/palette/infrastructure.png differ
diff --git a/assets/palette/macchiato.png b/assets/palette/macchiato.png
new file mode 100644
index 0000000..db3b9d4
Binary files /dev/null and b/assets/palette/macchiato.png differ
diff --git a/assets/social/discord.png b/assets/social/discord.png
new file mode 100644
index 0000000..c71fe21
Binary files /dev/null and b/assets/social/discord.png differ
diff --git a/assets/social/github.png b/assets/social/github.png
new file mode 100644
index 0000000..d55cc42
Binary files /dev/null and b/assets/social/github.png differ
diff --git a/assets/social/npm.svg b/assets/social/npm.svg
new file mode 100644
index 0000000..56fa729
--- /dev/null
+++ b/assets/social/npm.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..72abeff
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,32 @@
+
+
📄 Docs
+
+
+
+ Documentation for Catppuccin, the soothing pastel theme for the high-spirited!
+
+
+
+Catppuccin is a community-driven pastel theme that aims to be the middle ground between low and high contrast themes. It consists of 4 soothing warms palette with 26 eye-candy colors each, perfect for coding, designing, and much more! In addition, this repository tracks the development of the actual color palette, organization-wide assets, resources and code samples for maintainers/developers.
+
+
+
+
+
+
+
+
+
+
+### 🪴 Index
+
++ [Specifications](https://github.com/catppuccin/catppuccin/blob/dev/docs/specs.md): properties of the palettes
++ [Integrating](https://github.com/catppuccin/catppuccin/blob/dev/docs/integrating.md): how to implement Catppuccin in your own projects
++ [Style Guide](https://github.com/catppuccin/catppuccin/blob/dev/docs/style-guide.md): a guide on how to properly use the palettes
++ [Contributing](https://github.com/catppuccin/catppuccin/blob/dev/docs/contributing.md): creating Catppuccin ports
+
+
+
+
+
diff --git a/docs/contributing.md b/docs/contributing.md
new file mode 100644
index 0000000..393f88c
--- /dev/null
+++ b/docs/contributing.md
@@ -0,0 +1,49 @@
+
+
🤝 Contributing
+
+
+
+ Creating Catppuccin ports
+
+
+
+
+### What's a port?
+
+A port is basically an adaptation of Catppuccin's palettes for an app to use. Think of it as a colorscheme for a program that styles every UI component it consists of!
+
+
+
+### Creation
+
+You can create ports using [this](https://github.com/catppuccin/template) public template as a blueprint. However, you must **not** create it the traditional way (by clicking **Use this template**), because this leaves a _small_ tag under the repos' name that says `generated from `. To avoid this, follow the instructions below:
+
+1. Create the repo and leave it empty
+2. Add this template as a remote: `git remote add template git@github.com:catppuccin/template.git`
+3. Pull from it: `git pull template main --depth=1`
+4. Delete the remote: `git remote remove template`
+
+
+
+### Styling!
+
+Although you just created the repo successfully, it's important to style it properly to ensure consistency:
+
+- The name of the repo must be the simplest version of the app's name (e.g `nvim` instead of `NeoVim`)
+- Put the images under `assets/`. If there are a bunch of them consider [creating an empty branch](https://gist.github.com/joncardasis/e6494afd538a400722545163eb2e1fa5) (e.g. `assets`) and storing them there.
+- Format the repo's description as "`` "Soothing pastel theme for App"
+- Add `catppuccin` to the topics.
+- Ensure uppercase meta files (e.g. `README.md`)
+- Don't add health files (e.g. `CODE_OF_CONDUCTS.md`, `SUPPORT.md`), those are organization-wide files stored [here](https://github.com/catppuccin/.github).
+
+
+
+### Tools
+
+Since Catppuccin is available in 4 palettes it's understandable that it may not be quite as easy to make 4 versions of a port. So to help with that, we have built a bunch of tools to make life easier when creating Catppuccin ports. You'll find them all (with instructions) under our [catppuccin/toolbox](https://github.com/catppuccin/toolbox) repo. Particularly, for the initial problem stated, you'd want to take a look at the [Puccinier](https://github.com/catppuccin/toolbox#%EF%B8%8F-puccinier) tool.
+
+
+
+### Submission
+
+Open an issue under the main repo and fill out the information requested on the "[port request](https://github.com/catppuccin/catppuccin/issues/new?assignees=&labels=port+request&template=port-request.md&title=App)". It's recommended to also share the port in our [Discord server](https://discord.gg/r6Mdz5dpFc) beforehand so that other members of the community can give their opinion on it and hopefully improve it.
diff --git a/docs/integration.md b/docs/integration.md
new file mode 100644
index 0000000..a876a15
--- /dev/null
+++ b/docs/integration.md
@@ -0,0 +1,30 @@
+
+
📦 Integration
+
+
+
+ How to implement Catppuccin in your own projects
+
+
+
+
+### How to
+
+Catppuccin comes in many formats to cover a wide range of project types and tech stacks. Its palettes have especially been designed for UI elements and code syntax highlighting often found in projects build with web technologies like websites; hence why we have a dedicated repository for storing the various formats and presentation of the palettes: [catppuccin/palette](https://github.com/catppuccin/palette).
+
+
+
+### Web Development
+
+Since Catppuccin is heavily used in web technology based projects, it's main installation method is therefore npm, the Node.js package manager.
+Install and add it as production dependency by running `npm` from the command line:
+
+```
+npm install --save @catppuccin/palette
+```
+
+
+
+### Graphical Design
+
+Color swatches are simply a palette showing a variety of shades of the same color. Here, Catppuccin has various "swatches" in different formats to be used in software ranging from Adobe Products to graphical design apps such as Figma and InkScape. You can find them under [catppuccin/palette](https://github.com/catppuccin/palette).
diff --git a/docs/specs.md b/docs/specs.md
new file mode 100644
index 0000000..4dd924b
--- /dev/null
+++ b/docs/specs.md
@@ -0,0 +1,27 @@
+
+
🍙 Specs
+
+
+
+ Properties of the palettes
+
+
+
+
+### Palettes
+
+Catppuccin consists of four named color palettes: Latte, Frappe, Macchiato, Mocha. It palette has its use-cases and a reason to exist! (so to speak). Every palette has labels (AKA colors) that provide different syntactic meanings and color effects for dark & bright ambiance designs. Each one of them was created aming for a clear, uncluttered and elegant designs following a minimal and flat style pattern.
+
+
+
+### Subpalettes
+
+Every palette consits of two subpalettes: one monochromatic and one analogous. The Monochromatic subpalette consists of different shades of a purple-gray and a very pale lavender and is often used for UI components. Whereas the Analogous palette has every color in the rainbow and is often used for syntactic elements.
+
+
+
+### Catppuccin Infrastructure
+
+
+
+
diff --git a/docs/style-guide.md b/docs/style-guide.md
new file mode 100644
index 0000000..0b91883
--- /dev/null
+++ b/docs/style-guide.md
@@ -0,0 +1,22 @@
+
+
🖌️ Style Guide
+
+
+
+
+ A guide on how to properly use the palettes
+
+
+
+
+### General Usage
+
+These are general use cases for most of the palette relevant for user interfaces. The `function` expresses a very vague use-case of a color and the `scope example` is how it is generally used:
+
+
+
+### Terminals
+
+
+
+### Code Editors
diff --git a/resources/palettes_gen.sh b/resources/palettes_gen.sh
new file mode 100755
index 0000000..a4d527a
--- /dev/null
+++ b/resources/palettes_gen.sh
@@ -0,0 +1,267 @@
+#!/bin/bash
+
+# ---- sys
+NC=" \033[0m"
+coerce=false
+lowercase=false
+file=""
+prefix=""
+original_palette=""
+verbosity=0
+
+script_help=$(
+ cat < [arg]
+
+Flags:
+ -f, --file specify file (mandatory)
+ -v, --verbose increase verbosity by 1
+ -o, --original-palette the palette used in the based file (given by --file)
+ -l, --lowercase replaces with lowercased hex codes
+ -c, --coerce force the creation of new palette files (useful when those files already exist)
+ -p, --prefix specify which prefix to use for the hex codes. Surround it with double quotes if needed.
+ -h, --help see this message
+EOF
+)
+
+palette_names=(
+ storm
+ dusk
+ dawn
+)
+
+declare -A dusk=(
+ [white]='C6D0F5'
+ [peach]='FAB387'
+ [gray2]='ADB5D8'
+ [black0]='101019'
+ [black1]='181825'
+ [gray1]='959BBA'
+ [blue]='90C1FB'
+ [green]='A6E3A1'
+ [sapphire]='74C7EC'
+ [black3]='323044'
+ [black4]='4B4B62'
+ [black5]='63657F'
+ [teal]='94E2D5'
+ [gray0]='7C809D'
+ [rosewater]='F5E0DC'
+ [maroon]='EBA0AC'
+ [lavender]='C9CBFF'
+ [yellow]='F9E2AF'
+ [flamingo]='F2CDCD'
+ [sky]='89DCEB'
+ [mauve]='CBA6F7'
+ [black2]='1E1E2E'
+ [pink]='F5C2E7'
+ [red]='F38BA8'
+)
+
+declare -A storm=(
+ [white]='C5CFF5'
+ [sapphire]='34C3DC'
+ [pink]='F5BFE7'
+ [rosewater]='F5DFDA'
+ [black2]='24273A'
+ [flamingo]='F2CBCB'
+ [red]='F67E98'
+ [maroon]='F1949B'
+ [peach]='FEA571'
+ [black1]='1F2233'
+ [sky]='89DCFD'
+ [gray1]='8289AA'
+ [lavender]='C2CBFE'
+ [black3]='2B3045'
+ [green]='A1DF8E'
+ [black4]='3E435E'
+ [yellow]='F1D8A4'
+ [gray2]='A6AFD2'
+ [blue]='83ABF9'
+ [black0]='1A1B26'
+ [gray0]='5F6587'
+ [teal]='85E0D1'
+ [black5]='4F5473'
+ [mauve]='C59FF6'
+)
+
+declare -A dawn=(
+ [black4]='CCC9D1'
+ [peach]='FE640B'
+ [black3]='E6E3E5'
+ [pink]='EC83D0'
+ [black0]='D3D0D2'
+ [black1]='EDEDED'
+ [blue]='1D65F5'
+ [lavender]='7287FD'
+ [mauve]='822FEE'
+ [black5]='B5B1BF'
+ [maroon]='E63B4A'
+ [rosewater]='DC907F'
+ [green]='40A02B'
+ [gray1]='86819C'
+ [black2]='FBF8F4'
+ [white]='575279'
+ [gray2]='6E6A8B'
+ [sky]='04A5E5'
+ [sapphire]='209FB5'
+ [red]='BB0D33'
+ [teal]='179299'
+ [gray0]='9D99AE'
+ [flamingo]='DD7878'
+ [yellow]='E49320'
+)
+
+function prompt() {
+ local type=${1} # error, success, warning, info
+ local message=${2}
+ local modifiers=${3}
+
+ case ${type} in
+ "-e" | "--error")
+ printf "\033[0;31m${modifiers}ERROR: %s${NC}\n" "${message}"
+ ;;
+ "-s" | "--success")
+ printf "\033[0;32m${modifiers}SUCCESS: %s${NC}\n" "${message}"
+ ;;
+ "-w" | "--warning")
+ printf "\033[0;33m${modifiers}WARNING: %s${NC}\n" "${message}"
+ ;;
+ *)
+ if [[ $1 == "-i" || $1 == "--info" ]]; then
+ type="${message}"
+ message=${modifiers}
+ fi
+ printf "\033[0;34m${message}INFO: %s${NC}\n" "${type}"
+ ;;
+ esac
+}
+
+function verbose_print() {
+ # $1 = message
+ # $2 = modifiers
+ if [[ $verbosity -gt 0 ]]; then
+ printf "\033[3;29m${2}%s${NC}\n" "${1}"
+ fi
+}
+
+function make_capitalization_char() {
+ capitalization_char='\U' # uppercase
+ [[ $lowercase == true ]] && {
+ capitalization_char='\L' # lowercase
+ }
+}
+
+function generate_palettes() {
+
+ new_array=()
+ for val in "${palette_names[@]}"; do
+ [[ "$val" != "$original_palette" ]] && new_array+=("$val")
+ done
+ palette_names=("${new_array[@]}")
+ unset new_array
+
+ for palette in "${palette_names[@]}"; do
+ printf " GENERATING: \033[3;32m%s${NC}\n" "$palette"
+
+ local dest_file="${palette}.${file##*.}"
+ prompt -w "creating $dest_file..." "\t• "
+
+ if [[ -f $dest_file ]]; then
+ if [[ ! $coerce == true ]]; then
+ prompt -e "file '$dest_file' already exists. Use --coerce to force it's replacement" "\t• "
+ exit 1
+ fi
+ fi
+
+ cp "$file" "$dest_file"
+ prompt -i "replacing colors..." "\t• "
+
+ for clr in "${!storm[@]}"; do
+ local curr_color=$(eval "echo \${${original_palette}[$clr]}")
+ local dest_color=$(eval "echo \${${palette}[${clr}]}")
+ verbose_print "modifying ${clr}" "\t + "
+ sed -i "s/${curr_color}/${prefix}${capitalization_char}${dest_color}/gI" "$dest_file"
+ done
+ done
+}
+
+function detect_original_palette() {
+ prompt -w "detecting palette..."
+ original_palette=""
+ for palette in "${palette_names[@]}"; do
+ for clr in "${!storm[@]}"; do
+ if grep --ignore-case -q $(eval "echo \${${palette}[${clr}]}") "$file"; then
+ original_palette=$palette
+ break 2
+ fi
+ done
+ done
+
+ if [[ $original_palette == "" ]]; then
+ prompt -e "couldn't detect the original palette"
+ exit 1
+ else
+ prompt -s "detected '$original_palette'"
+ fi
+}
+
+main() {
+ if [[ ! "$#" -gt 0 ]]; then
+ prompt -e "you must provide at least the file you want to generate the missing palettes from"
+ else
+ local help_used=false
+ while [ "$1" != "" ]; do
+ case $1 in
+ -v | --verbose)
+ verbosity=$((verbosity + 1))
+ ;;
+ -f | --file)
+ file=$2
+ shift
+ ;;
+ -o | --original-palette)
+ original_palette=$2
+ shift
+ ;;
+ -l | --lowercase)
+ lowercase=true
+ ;;
+ -c | --coerce)
+ coerce=true
+ ;;
+ -p | --prefix)
+ prefix=$2
+ shift
+ ;;
+ -h | --help)
+ help_used=true
+ echo "$script_help"
+ ;;
+ *)
+ echo "ERROR: command ($1) not recognized"
+ ;;
+ esac
+ shift
+ done
+
+ if [[ $help_used != "true" ]]; then
+ if [[ $file != "" ]]; then
+ [[ -f $file ]] && {
+ prompt "updating colors..."
+ make_capitalization_char
+ if [[ $original_palette != "storm" && $original_palette != "dusk" && $original_palette != "dawn" ]]; then
+ detect_original_palette
+ fi
+ generate_palettes
+ } || prompt -e "file ${1} does not exist"
+ else
+ prompt -e "please profive a file to use a base using the --file flag"
+ fi
+ fi
+ fi
+}
+
+main "$@"
diff --git a/samples/coffee/0.coffee b/samples/coffee/0.coffee
new file mode 100644
index 0000000..ff3fb9c
--- /dev/null
+++ b/samples/coffee/0.coffee
@@ -0,0 +1,71 @@
+document.addEventListener("DOMContentLoaded", () =>
+ document.querySelectorAll("pre.msh .js-copy").forEach((copy) =>
+ copy.addEventListener("click", (e) =>
+ e.preventDefault()
+
+ content = copy.nextElementSibling
+ range = document.createRange()
+ range.selectNode(content)
+
+ window.getSelection().addRange(range)
+
+ try
+ successful = document.execCommand("copy")
+ copy.innerHTML = "Copied!"
+
+ setTimeout =>
+ copy.innerHTML = "Copy"
+ , 1500
+
+ msg = successful ? "successful" : "unsuccessful"
+ console.log({ msg })
+
+ catch error
+ console.log("Oops, unable to copy...")
+
+ window.getSelection().removeAllRanges()
+ )
+ )
+
+ document.querySelectorAll("pre.msh code[data-language='html'] span.line").forEach((line) =>
+ content = line.innerHTML
+ content = content.replaceAll(/(<(\/?))(.+?(?=>))(>)/g, "$1$3$4")
+
+ line.innerHTML = content
+ pink = line.querySelector(".c2")
+
+ if pink != null
+ content = pink.innerHTML.split(" ")
+ content = content.map((part, index) =>
+ if index > 0
+ if part.includes("=")
+ part = part.replaceAll(/(.+?)(".*)/g, "$1$2")
+ else
+ part = part.replaceAll(/(.*\S)/g, "$1")
+ part
+ ).join(" ")
+ pink.innerHTML = content
+ return
+ )
+
+ document.querySelectorAll("pre.msh code[data-language='css'] span.line").forEach((line) =>
+ content = line.innerHTML
+
+ if line.dataset.indent
+ content = content.split(/:/g).map((part, index) =>
+ if index == 0
+ part.replace(/(.*)/g, "$1")
+ else
+ part = part.replaceAll(/(\S.+?(?=\s|;))/g, "$1")
+ part = part.replaceAll(/(".+?(?=,|\s|;))/g, "$1")
+ part = part.replaceAll(/(url\(.+?(?=\s|;))/g, "$1")
+ part.replaceAll(/\((.+?(?=\)))/g, "($1")
+ ).join(":")
+ else
+ content = content.replaceAll(/(.+?(?=,|\s|{}))/g, "$1")
+ content = content.replaceAll(/((\.|:).+?(?=\s))/g, "$1")
+
+ line.innerHTML = content
+ return
+ )
+)
diff --git a/samples/css/0.css b/samples/css/0.css
new file mode 100644
index 0000000..a12e179
--- /dev/null
+++ b/samples/css/0.css
@@ -0,0 +1,32 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400);
+@import url("chrome://communicator/skin/");
+@import 'custom.css' screen and (max-width: 768px);
+
+@font-face {
+ font-family: 'Galada-Regular';
+ src: url('Galada-Regular.ttf');
+ font-style: normal;
+ font-weight: 400;
+}
+
+/* Applies to the entire body of the HTML document (except where overridden by more specific
+selectors). */
+body {
+ margin: 25px;
+ background-color: rgb(240,240,240);
+ font-family: arial, sans-serif;
+ font-size: 14px;
+}
+
+/* Applies to all