aboutsummaryrefslogtreecommitdiffstatshomepage

title: Shell commands category: Features

It's easy to style shell commands and their outputs. Here's a one-line command and a one-line output.

{% include jekyll-theme/shell.html cmd='echo 1' out='1' %}

You can pass multiple commands and multi-line output to the include as well:

{% include jekyll-theme/shell.html cmd='echo 1 echo 2' out='1 2' %}

However, it is recommended that you capture multi-line commands and outputs into variables and pass them. This is mostly because Liquid doesn't like backslashes too much.

{% capture cmd1 %} touch test.txt &&
echo 123 >> test.txt &&
echo 456 >> test.txt &&
cat test.txt {% endcapture %} {% capture out1 %} 123 456 {% endcapture %}

{% include jekyll-theme/shell.html cmd=cmd1 out=out1 %}

You can display multiple commands one after another.

{% include jekyll-theme/shell.html cmd="printf 'Hello\n'" out='Hello' %} {% include jekyll-theme/shell.html cmd="printf 'World\n'" out='World' %}

Only the last one will have a bottom margin.

Also, here's a really long command with a really long output:

{% capture cmd1 %} printf '%s\n' 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' {% endcapture %} {% capture out1 %} AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA {% endcapture %}

{% include jekyll-theme/shell.html cmd=cmd1 out=out1 %}

This has the potential to look rather ugly due to scrollbars though, so please don't do that.

Commands don't necessarily have to have output:

{% include jekyll-theme/shell.html cmd='mkdir test' %} {% include jekyll-theme/shell.html cmd='cd test' %}