Theme styleguide: every element the theme must handle

A maintenance fixture exercising headings, code, tables, alerts and the awkward edge cases

This page exists to be looked at, not read. It renders every element the theme supports so that regressions are obvious after a change.

Headings and text

Body text sits on a constrained measure so long-form technical writing stays readable. Bold text carries weight, italics less so, and inline code sits inside prose without breaking the line rhythm.

A third-level heading

Links look like this one and a bare long URL must wrap rather than push the page sideways: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-service?view=powershell-7.4

A fourth-level heading

A fifth-level heading

Shell environments

The theme must not assume $ is the universal prompt. Three environments, all equally native.

PowerShell:

Get-Service -Name 'W32Time' | Select-Object Status, StartType
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time' -Name Start -Value 2

Windows CMD:

ipconfig /all | findstr /i "DNS Servers"
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName

Bash:

systemctl status docker --no-pager
journalctl -u docker.service --since "1 hour ago" | tail -20

A shell session, where output should read differently from the command:

root@server:~# docker ps --format '{{.Names}}\t{{.Status}}'
nginx-proxy-manager Up 2 hours (healthy)
grav    Up 2 hours (healthy)

Configuration formats

services:
  grav:
    image: linuxserver/grav:latest
    environment:
      PUID: 1000
      TZ: Europe/Amsterdam
    ports:
      - "127.0.0.1:8080:80"
{
  "log-driver": "json-file",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}
location / {
    allow 2a02:2479:55:5400::1;
    deny all;
    proxy_pass http://127.0.0.1:8080;
}

A deliberately long line, to prove a code block scrolls itself rather than the page:

docker run --rm -it --name a-very-long-container-name --network revproxy -e SOME_ENVIRONMENT_VARIABLE=value -v /root/docker/www/config:/config -p 127.0.0.1:8080:80 linuxserver/grav:latest /bin/sh -c "echo this line is far wider than any phone screen"

Alerts

Note

Useful context that is not critical.

Tip

A shortcut worth knowing.

Important

Something you should not skip.

Warning

This one bites if ignored.

Caution

Doing this wrong causes damage.

A plain blockquote, for comparison:

Not every quotation is an alert. Sometimes it is just a quotation.

Tables

Setting Value Notes
log-driver json-file Default
max-size 10m Per file
max-file 3 Caps total at 30 MB

A wide table, which must scroll inside its own box:

Host Address OS Role Uptime Kernel Notes
dc01 10.0.0.10 Windows Server 2022 Domain Controller 42d 10.0.20348 FSMO roles
prox01 10.0.0.20 Proxmox VE 8 Hypervisor 130d 6.8.12-4-pve Cluster primary
web01 10.0.0.30 Ubuntu 26.04 Reverse proxy 3d 7.0.0-30 Public facing

Lists

Unordered:

  • Windows Server and Active Directory
  • Linux, containers and orchestration
    • Nested item
    • Another nested item
  • Networking, DNS and firewalls

Ordered:

  1. Reproduce the fault
  2. Read the actual error, not the summary
  3. Change one thing
  4. Verify before moving on

Long paths

Registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

UNC: \\fileserver01.corp.example.com\Departments$\Engineering\Infrastructure

Linux: /var/lib/docker/overlay2/f3a8c9d2e1b4/diff/etc/nginx/conf.d/default.conf

Horizontal rule


That is everything.