| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- ---
- // Flat technical node-link diagram for the hero. Hand-placed so it reads as a
- // deliberate blueprint, not a physics blob: thin ink lines, hollow nodes, mono
- // labels. Hovering a node inks it in. No glow, no gradients, no motion.
- ---
- <svg
- class="cg-graph"
- viewBox="0 0 780 600"
- role="img"
- aria-label="A code knowledge graph: index.ts links to auth.ts, router.ts and api/users.ts, which branch to middleware.ts, types/index.ts, createRouter and listUsers."
- >
- <g class="edges">
- <line x1="430" y1="64" x2="250" y2="210" />
- <line x1="430" y1="64" x2="450" y2="250" />
- <line x1="430" y1="64" x2="650" y2="200" />
- <line x1="250" y1="210" x2="180" y2="380" />
- <line x1="250" y1="210" x2="340" y2="380" />
- <line x1="450" y1="250" x2="560" y2="380" />
- <line x1="560" y1="380" x2="560" y2="500" />
- </g>
- <g class="nodes">
- <g class="node">
- <circle cx="430" cy="64" r="9" />
- <text x="448" y="69" text-anchor="start">index.ts</text>
- </g>
- <g class="node">
- <circle cx="250" cy="210" r="9" />
- <text x="232" y="215" text-anchor="end">auth.ts</text>
- </g>
- <g class="node">
- <circle cx="450" cy="250" r="9" />
- <text x="468" y="255" text-anchor="start">router.ts</text>
- </g>
- <g class="node">
- <circle cx="650" cy="200" r="9" />
- <text x="668" y="205" text-anchor="start">api/users.ts</text>
- </g>
- <g class="node">
- <circle cx="180" cy="380" r="9" />
- <text x="180" y="410" text-anchor="middle">middleware.ts</text>
- </g>
- <g class="node">
- <circle cx="340" cy="380" r="9" />
- <text x="340" y="410" text-anchor="middle">types/index.ts</text>
- </g>
- <g class="node">
- <circle cx="560" cy="380" r="9" />
- <text x="578" y="385" text-anchor="start">createRouter</text>
- </g>
- <g class="node">
- <circle cx="560" cy="500" r="9" />
- <text x="560" y="530" text-anchor="middle">listUsers</text>
- </g>
- </g>
- </svg>
- <style>
- .cg-graph {
- width: 100%;
- height: auto;
- max-width: 560px;
- min-width: 0; /* flex item: allow shrinking below intrinsic SVG width */
- display: block;
- }
- .cg-graph .edges line {
- stroke: var(--cg-ink);
- stroke-width: 1.25;
- }
- .cg-graph .node circle {
- fill: var(--cg-paper);
- stroke: var(--cg-ink);
- stroke-width: 1.5;
- transition: fill 0.12s ease;
- }
- .cg-graph .node text {
- font-family: var(--sl-font-mono);
- font-size: 15px;
- fill: var(--cg-ink);
- dominant-baseline: middle;
- }
- .cg-graph .node:hover circle {
- fill: var(--cg-ink);
- }
- </style>
|