More vesta examples.

Copy a command, compare the source data, then check the simulated board before publishing.

Simple inputs

Start with plain text or a small JSON object when you want the board to read like a status line.

Wrapped textflagshiptext.json

Useful for simple announcements, reminders, and message-of-the-day style boards.

$ vesta render --input testdata/text.json --preview-only
testdata/text.json
"the quick brown fox jumps over the lazy dog near the riverbank"
T
H
E
Q
U
I
C
K
B
R
O
W
N
F
O
X
J
U
M
P
S
O
V
E
R
T
H
E
L
A
Z
Y
D
O
G
N
E
A
R
T
H
E
R
I
V
E
R
B
A
N
K
Key/value statusflagshipkv.json

Good for operational data where the label matters as much as the value.

$ vesta render --input testdata/kv.json --template kv --valign center --preview-only
testdata/kv.json
{
  "status": "online",
  "uptime": "14d 3h",
  "temp": "72F",
  "version": "2.4.1"
}
S
T
A
T
U
S
O
N
L
I
N
E
U
P
T
I
M
E
1
4
D
3
H
T
E
M
P
7
2
F
V
E
R
S
I
O
N
2
.
4
.
1

Dense layouts

Use columns and tables when the goal is comparison: weather, scores, rankings, inventory, or any short list.

Two-column dashboardflagshipweather.json

Two columns let a compact dashboard feel balanced without needing a title row.

$ vesta render --input testdata/weather.json --columns 2 --align center --valign center --preview-only
testdata/weather.json
{
  "now": "62F",
  "rain_pct": 0,
  "high": "66F",
  "low": "48F"
}
N
O
W
6
2
F
R
A
I
N
0
%
H
I
G
H
6
6
F
L
O
W
4
8
F
CSV tableflagshiptable.csv

CSV is auto-detected, so small tables can go straight from a file to a board preview.

$ vesta render --input testdata/table.csv --preview-only
testdata/table.csv
name,score,rank
alice,98,1
bob,87,2
carol,76,3
dave,61,4
N
A
M
E
S
C
O
R
E
R
A
N
K
A
L
I
C
E
9
8
1
B
O
B
8
7
2
C
A
R
O
L
7
6
3
D
A
V
E
6
1
4

Headers

Titles, subtitles, and separators cost rows, but they can make repeating dashboards easier to scan.

Title and subtitleflagshiphome.json

A title and subtitle turn a dense home snapshot into a board people can recognize at a glance.

$ vesta render --input testdata/home.json --columns 2 --title HOME --title-color green,blue,violet --subtitle 5:00P --subtitle-color violet --preview-only
testdata/home.json
{
  "temp": "68F",
  "hum_pct": 42,
  "co2": "820",
  "noise": "38db",
  "doors": "shut",
  "light": "on",
  "heat": "off",
  "fans": "on"
}
H
O
M
E
5
:
0
0
P
T
E
M
P
6
8
F
H
U
M
4
2
%
C
O
2
8
2
0
N
O
I
S
E
3
8
D
B
D
O
O
R
S
S
H
U
T
L
I
G
H
T
O
N
H
E
A
T
O
F
F
F
A
N
S
O
N
Rainbow separatorflagshipkv.json

Separators are useful when a board needs a strong section break or persistent visual identity.

$ vesta render --input testdata/kv.json --template kv --title SYS --separator rainbow --preview-only
testdata/kv.json
{
  "status": "online",
  "uptime": "14d 3h",
  "temp": "72F",
  "version": "2.4.1"
}
S
Y
S
S
T
A
T
U
S
O
N
L
I
N
E
U
P
T
I
M
E
1
4
D
3
H
T
E
M
P
7
2
F
V
E
R
S
I
O
N
2
.
4
.
1

Color and Note

Color tiles and the smaller Note profile are where examples help most, because every cell has a job.

Note status boardnotenote_status.json

The Note is best with three decisive rows: label, value, and only the color signal you need.

$ vesta render --input testdata/note_status.json --profile note --preview-only
testdata/note_status.json
{
  "uptime_pct": 99.97,
  "error_pct": 0.13,
  "rps": 1847,
  "_style": {
    "uptime_pct": {"good": 100, "bad": 95},
    "error_pct": {"good": 0, "bad": 5}
  }
}
U
P
T
I
M
E
9
9
.
9
7
%
E
R
R
O
R
0
.
1
3
%
R
P
S
1
.
8
K
Inline color tilesflagshipcolors.txt

Escapes are handy when a message needs explicit tiles instead of semantic styling.

$ vesta render --input testdata/colors.txt --valign center --preview-only
testdata/colors.txt
{red}{orange}{yellow}{green}
{blue}{violet}{white}{black}{filled}
{colors!}
(
C
O
L
O
R
S
!
)

Workflow commands

Commands for inspecting formatting decisions, publishing a finished board, and saving rendered output for later.

Explain formatting

Prints the regular preview plus notes about suffix formatting and color tile decisions. Use this when a value or color does not look the way you expected.

$ cat metrics.json | vesta render --preview-only --explain
Read the current board

Fetches the current board from the Vestaboard Cloud API using your token. Useful before changing a live board or when you want to confirm what is currently displayed.

$ vesta read-cloud
Publish through Cloud

Sends a finished layout through the Vestaboard Cloud API. This is the normal publish path for most scripts and automations.

$ cat data.json | vesta post-cloud --token $VESTABOARD_TOKEN
Publish locally

Sends a finished layout to your own Vestaboard Local API endpoint. Use this only when your script can reach the board on your local network.

$ cat data.json | vesta post-local --api-key $VESTABOARD_LOCAL_API_KEY
Export character codes

Writes the exact Vestaboard character array instead of a preview. Useful for archiving, debugging API payloads, or handing the rendered output to another tool.

$ cat data.json | vesta render --json-only > saved.json