feat: convert web El source to native HTML template syntax

Replace all return "..." HTML string literals with native El templates —
removes all \" escapes, converts + interpolations to {expr}/{raw(expr)},
and replaces conditional string concatenation with {#if}/{#else}/{/if}.
No functional changes; output is identical.
This commit is contained in:
Will Anderson
2026-05-05 05:18:01 -05:00
parent 1127dcd278
commit 5cb13d67f7
24 changed files with 1443 additions and 1494 deletions
+24 -26
View File
@@ -5,41 +5,39 @@
// provided by a tiny inline <script> in the page shell).
fn pillars() -> String {
return "
<section id=\"pillars\" aria-label=\"Core pillars\">
<div class=\"container\">
<div class=\"pillars-label reveal\">
<div class=\"navy-line-left\" style=\"width:4rem;flex-shrink:0\"></div>
<span class=\"label\">Why Neuron</span>
return <section id="pillars" aria-label="Core pillars">
<div class="container">
<div class="pillars-label reveal">
<div class="navy-line-left" style="width:4rem;flex-shrink:0"></div>
<span class="label">Why Neuron</span>
</div>
<div class=\"pillars-grid\">
<div class="pillars-grid">
<div class=\"pillar-card card-dark reveal\">
<span class=\"pillar-numeral\" aria-hidden=\"true\">I</span>
<h3 class=\"display-md pillar-title\">Remembers</h3>
<div class=\"pillar-rule\"></div>
<p class=\"pillar-body\">Every session picks up where you left off. Every project. Every context. No more re-explaining who you are, what you&#39;re building, or what matters to you.</p>
<p class=\"pillar-detail\">Zero re-orientation</p>
<div class="pillar-card card-dark reveal">
<span class="pillar-numeral" aria-hidden="true">I</span>
<h3 class="display-md pillar-title">Remembers</h3>
<div class="pillar-rule"></div>
<p class="pillar-body">Every session picks up where you left off. Every project. Every context. No more re-explaining who you are, what you&#39;re building, or what matters to you.</p>
<p class="pillar-detail">Zero re-orientation</p>
</div>
<div class=\"pillar-card card-dark reveal\" style=\"transition-delay:150ms\">
<span class=\"pillar-numeral\" aria-hidden=\"true\">II</span>
<h3 class=\"display-md pillar-title\">Sharpens</h3>
<div class=\"pillar-rule\"></div>
<p class=\"pillar-body\">The longer you use it, the sharper it gets. Every session builds on the last. Neuron Inference arrives Q3 2026 - not a wrapper around someone else&#39;s model. Purpose-built. Built for you.</p>
<p class=\"pillar-detail\">Specific to you</p>
<div class="pillar-card card-dark reveal" style="transition-delay:150ms">
<span class="pillar-numeral" aria-hidden="true">II</span>
<h3 class="display-md pillar-title">Sharpens</h3>
<div class="pillar-rule"></div>
<p class="pillar-body">The longer you use it, the sharper it gets. Every session builds on the last. Neuron Inference arrives Q3 2026 - not a wrapper around someone else&#39;s model. Purpose-built. Built for you.</p>
<p class="pillar-detail">Specific to you</p>
</div>
<div class=\"pillar-card card-dark reveal\" style=\"transition-delay:300ms\">
<span class=\"pillar-numeral\" aria-hidden=\"true\">III</span>
<h3 class=\"display-md pillar-title\">Yours</h3>
<div class=\"pillar-rule\"></div>
<p class=\"pillar-body\">Runs locally. Your data never leaves. No cloud dependency, no telemetry, no training on your conversations. Complete ownership. And unlike every other AI subscription - we&#39;re not charging you to remember you.</p>
<p class=\"pillar-detail\">Fully private</p>
<div class="pillar-card card-dark reveal" style="transition-delay:300ms">
<span class="pillar-numeral" aria-hidden="true">III</span>
<h3 class="display-md pillar-title">Yours</h3>
<div class="pillar-rule"></div>
<p class="pillar-body">Runs locally. Your data never leaves. No cloud dependency, no telemetry, no training on your conversations. Complete ownership. And unlike every other AI subscription - we&#39;re not charging you to remember you.</p>
<p class="pillar-detail">Fully private</p>
</div>
</div>
</div>
</section>
"
}