Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,10 @@
/* terminal-images card */
.card-terminal-images { border-top-color: #FF7AB8; }
.card-terminal-images .badge-preview { color: #FF7AB8; border-color: rgba(255,122,184,0.3); background: rgba(255,122,184,0.06); }

/* runna card */
.card-runna { border-top-color: #3DF58A; }
.card-runna .badge-preview { color: #3DF58A; border-color: rgba(61,245,138,0.3); background: rgba(61,245,138,0.06); }
.card-arrow {
position: absolute;
top: 20px;
Expand Down Expand Up @@ -580,6 +584,40 @@ <h1><span>Modern .NET</span> libraries<br/>and CLIs. <span>Great DX.</span></h1>
</div>
</a>

<a class="project-card card-runna" href="https://runna.nullean.net">
<span class="card-arrow">↗</span>
<div class="card-lockup"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 188 96" width="188" height="96" role="img" aria-label="runna">
<style>
@keyframes rn-step { 0%, 100% { opacity: 0.28; } 12%, 40% { opacity: 1; } 60% { opacity: 0.28; } }
@keyframes rn-sheen { 0% { transform: skewX(-18deg) translateX(0); } 100% { transform: skewX(-18deg) translateX(340px); } }
.rn-c { animation: rn-step 1.8s ease-in-out infinite; }
.rn-c2 { animation-delay: 0.3s; } .rn-c3 { animation-delay: 0.6s; }
.rn-sheen { animation: rn-sheen 2.4s cubic-bezier(0.4, 0, 0.6, 1) infinite; animation-delay: 0.4s; }
@media (prefers-reduced-motion: reduce) { .rn-c, .rn-sheen { animation: none; } .rn-sheen { display: none; } }
</style>
<defs>
<linearGradient id="rnc-f" x1="0" y1="0.2" x2="1" y2="0.8"><stop offset="0.44" stop-color="#FFD23D"/><stop offset="0.56" stop-color="#3DF58A"/></linearGradient>
<radialGradient id="rnc-g" cx="0.18" cy="0.12" r="1.2"><stop offset="0" stop-color="#1B2126"/><stop offset="0.55" stop-color="#0D1013"/><stop offset="1" stop-color="#08090B"/></radialGradient>
<linearGradient id="rnc-sh" x1="0" y1="0" x2="1" y2="0"><stop offset="0.35" stop-color="#FFFFFF" stop-opacity="0"/><stop offset="0.5" stop-color="#FFFFFF" stop-opacity="0.8"/><stop offset="0.65" stop-color="#FFFFFF" stop-opacity="0"/></linearGradient>
<mask id="rnc-ring"><rect width="188" height="96" rx="10" fill="#FFFFFF"/><rect x="6" y="6" width="176" height="84" rx="5" fill="#000000"/></mask>
</defs>
<rect width="188" height="96" rx="10" fill="url(#rnc-f)"/>
<g mask="url(#rnc-ring)"><rect class="rn-sheen" x="-140" y="-20" width="140" height="136" fill="url(#rnc-sh)" transform="skewX(-18)"/></g>
<rect x="6" y="6" width="176" height="84" rx="5" fill="url(#rnc-g)"/>
<g fill="none" stroke-width="7" stroke-linecap="round" stroke-linejoin="round">
<polyline class="rn-c" points="22,32 34,48 22,64" stroke="#FFD23D"/>
<polyline class="rn-c rn-c2" points="38,32 50,48 38,64" stroke="#9EE463"/>
<polyline class="rn-c rn-c3" points="54,32 66,48 54,64" stroke="#3DF58A"/>
</g>
<text x="80" y="48" font-family="JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, monospace" font-size="30" font-weight="700" dominant-baseline="central" fill="#FFFFFF">runna</text>
</svg></div>
<p class="card-tagline">Typed build targets for .NET. Targets are union or DU cases, dependencies run first, and every target gets real --help.</p>
<div class="card-meta">
<span class="card-nuget">nuget <code>Nullean.Runna</code> · <code>Nullean.Runna.Fs</code></span>
<span class="badge badge-preview">preview</span>
</div>
</a>

</div>
</div>
</section>
Expand Down
8 changes: 8 additions & 0 deletions projects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ projects:
nuget: Nullean.TerminalImages
status: preview

- id: runna
name: Nullean.Runna
tagline: Typed build targets for .NET. Targets are union or DU cases, dependencies run first, and every target gets real --help.
url: https://runna.nullean.net
repo: nullean/runna
nuget: Nullean.Runna
status: preview

# - id: formatter
# name: Kerf
# tagline: Syntax and semantic style enforcement for C#.
Expand Down
Loading