@rose-pine/build
v0.9.1
Published
Theme generator for Rosé Pine
Downloads
37
Readme
Theme generator for Rosé Pine
Usage
Start by creating a template file. This will look similar to your desired theme file, replacing colour values with Rosé Pine variables. For example, #ebbcba
would now be $rose
.
$ npx @rose-pine/build --help
Usage
$ npx @rose-pine/build [options]
Options
-t, --template Path to template file
-o, --output Directory for generated files
-p, --prefix Variable prefix
-f, --format Color output format
-s, --strip-spaces Strip spaces in output
-w, --watch Rebuild when template changes
Examples
$ npx @rose-pine/build -w
$ npx @rose-pine/build -s -f rgb
$ npx @rose-pine/build -t ./template.yml -o ./
Color formats
| Name | Example |
| ------------ | -------------------- |
| hex | #ebbcba
|
| hex-ns | ebbcba
|
| rgb | 235, 188, 186
|
| rgb-ns | 235 188 186
|
| rgb-array | [235, 188, 186]
|
| rgb-function | rgb(235, 188, 186)
|
| hsl | 2, 55%, 83%
|
| hsl-ns | 2 55% 83%
|
| hsl-array | [2, 55%, 83%]
|
| hsl-function | hsl(2, 55%, 83%)
|
Variables
By default, variables are prefixed with
$
All values from @rose-pine/palette are available as well as the following.
Metadata
// template.json
{
"id": "$id",
"name": "$name",
"description": "$description",
"type": "$type",
}
// rose-pine.json
{
"id": "rose-pine",
"name": "Rosé Pine",
"description": "All natural pine, faux fur and a bit of soho vibes for the classy minimalist",
"type": "dark",
}
// rose-pine-moon.json
{
"id": "rose-pine-moon",
"name": "Rosé Pine Moon",
"description": "All natural pine, faux fur and a bit of soho vibes for the classy minimalist",
"type": "dark",
}
// rose-pine-dawn.json
{
"id": "rose-pine-dawn",
"name": "Rosé Pine Dawn",
"description": "All natural pine, faux fur and a bit of soho vibes for the classy minimalist",
"type": "light",
}
Custom values per variant
Use different values for each variant, formatted as
$(main|moon|dawn)
Named colors
// template.json
{ "accent": "$($rose|$iris|$pine)" }
// rose-pine.json
{ "accent": "#ebbcba" }
// rose-pine-moon.json
{ "accent": "#c4a7e7" }
// rose-pine-dawn.json
{ "accent": "#286983" }
Strings
// template.json
{ "order": "$(Caffè|Cappuccino|Marocchino)" }
// rose-pine.json
{ "order": "Caffè" }
// rose-pine-moon.json
{ "order": "Cappuccino" }
// rose-pine-dawn.json
{ "order": "Marocchino" }