by odb

odb / shml

SHell Markup Language | Style Framework for The Terminal

407 Stars 13 Forks Last release: over 2 years ago (latest) MIT License 203 Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


SHML v.1.1.0

Build Status

SHML is a shell framework for faster and easier script development.


HTML has CSS, terminals have "ANSI/VT100 Control Sequences". SHML makes is easy to apply some style to your shell scripts without trying to remember that Yellow =

instead Yellow is
$(color yellow)

1-liner Install

# Unix-like
$ sudo bash -c 'curl -L -o /usr/local/bin/shml && chmod +x /usr/local/bin/shml'


$ brew install shml


$ npm install -g shml


You can just download SHML without installing it...


$ git clone


$ wget


In order to use SHML you must tell your shell environment where it is located. Lets assume that we are writing a BASH script and want to use SHML.

If you installed in using the 1-liner above you would do:

#!/usr/bin/env bash
source $(which shml)

If you downloaded SHML using git or wget you would do:

#!/usr/bin/env bash
source ./


#!/usr/bin/env bash
source "$(which shml)"

echo " $(fgcolor red) This will make the text red... $(fgcolor end) "

View all examples:


Contributions are more than welcome. Before submitting ANY new features please read the Contribution Guidelines.

To report any bugs or if you have a feature request feel free to open an issue.

Updating The Docs

Updating the docs requires Ruby/Jekyll to generate & view locally.

Run once:

$ cd docs/
$ gem install bundler
$ bundle install

Generate and serve:

$ bundle exec jekyll s --watch
Then go to:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.