Color Scheming from two Base Colors for Prism
CSS PHP HTML Shell JavaScript C++ Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
db
demo
output
src
.gitignore add css clip-path for header Aug 24, 2017
LICENSE
README.md
config.rb
io-prism-sass.sh
io.sh

README.md

Base2Tone Prism

Generate syntax-highlighting schemes for Prism with color variations from 2 colors with Base2Tone.

Prism is one of the applications containing the colorschemes of Base2Tone which are based on Duotone Themes by Simurai for Atom.

“DuoTone themes use only 2 hues (7 shades in total). It tones down less important parts (like punctuation and brackets) and highlights only the important ones. This leads to a more calm color scheme, but still lets you find the stuff you're looking for.”

Demo

Go see the Demo for Prism.

Dependencies

Some customized commands from the latest fork of Base16 Builder can be found here in an executable bash script (io.sh). Read more on this versatile and flexible CLI building tool on the Github repo for Base16 Builder, and the many ways to use it from the command-line.

Base16 Builder is available on NPM1, you can install it on your machine like so from the commandline:

$ npm install --global base16-builder

Typing io.sh and hitting enter from the command line in the root folder, will output the gererated Prism code-highlighting files in the output/prism folder. They all come in a dark and light variation, though most were originally conceived as dark background themes.

base16-builder --scheme schemes/duotones-evening.yml --template templates/prism/dark.ejs > output/prism/prism-duotones-evening-dark.css

Create your own colorscheme.

This is the hard part; although the idea is to make color-schemes from just two color-hues, there is no easy way (at least not on this repository) to generate colorschemes from these two color-hues, (because I don’t believe in an automated process that takes account of the peculiarities of the human eye, in connection to the perception of color). It will always be a manual iterative process. My process is editing the demo-tile colors, you can see those demo-tiles on top of the pages over here. So what I do is edit the sass file for those demo-tiles (I use HSL and then convert those values from the browser, or a tool like HSL Color Picker to HEX values), and then manually copy and paste the new color-values over into a new schemes/my-new-colorscheme.yml. After that generate the prism-my-new-colorscheme.scss and see how the syntax-highlighting turns out on that demo-page. There are 32 color-value variables to be defined, so it will require a dedicated effort to build your own Base2Tone colorscheme. But if you do succeed in this, you will have the blueprint for generating colorthemes for these applications (see above , and for many more applications in the future).

The schemes and templates used can be found in the db folder. Copy and edit one of them schemes/colorschemes.yml from 32 color-value variables, and build your own DuoTones Prism theme.

Alternatively, to make this process a bit more easy going and straight forward, one can fork this demo of Base2Tone-Prism on Codepen.

In essence; one doesn't generate yml colorschemes, these are created, color-values manually copied over from a, for example, forked and adapted version of that demo on Codepen. (Tip: use the Developer Tools in your Browser to copy the HEX-color-values output from the rendered css). Base16-Builder’s commands are used for generating theme files for ... anything really, as long as you can make a template for this application.

Conversions

The light version of the Morning theme, and dark versions of Evening, Sea, Space, Earth and Forest were converted from DuoTone Themes for Atom by Simurai. Morning and Evening are the default Duotone Light and Duotone Dark schemes, but renamed here in order to have a consistent naming convention.

Credits

License

Copyright (c) 2016 Bram de Haan

Released under MIT Licence


Infini Font

Infini, by Sandrine Nugue, is the font being used in the demo site. Infini is a public commission of the National Centre for Visual Arts on the occasion of “Graphisme en France 2014”. The type family is available for free under a Creative Creative Commons Attribution-No Derivative Works 3.0 Unported


  1. Installing from NPM means you will also need to have Node.js installed; instructions can be found here.