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
- Host: GitHub
- URL: https://github.com/rose-pine/build
- Owner: rose-pine
- License: mit
- Created: 2022-04-27T19:32:01.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-14T14:29:39.000Z (10 months ago)
- Last Synced: 2025-10-13T04:32:08.090Z (3 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@rose-pine/build
- Size: 53.7 KB
- Stars: 28
- Watchers: 2
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: license
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