https://github.com/tinted-theming/base16-builder-node
A Builder for schemes and templates. Supports Base16, Base24, etc.
https://github.com/tinted-theming/base16-builder-node
base16 base24
Last synced: 12 months ago
JSON representation
A Builder for schemes and templates. Supports Base16, Base24, etc.
- Host: GitHub
- URL: https://github.com/tinted-theming/base16-builder-node
- Owner: tinted-theming
- License: mit
- Created: 2016-11-11T07:36:44.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-10-06T11:17:19.000Z (over 1 year ago)
- Last Synced: 2025-06-03T12:14:37.816Z (about 1 year ago)
- Topics: base16, base24
- Language: JavaScript
- Homepage:
- Size: 133 KB
- Stars: 18
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# base16-builder-node 
[](https://www.npmjs.com/package/base16-builder-node)
[](https://github.com/joshgoebel/base16-builder-node/blob/main/LICENSE)
[](https://github.com/tinted-theming/base16-builder-node/issues)
[](https://snyk.io/test/github/tinted-theming/base16-builder-node?targetFile=package.json)
A builder for schemes and templates based on clear, universal [style specifications](#what-is-a-style-specification). The output is app specific theming configurations. _Build a color scheme once, use it everywhere._
**Features**
- Supports both `base16` and `base24` style specs (with more to come)
- Chris's original [Base16 v0.2 styling spec](https://github.com/chriskempson/base16)
- Base24 ([5625d94](https://github.com/Base24/base24/commit/5625d94c0720c38cc7a0703766d61131a6bda5a6)) styling spec
- Conforms to the [Builder v0.10.1 spec](https://github.com/tinted-theming/home/blob/main/builder.md)
- Builds all installed templates/schemes in one quick pass
## What is a style specification?
A specification details palette architecture and how it should be used for rendering application UI or syntax highlighting. Real life implementations of a style specification typically include a color scheme and app templates.
**Supported specifications**
- [Base16](https://github.com/tinted-theming/home) - an architecture of carefully chosen syntax highlighting using a base of just sixteen colors.
- [Base24](https://github.com/Base24/base24) - Base16 plus an additional 8 colors to allow using all 16 ANSI colors in the terminal.
## Install
```sh
npm install -g base16-builder-node
```
This package provides a `base16` console command. Invoke it from any directory you want to build your themes, templates, and schemes in.
## Basic Usage - Base16 example
Your working directory will need the following substructure:
- `base16/schemes`
- `base16/templates`
```sh
cd working_dir
mkdir -p base16/templates && cd base16
git clone https://github.com/tinted-theming/base16-schemes.git schemes
cd templates
git clone [your template of choice]
git clone [another template of choice]
cd ../..
base16 build base16 --prefix base16-
```
Builds all templates found in `base16/templates` using all scheme files from `base16/schemes` applying the `base16-` prefix to each.
### Build Assets
The theme files will be generated inside every template directory in the
subdirectory specified by that template's configuration.
For example: `textmate`. The built files would be found at:
`./templates/textmate/Themes`,
### If you are a template maintainer
The easiest thing is to simply maintain your template repository inside your base16-build working folder (or symlink it).
You could facilitate this easily (from inside your template dir) with a tiny build script, etc:
```bash
#!/bin/bash
cd ../../..
base16 build
```
### Credit where it's due
Color wheel icon thanks to [Color icons created by Nikita Golubev - Flaticon](https://www.flaticon.com/free-icons/color).