mockups/blame.html
Rama main · réplica de lectura del repositorio original.
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>blame · internal/router/router.go · mkappworks/cloudzilla — Cloudzilla</title>
<link rel="stylesheet" href="/assets/tailwind.css" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&family=Geist:wght@400;500;600&display=swap" rel="stylesheet" />
</head>
<body class="min-h-screen flex flex-col antialiased font-sans">
<a href="#main-content" class="skip-link">Skip to main content</a>
<div id="cz-header" data-repo-tab="code"></div>
<main id="main-content" tabindex="-1" class="max-w-[1400px] mx-auto px-6 pt-6 pb-20 flex-1 w-full">
<div class="space-y-6 pt-2">
<section aria-labelledby="blame-title">
<h1 id="blame-title" class="text-xl tracking-tight font-medium flex flex-wrap items-center gap-x-1.5 gap-y-1">
<a href="profile.html" class="hover:underline text-muted-foreground">mkappworks</a>
<span class="text-muted-foreground" aria-hidden="true">/</span>
<a href="repo.html" class="hover:underline text-muted-foreground">cloudzilla</a>
<span class="text-muted-foreground" aria-hidden="true">/</span>
<a href="tree.html" class="hover:underline text-muted-foreground">internal</a>
<span class="text-muted-foreground" aria-hidden="true">/</span>
<a href="tree.html" class="hover:underline text-muted-foreground">router</a>
<span class="text-muted-foreground" aria-hidden="true">/</span>
<a href="blob.html" class="hover:underline font-semibold">router.go</a>
</h1>
<div class="mt-3 flex flex-wrap items-center gap-2">
<div class="relative" data-dropdown>
<button type="button" data-dropdown-btn aria-expanded="false" aria-haspopup="menu" aria-label="Switch branch or tag, current: main" class="h-8 px-3 text-[13px] text-foreground border border-border rounded-md hover:bg-accent inline-flex items-center gap-1.5">
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" aria-hidden="true" focusable="false"><circle cx="6" cy="3" r="3"></circle><circle cx="18" cy="3" r="3"></circle><circle cx="12" cy="21" r="3"></circle><path d="M6 6v3a3 3 0 003 3h6a3 3 0 003-3V6M12 12v6"></path></svg>
<span class="font-medium">main</span>
<svg class="text-muted-foreground" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"><path d="M7 10l5 5 5-5"></path></svg>
</button>
<div hidden data-dropdown-panel role="menu" aria-label="Switch branches and tags" class="absolute left-0 top-full mt-1.5 z-50 w-[300px] rounded-md border border-border bg-popover text-popover-foreground shadow-md p-1">
<div class="px-1.5 pb-1.5">
<label for="branch-filter" class="sr-only">Find a branch or tag</label>
<input id="branch-filter" type="search" data-ref-filter placeholder="Find a branch or tag…" class="w-full h-7 px-2.5 text-[12px] bg-card border border-border rounded-md placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring"/>
</div>
<p class="px-2.5 pt-1 pb-0.5 text-[10px] uppercase tracking-wider text-muted-foreground font-medium">Branches</p>
<a href="blame.html" role="menuitem" data-ref="main" class="flex items-center gap-2 px-2.5 py-1.5 rounded-xs hover:bg-accent bg-accent">
<span class="flex-1 font-mono text-[12px] truncate">main</span>
<span class="text-[10px] text-muted-foreground">default</span>
</a>
<a href="blame.html" role="menuitem" data-ref="feat/phase-12.3-discussions" class="flex items-center gap-2 px-2.5 py-1.5 rounded-xs hover:bg-accent">
<span class="flex-1 font-mono text-[12px] truncate">feat/phase-12.3-discussions</span>
</a>
<a href="blame.html" role="menuitem" data-ref="fix/contributor-stats-sha-dedup" class="flex items-center gap-2 px-2.5 py-1.5 rounded-xs hover:bg-accent">
<span class="flex-1 font-mono text-[12px] truncate">fix/contributor-stats-sha-dedup</span>
</a>
<p class="px-2.5 pt-1 pb-0.5 text-[10px] uppercase tracking-wider text-muted-foreground font-medium">Tags</p>
<a href="blame.html" role="menuitem" data-ref="v0.2.0" class="flex items-center gap-2 px-2.5 py-1.5 rounded-xs hover:bg-accent">
<span class="flex-1 font-mono text-[12px] truncate">v0.2.0</span>
</a>
<a href="blame.html" role="menuitem" data-ref="v0.1.0" class="flex items-center gap-2 px-2.5 py-1.5 rounded-xs hover:bg-accent">
<span class="flex-1 font-mono text-[12px] truncate">v0.1.0</span>
</a>
<div role="separator" class="my-1 h-px bg-border"></div>
<a href="refs.html" role="menuitem" class="flex items-center gap-2 px-2.5 py-1.5 rounded-xs text-[13px] hover:bg-accent">View all branches</a>
</div>
</div>
<a href="blob.html" class="inline-flex items-center justify-center gap-1.5 rounded-md font-medium transition-colors border border-input bg-transparent hover:bg-accent hover:text-accent-foreground h-8 px-3 text-[13px]">
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" aria-hidden="true" focusable="false"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline></svg>
View file
</a>
</div>
</section>
<section class="rounded-md border border-border bg-card overflow-hidden" aria-labelledby="blame-heading">
<h2 id="blame-heading" class="sr-only">Blame for internal/router/router.go</h2>
<header class="px-4 py-2 border-b border-border bg-muted/50 flex items-center gap-3">
<svg class="text-muted-foreground" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" aria-hidden="true" focusable="false"><path d="M12 20h9"></path><path d="M16.5 3.5a2.121 2.121 0 113 3L7 19l-4 1 1-4z"></path></svg>
<h3 class="text-[13px] font-medium">internal/router/router.go</h3>
<span class="text-[12px] text-muted-foreground ml-auto">27 lines · 2 contributors</span>
</header>
<div class="hl overflow-x-auto">
<table class="w-full font-mono text-[12.5px] leading-[1.6]">
<caption class="sr-only">Per-line blame annotations for internal/router/router.go</caption>
<colgroup>
<col style="width: 240px"/>
<col style="width: 48px"/>
<col/>
</colgroup>
<thead class="sr-only">
<tr>
<th scope="col">Last commit</th>
<th scope="col">Line</th>
<th scope="col">Code</th>
</tr>
</thead>
<tbody>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">96a6f51</a>
<div class="text-muted-foreground truncate max-w-[12rem]">malith</div>
<time class="text-muted-foreground block" datetime="2026-04-29T11:00:00Z">2026-04-29</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L1" href="#L1" class="hover:text-foreground">1</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"><span class="hl-k">package</span> router</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L2" href="#L2" class="hover:text-foreground">2</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> </td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L3" href="#L3" class="hover:text-foreground">3</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"><span class="hl-k">import</span> (</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L4" href="#L4" class="hover:text-foreground">4</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> <span class="hl-s">"net/http"</span></td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L5" href="#L5" class="hover:text-foreground">5</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> </td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L6" href="#L6" class="hover:text-foreground">6</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> <span class="hl-s">"github.com/go-chi/chi/v5"</span></td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L7" href="#L7" class="hover:text-foreground">7</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> <span class="hl-s">"github.com/mkappworks-dev/cloudzilla-app/internal/handler"</span></td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L8" href="#L8" class="hover:text-foreground">8</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre">)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 2a5f3ec · 2026-05-05T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">2a5f3ec</a>
<div class="text-muted-foreground truncate max-w-[12rem]">daisy</div>
<time class="text-muted-foreground block" datetime="2026-05-05T11:00:00Z">2026-05-05</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L9" href="#L9" class="hover:text-foreground">9</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> </td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 2a5f3ec · 2026-05-05T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L10" href="#L10" class="hover:text-foreground">10</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"><span class="hl-c1">// New returns a chi router with all Cloudzilla routes registered.</span></td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 2a5f3ec · 2026-05-05T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L11" href="#L11" class="hover:text-foreground">11</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"><span class="hl-k">func</span> <span class="hl-nf">New</span>(h *handler.Handlers) http.Handler {</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 2a5f3ec · 2026-05-05T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L12" href="#L12" class="hover:text-foreground">12</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r := chi.<span class="hl-nf">NewRouter</span>()</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · c0ca250 · 2026-05-09T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">c0ca250</a>
<div class="text-muted-foreground truncate max-w-[12rem]">malith</div>
<time class="text-muted-foreground block" datetime="2026-05-09T11:00:00Z">2026-05-09</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L13" href="#L13" class="hover:text-foreground">13</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> </td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · c0ca250 · 2026-05-09T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L14" href="#L14" class="hover:text-foreground">14</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/"</span>, h.Home)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · c0ca250 · 2026-05-09T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L15" href="#L15" class="hover:text-foreground">15</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/explore"</span>, h.Explore)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · c0ca250 · 2026-05-09T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L16" href="#L16" class="hover:text-foreground">16</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> </td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 420b44b · 2026-05-13T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">420b44b</a>
<div class="text-muted-foreground truncate max-w-[12rem]">malith</div>
<time class="text-muted-foreground block" datetime="2026-05-13T11:00:00Z">2026-05-13</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L17" href="#L17" class="hover:text-foreground">17</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Route</span>(<span class="hl-s">"/{owner}/{repo}"</span>, <span class="hl-k">func</span>(<span class="hl-nf">r</span> chi.Router) {</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · c0ca250 · 2026-05-09T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">c0ca250</a>
<div class="text-muted-foreground truncate max-w-[12rem]">malith</div>
<time class="text-muted-foreground block" datetime="2026-05-09T11:00:00Z">2026-05-09</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L18" href="#L18" class="hover:text-foreground">18</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/"</span>, h.PageRepo)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · c0ca250 · 2026-05-09T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L19" href="#L19" class="hover:text-foreground">19</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/tree/*"</span>, h.PageTree)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 1439e1e · 2026-05-12T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">1439e1e</a>
<div class="text-muted-foreground truncate max-w-[12rem]">daisy</div>
<time class="text-muted-foreground block" datetime="2026-05-12T11:00:00Z">2026-05-12</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L20" href="#L20" class="hover:text-foreground">20</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/blob/*"</span>, h.PageBlob)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 1439e1e · 2026-05-12T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L21" href="#L21" class="hover:text-foreground">21</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/blame/*"</span>, h.PageBlame)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="daisy · 1439e1e · 2026-05-12T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L22" href="#L22" class="hover:text-foreground">22</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/commits/*"</span>, h.PageCommits)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<a href="commit.html" class="font-mono font-medium hover:underline">96a6f51</a>
<div class="text-muted-foreground truncate max-w-[12rem]">malith</div>
<time class="text-muted-foreground block" datetime="2026-04-29T11:00:00Z">2026-04-29</time>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L23" href="#L23" class="hover:text-foreground">23</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> r.<span class="hl-nf">Get</span>(<span class="hl-s">"/pulse"</span>, h.PagePulse)</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L24" href="#L24" class="hover:text-foreground">24</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> })</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L25" href="#L25" class="hover:text-foreground">25</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> </td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L26" href="#L26" class="hover:text-foreground">26</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre"> <span class="hl-k">return</span> r</td>
</tr>
<tr class="hover:bg-muted/50">
<td class="w-60 px-3 py-1.5 align-top text-[11px] border-r border-border bg-card" title="malith · 96a6f51 · 2026-04-29T11:00:00Z">
<span class="text-muted-foreground/40 select-none" aria-hidden="true">·</span>
</td>
<td class="select-none text-muted-foreground px-3 py-1.5 text-right align-top border-r border-border bg-muted/40">
<a id="L27" href="#L27" class="hover:text-foreground">27</a>
</td>
<td class="pl-4 pr-4 py-1.5 whitespace-pre">}</td>
</tr>
</tbody>
</table>
</div>
</section>
<p class="mt-4 text-[12px] text-muted-foreground">
A dot (·) marks consecutive lines from the same commit — only the first row in each run shows the commit metadata.
</p>
</div>
</main>
<div id="cz-footer"></div>
<script src="shell.js"></script>
<script>
(function () {
function closeAll(except) {
document.querySelectorAll('[data-dropdown]').forEach(function (d) {
if (d === except) return;
d.querySelector('[data-dropdown-panel]').hidden = true;
d.querySelector('[data-dropdown-btn]').setAttribute('aria-expanded', 'false');
});
}
document.addEventListener('click', function (e) {
var btn = e.target.closest('[data-dropdown-btn]');
var dd = btn && btn.closest('[data-dropdown]');
if (!btn && e.target.closest('[data-dropdown-panel]')) return;
closeAll(dd);
if (!dd) return;
var panel = dd.querySelector('[data-dropdown-panel]');
panel.hidden = !panel.hidden;
btn.setAttribute('aria-expanded', String(!panel.hidden));
});
document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeAll(); });
document.querySelectorAll('[data-ref-filter]').forEach(function (input) {
input.addEventListener('input', function () {
var q = input.value.toLowerCase();
input.closest('[data-dropdown-panel]').querySelectorAll('[data-ref]').forEach(function (a) {
a.hidden = !!q && a.dataset.ref.toLowerCase().indexOf(q) < 0;
});
});
});
})();
</script>
</body>
</html>