An open API service indexing awesome lists of open source software.

https://github.com/rose-pine/build

Theme generator for Rosé Pine
https://github.com/rose-pine/build

Last synced: 3 months ago
JSON representation

Theme generator for Rosé Pine

Awesome Lists containing this project

README

          



Rosé Pine Build

All natural pine, faux fur and a bit of soho vibes for the classy minimalist





> 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-ansi | `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](https://github.com/rose-pine/palette) are available as well as the following.

### Metadata

```jsonc
// 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

```jsonc
// template.json
{ "accent": "$($rose|$iris|$pine)" }

// rose-pine.json
{ "accent": "#ebbcba" }

// rose-pine-moon.json
{ "accent": "#c4a7e7" }

// rose-pine-dawn.json
{ "accent": "#286983" }
```

### Strings

```jsonc
// template.json
{ "order": "$(Caffè|Cappuccino|Marocchino)" }

// rose-pine.json
{ "order": "Caffè" }

// rose-pine-moon.json
{ "order": "Cappuccino" }

// rose-pine-dawn.json
{ "order": "Marocchino" }
```

## Related

- [bloom](https://github.com/rose-pine/rose-pine-bloom) - Work-in-progress alternative build tool written in Go