From c3de1c6916c227e7cce0b3848d4932353995df88 Mon Sep 17 00:00:00 2001 From: Pocco81 Date: Wed, 25 May 2022 14:06:29 -0500 Subject: [PATCH] doc: infrastucture --- assets/palette/infrastructure.png | Bin 0 -> 37546 bytes docs/specs.md | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 assets/palette/infrastructure.png diff --git a/assets/palette/infrastructure.png b/assets/palette/infrastructure.png new file mode 100644 index 0000000000000000000000000000000000000000..9e00213ee7bb4b78f09b74dbbec273ac650d836d GIT binary patch literal 37546 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 +

🍙 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. + +#### Monochromatic Subpalette + +The primary colors from the +