blob: 448e126cace86d5efecfe6f442165b084d876dcc (
plain) (
tree)
|
|
---
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' %}
|