Symbiosis theme

Symbiosis is a bold, medium-to-high contrast theme loosely inspired by the Metroid video game series. It has been created as a tribute to Metroid’s 30th anniversary. It 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

111D1C 212D2C 58623b 79988b

Light base

FCFAF9 ECEAE9 828cad 3c513d

Accent values

B95846 A87226 669824 3D8CAD
BB7EAA A89641 28A597 9166AB

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

Atom text editor packages

Symbiosis light available at

Atom GitHub Or run the command apm install symbiosis-syntax

Symbiosis dark available at

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

Vim and Vim Airline

All Prot16 themes (including Symbiosis) 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 symbiosis_light
let g:airline_theme='symbiosis_light'

" or use these instead
colorscheme symbiosis_dark
let g:airline_theme='symbiosis_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

Based on my current tests with a variety of terminal emulators for Arch Linux, Debian 9, and Linux Mint 17.3 and 18.x, I have settled on the following colour mapping (which you have to implement manually if none of the options below suits your needs).

212D2C B95846 669824 A89641 3D8CAD BB7EAA 28A597 ECEAE9 111D1C A87226 3c513d 58623b 828cad 9166AB 79988b FCFAF9

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

Jekyll blog with Rouge for highlighting

To use Symbiosis 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.

// Random Mixin
@mixin tablet {
  @media screen and (min-width: #{$tablet}) {
    @content;
  }
}

// TODO Write something
.social-share {
  font-family: $fontui;

  @include radius(3%);

  div {
    a {
      color: $lbg;
      display: block;
      margin: ($sone / 2) 0;

      @include tablet {
        float: left;
        display: inline-block;
        margin: 0 $sone 0 0;
      }

      &[href*="example.com"] {
        background: #1DA1F3;
      }

      &:hover {
        opacity: .8;
      }
    }
  }
}

div + div:not(.some-class) {
  border-top: 2px solid #123456;
}

// Random Mixin
@mixin tablet {
  @media screen and (min-width: #{$tablet}) {
    @content;
  }
}

// TODO Write something
.social-share {
  font-family: $fontui;

  @include radius(3%);

  div {
    a {
      color: $lbg;
      display: block;
      margin: ($sone / 2) 0;

      @include tablet {
        float: left;
        display: inline-block;
        margin: 0 $sone 0 0;
      }

      &[href*="example.com"] {
        background: #1DA1F3;
      }

      &:hover {
        opacity: .8;
      }
    }
  }
}

div + div:not(.some-class) {
  border-top: 2px solid #123456;
}

#!/bin/bash
mkdir -p $HOME/.local/share/xfce4/terminal/colorschemes

for filename in $(ls $HOME/prot16-builder/db/schemes)
do
  name=$(echo $filename | cut -f 1 -d '.')

  prot16-builder -s ${name} -t xfce4-terminal -b light > $HOME/.local/path/${name}-light.theme
  tput setaf 9; echo "Preparing ${name} light for \n\/escape\/ XFCE4-Terminal"
done
#!/bin/bash
mkdir -p $HOME/.local/share/xfce4/terminal/colorschemes

for filename in $(ls $HOME/prot16-builder/db/schemes)
do
  name=$(echo $filename | cut -f 1 -d '.')

  prot16-builder -s ${name} -t xfce4-terminal -b light > $HOME/.local/path/${name}-light.theme
  tput setaf 9; echo "Preparing ${name} light for \n\/escape\/ XFCE4-Terminal"
done

Related git repositories

Wish to contribute? Check out these repos:

Protesilaos profile photo

Protesilaos Stavrou

EU policy analyst. Philosopher. Web developer.
Full profile