├── .npmrc ├── LICENSE ├── README.md ├── index.js ├── package.json └── plugins.json /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Rosé Pine 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

Rosé Pine for Hyper

4 |

5 | 6 |

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

7 | 8 |

9 | 10 | 11 | 12 |

13 | 14 | ## Usage 15 | 16 | ```sh 17 | hyper i hyper-rose-pine 18 | ``` 19 | 20 | or 21 | 22 | ```javascript 23 | // Hyper config, e.g. ~/.hyper.js 24 | plugins: ["hyper-rose-pine"], 25 | ``` 26 | 27 | ## Options 28 | 29 | ```javascript 30 | config: { 31 | theme: { 32 | // @usage 'main' | 'moon' | 'dawn' 33 | // @default 'main' 34 | variant: 'dawn', 35 | 36 | // Optionally, override Rosé Pine palette per variant 37 | // https://rosepinetheme.com/palette 38 | main: {}, 39 | moon: {}, 40 | dawn: { 41 | muted: '#dfff00' 42 | } 43 | } 44 | } 45 | ``` 46 | 47 | ## Gallery 48 | 49 | **Rosé Pine** 50 | 51 | ![Hyper with Rosé Pine](https://user-images.githubusercontent.com/1474821/216485794-402f4eac-7978-4846-bb6f-527078759b81.png) 52 | 53 | **Rosé Pine Moon** 54 | 55 | ![Hyper with Rosé Pine Moon](https://user-images.githubusercontent.com/1474821/216485807-dc3537e6-a716-415b-b314-1a21eb807fc5.png) 56 | 57 | **Rosé Pine Dawn** 58 | 59 | ![Hyper with Rosé Pine Dawn](https://user-images.githubusercontent.com/1474821/216485812-7f098984-e2cf-4ffd-973d-bec615a93128.png) 60 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const variants = { 2 | main: { 3 | base: "#191724", 4 | surface: "#1f1d2e", 5 | overlay: "#26233a", 6 | muted: "#6e6a86", 7 | subtle: "#908caa", 8 | text: "#e0def4", 9 | love: "#eb6f92", 10 | gold: "#f6c177", 11 | rose: "#ebbcba", 12 | pine: "#31748f", 13 | foam: "#9ccfd8", 14 | iris: "#c4a7e7", 15 | highlightLow: "#21202e", 16 | highlightMed: "#403d52", 17 | highlightHigh: "#524f67", 18 | }, 19 | moon: { 20 | base: "#232136", 21 | surface: "#2a273f", 22 | overlay: "#393552", 23 | muted: "#6e6a86", 24 | subtle: "#908caa", 25 | text: "#e0def4", 26 | love: "#eb6f92", 27 | gold: "#f6c177", 28 | rose: "#ea9a97", 29 | pine: "#3e8fb0", 30 | foam: "#9ccfd8", 31 | iris: "#c4a7e7", 32 | highlightLow: "#2a283e", 33 | highlightMed: "#44415a", 34 | highlightHigh: "#56526e", 35 | }, 36 | dawn: { 37 | base: "#faf4ed", 38 | surface: "#fffaf3", 39 | overlay: "#f2e9de", 40 | muted: "#9893a5", 41 | subtle: "#797593", 42 | text: "#575279", 43 | love: "#b4637a", 44 | gold: "#ea9d34", 45 | rose: "#d7827e", 46 | pine: "#286983", 47 | foam: "#56949f", 48 | iris: "#907aa9", 49 | highlightLow: "#f4ede8", 50 | highlightMed: "#dfdad9", 51 | highlightHigh: "#cecacd", 52 | }, 53 | }; 54 | 55 | const variantNames = ["main", "moon", "dawn"]; 56 | 57 | exports.decorateConfig = (config) => { 58 | const variant = 59 | (config.theme && 60 | variantNames.includes(config.theme.variant) && 61 | config.theme.variant) || 62 | "main"; 63 | const palette = variants[variant]; 64 | 65 | if ( 66 | config.theme && 67 | Object.keys(config.theme).includes(variant) && 68 | typeof config.theme[variant] === "object" 69 | ) { 70 | for (const param of Object.keys(config.theme[variant])) { 71 | palette[param] = config.theme[variant][param]; 72 | } 73 | } 74 | 75 | const colors = { 76 | black: palette.overlay, 77 | lightBlack: palette.subtle, 78 | white: palette.text, 79 | lightWhite: palette.text, 80 | blue: palette.foam, 81 | lightBlue: palette.foam, 82 | cyan: palette.rose, 83 | lightCyan: palette.rose, 84 | green: palette.pine, 85 | lightGreen: palette.pine, 86 | magenta: palette.iris, 87 | lightMagenta: palette.iris, 88 | red: palette.love, 89 | lightRed: palette.love, 90 | yellow: palette.gold, 91 | lightYellow: palette.gold, 92 | }; 93 | 94 | return Object.assign({}, config, { 95 | padding: config.padding || "12px 30px 30px 30px", 96 | backgroundColor: palette.base, 97 | foregroundColor: palette.text, 98 | cursorColor: palette.highlightHigh, 99 | cursorAccentColor: palette.text, 100 | selectionColor: palette.highlightMed, 101 | borderColor: "#0000", 102 | css: ` 103 | ${config.css || ""} 104 | .tab_text { color: ${palette.subtle} } 105 | .tab_textActive { color: ${palette.text} } 106 | `, 107 | colors, 108 | }); 109 | }; 110 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hyper-rose-pine", 3 | "version": "3.0.2", 4 | "description": "All natural pine, faux fur and a bit of soho vibes for the classy minimalist", 5 | "license": "MIT", 6 | "repository": "rose-pine/hyper", 7 | "funding": "https://github.com/rose-pine/hyper?sponsor=1", 8 | "author": "fvrests", 9 | "scripts": { 10 | "release": "npx np@latest --no-tests" 11 | }, 12 | "files": [ 13 | "index.js" 14 | ], 15 | "keywords": [ 16 | "hyper", 17 | "hyper-theme", 18 | "minimal", 19 | "aesthetic", 20 | "pastel", 21 | "classy", 22 | "soft" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /plugins.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hyper-rose-pine", 3 | "type": "theme", 4 | "preview": "https://github.com/fvrests/hyper-rose-pine/raw/main/assets/preview.png", 5 | "colors": [ 6 | "#191724", 7 | "#706e86", 8 | "#e0def4", 9 | "#eb6f92", 10 | "#f6c177", 11 | "#ebbcba", 12 | "#31748f", 13 | "#9ccfd8", 14 | "#c4a7e7" 15 | ], 16 | "dateAdded": "1582919913142" 17 | } 18 | --------------------------------------------------------------------------------