Equinox theme

Equinox is a medium-to-high contrast theme that is meant to show the balance between the seasons. The theme’s overall presentation hints towards the blue side of spectrum. Even ‘warmer’ colours are relatively subdued to be closer to their ‘cold’ counterparts. Equinox comes in light and dark variants, while using a single 16-colour palette.

Packages or ports of it are available for the Atom text editor, Vim, the Vim Airline plugin, Jekyll websites using the Rouge gem, as well as the Xfce4, Terminator, iTerm2, urxvt, and Hyper terminal emulators.

Palette

Dark base

1d192a 2d293a 6d7444 7e9ca8

Light base

f4f6fe e4e6ee 67839c 3c554d

Accent values

c44a64 a96a4b 138e6c 536cb2
cc5d9a 8d9928 26a4a9 8955ba

Base values from left to right: background, background highlight, secondary text, primary text.

Atom text editor packages

Equinox light available at

Atom GitHub Or run the command apm install equinox-syntax

Equinox dark available at

Atom GitHub Or run the command apm install equinox-dark-syntax

Vim and Vim Airline

All Prot16 themes (including Equinox) are available as plugins for Vim and Vim Airline. To install them, use your favourite plugin manager. With vim-plug:

Plug 'protesilaos/prot16-vim'
Plug 'protesilaos/prot16-vim-airline'

Then specify your choice in .vimrc. Use either the light or dark variant:

colorscheme equinox_light
let g:airline_theme='equinox_light'

" or use these instead
colorscheme equinox_dark
let g:airline_theme='equinox_dark'

Atom and Vim colour mapping

Primary

Secondary

Tertiary


Primary: Class names, variables, functions, etc.
Secondary: Measurement units, strings, support functions, etc.
Tertiary: Cursor, support classes, etc.

Terminal emulators

Palette value correspondance to 16-colour terms
0 = dhl; 1 = red; 2 = gre; 3 = yel; 4 = blu; 5 = mag; 6 = cya; 7 = lhl;
8 = dbg; 9 = ora; 10 = lt1; 11 = dt2; 12 = lt2; 13 = vio; 14 = dt1; 15 = lbg
2d293a c44a64 138e6c 8d9928 536cb2 cc5d9a 26a4a9 e4e6ee 1d192a a96a4b 3c554d 6d7444 67839c 8955ba 7e9ca8 f4f6fe

Terminal Base values (light theme)
Background: f4f6fe
Foreground: 3c554d
Cursor: 3c554d
Bold colour: 3c554d

Terminal Base values (dark theme)
Background: 1d192a
Foreground: 7e9ca8
Cursor: 7e9ca8
Bold colour: 7e9ca8

For Equinox, the following terminal emulators are supported thus far:

Jekyll blog with Rouge for highlighting

To use Equinox on your Rouge-enabled Jekyll site, go ahead and implement either the the light or the the dark variant.

This demo makes use of the Rouge gem to create the markup. It is a lightweight solution for highlighting code on the web. Bear in mind that it is not a perfect representation of the Atom packages or terminal ports.

#!/bin/bash

# Random bits and pieces
match=$(echo "${array[@]:0}" | grep -o ${schemeslug})  

# Do the work if there is a match
if [ ! -z ${match} ]; then
	scheme=${schemeslug}
	echo "Found ${scheme}"
	echo "Accepted commit message '${commit}'"
	echo "Message '${apmsemver}'"
    
    # Work goes here ...

# Error message if scheme name does not exist
else
	echo "${redbg}${whitefg}Error${colourreset} some message"
	echo "Try any one of these instead"
	echo ${array}
	exit 1
fi

# here is how to stop the server
for pid in `ps aux | grep 'node ../server.js' | awk '{print $2}'` ; do
  sudo kill -9 $pid 2> /dev/null
done

exit 0
#!/bin/bash

# Random bits and pieces
match=$(echo "${array[@]:0}" | grep -o ${schemeslug})

# Do the work if there is a match
if [ ! -z ${match} ]; then
	scheme=${schemeslug}
	echo "Found ${scheme}"
	echo "Accepted commit message '${commit}'"
	echo "Message '${apmsemver}'"

    # Work goes here ...

# Error message if scheme name does not exist
else
	echo "${redbg}${whitefg}Error${colourreset} some message"
	echo "Try any one of these instead"
	echo ${array}
	exit 1
fi

# here is how to stop the server
for pid in `ps aux | grep 'node ../server.js' | awk '{print $2}'` ; do
  sudo kill -9 $pid 2> /dev/null
done

exit 0
// Random elements
$weight: bold !default;
$color: red;

@mixin example($arg1, $arg2) {
    background-color: $arg1;
    color: $arg2;
}

%placeholder {
    display: block;
    margin: 0 auto;
}

// FIXME a comment is here
.class {
    font-family: 'A string', sans-serif;
    font-size: 16px;
    font-weight: $weight;

    %extend placeholder;

    @include example(#123123, white);

    &::before,
    &::after {
        content: "";
        display: block;
        width: calc(calc(100% - 5rem) - 10px);
        height: 10px;
    }

    &:not(.other-class) {
        border-bottom: thin solid darken($color, 3%);
    }
}
// Random elements
$weight: bold !default;
$color: red;

@mixin example($arg1, $arg2) {
    background-color: $arg1;
    color: $arg2;
}

%placeholder {
    display: block;
    margin: 0 auto;
}

// FIXME a comment is here
.class {
    font-family: 'A string', sans-serif;
    font-size: 16px;
    font-weight: $weight;

    %extend placeholder;

    @include example(#123123, white);

    &::before,
    &::after {
        content: "";
        display: block;
        width: calc(calc(100% - 5rem) - 10px);
        height: 10px;
    }

    &:not(.other-class) {
        border-bottom: thin solid darken($color, 3%);
    }
}

Related git repositories

Wish to contribute? Check out these repos:

Protesilaos profile photo

Protesilaos Stavrou

EU policy analyst. Philosopher. Web developer.
Full profile