dot`digraph "${id}" {
outputorder=edgesfirst
graph[rankdir=LR, center=true]
node[shape=none, fontname="Source Serif Pro", fontsize=13]
edge[arrowsize=0.6, arrowhead=vee, color=gray]
${Array.from(
new Set(edges.map(([i, o]) => i).concat(edges.map(([i, o]) => o)))
)
.map(
id =>
`"${wrapText(id)}"[URL="?id=${cleanId(
id
)}", fontcolor="#3182bd", target="_top"]`
)
.join('\n')}
${edges.map(([i, o]) => `"${wrapText(i)}" -> "${wrapText(o)}"`).join("\n")}
}`