Skip to content
SHell Markup Language | Style Framework for The Terminal
Shell Makefile
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
examples
test
.gitignore
.travis.yml
AUTHORS
CHANGELOG.md
CONTRIBUTING.md
LICENSE
Makefile
README.md
VERSION
package.json
shml.sh

README.md

SHML by ODB

SHML v.1.1.0

Build Status

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

Why

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 = \033[33m instead Yellow is $(color yellow).

1-liner Install

# Unix-like
$ sudo bash -c 'curl -L https://raw.githubusercontent.com/odb/shml/1.1.0/shml.sh -o /usr/local/bin/shml && chmod +x /usr/local/bin/shml'

# Homebrew
$ brew install shml

# npm
$ npm install -g shml

Download

You can just download SHML without installing it...

Git

$ git clone https://github.com/odb/shml.git

wget

$ wget https://raw.githubusercontent.com/odb/shml/master/shml.sh

Sourcing

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 ./shml.sh

Examples

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

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

View all examples: https://odb.github.io/shml/getting-started/

Contributing

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: http://localhost:4000/shml/

You can’t perform that action at this time.