lini 0.22.0

Pretty diagrams, charts, and technical drawings from plain text, with fine-grained control. Compiles to clean, themeable SVG.
Documentation
// The hard scene — a contended 3×3 layout: a fanned hub, bundled rails,
// detours, forced sides, a parent→child link, and a forced outer pair.

{
  layout: grid; columns: repeat(3); gap: 34; clearance: 12;
  .hot { stroke: --red; stroke-width: 3; }
  .cool { stroke: --blue; }
  .attention { stroke: --orange; }
}

|box#alpha| "Alpha" { cell: 1 1; }
|group#north| { cell: 2 1; gap: 16; } [
  |caption| "North"
  |box#n1| "N1"
  |box#n2| "N2"
]
|box#beta| "Beta" { cell: 3 1; }

|group#west| { cell: 1 2; gap: 16; } [
  |caption| "West"
  |box#w1| "W1"
  |box#w2| "W2"
]
|box#hub| "Hub" { cell: 2 2; }
|group#east| { cell: 3 2; padding: 16; gap: 16; } [
  |caption| "East"
  |box#e1| "E1"
  |box#e2| "E2"
]

|box#gamma| "Gamma" { cell: 1 3; }
|group#south| { cell: 2 3; gap: 16; } [
  |caption| "South"
  |box#s1| "S1"
  |box#s2| "S2"
]
|box#delta| "Delta" { cell: 3 3; }

hub -> north.n1 & east.e1
hub -> south.s1 & west.w1

north.n2 -> east.e1 .cool
north.n2 -> east.e1 .cool
west.w2 -> south.s1
west.w2 -> south.s1

alpha -> delta [ "One" "Two" "Three" ]
beta -> gamma

gamma -> south.s1 -> delta:top

east -> east.e2

alpha -> west.w2 .hot
west.w1 -> gamma .hot

beta -> delta

east -> west .attention
east -> hub .attention