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
7 changes: 0 additions & 7 deletions objects/product.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,3 @@ title = "Every change, tracked forever"
content = """
Archival remembers every change you've ever made. Browse your full history, see exactly what changed and when, and roll back anything instantly, from a single edit to a whole day's work. Archival websites, and all changes to them, last forever.
"""

[[sections]]
key = "cta"
title = "Build yours right now."
content = """
Describe what type of site you'd like to create and we'll get you live in a few minutes.
"""
29 changes: 26 additions & 3 deletions pages/_build-cta.liquid
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,33 @@
pages that do not.
{% endcomment %}

<p class="build-or">or</p>
{% comment %}
Deliberately a quiet line rather than a second button: the prompt above is the
primary action, and a peer-weight CTA next to it splits the ask. Still a real
<button> - it opens a dialog, it does not navigate - and it keeps the id, which
is how src/build-with-claude.ts binds it. The "or" that used to sit above only
earns its place between two buttons.
{% endcomment %}
<p class="build-alt">Rather work in your terminal?</p>

<button id="bwc-launch" type="button" class="primary-cta bwc-launch" data-umami-event="bwc-deeplink">
Open in Claude Code
<button id="bwc-launch" type="button" class="build-alt-cta" data-umami-event="bwc-deeplink">
{% comment %}
Anthropic's official Spark mark, kept in its own clay rather than
recoloured. Sized to 24px to match the icon in the manifesto CTA this borrows from.
{% endcomment %}
<svg
class="build-alt-mark"
data-cds="Spark"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 100 100"
fill="var(--cds-clay, #d97757)"
aria-hidden="true"
>
<path
d="m19.6 66.5 19.7-11 .3-1-.3-.5h-1l-3.3-.2-11.2-.3L14 53l-9.5-.5-2.4-.5L0 49l.2-1.5 2-1.3 2.9.2 6.3.5 9.5.6 6.9.4L38 49.1h1.6l.2-.7-.5-.4-.4-.4L29 41l-10.6-7-5.6-4.1-3-2-1.5-2-.6-4.2 2.7-3 3.7.3.9.2 3.7 2.9 8 6.1L37 36l1.5 1.2.6-.4.1-.3-.7-1.1L33 25l-6-10.4-2.7-4.3-.7-2.6c-.3-1-.4-2-.4-3l3-4.2L28 0l4.2.6L33.8 2l2.6 6 4.1 9.3L47 29.9l2 3.8 1 3.4.3 1h.7v-.5l.5-7.2 1-8.7 1-11.2.3-3.2 1.6-3.8 3-2L61 2.6l2 2.9-.3 1.8-1.1 7.7L59 27.1l-1.5 8.2h.9l1-1.1 4.1-5.4 6.9-8.6 3-3.5L77 13l2.3-1.8h4.3l3.1 4.7-1.4 4.9-4.4 5.6-3.7 4.7-5.3 7.1-3.2 5.7.3.4h.7l12-2.6 6.4-1.1 7.6-1.3 3.5 1.6.4 1.6-1.4 3.4-8.2 2-9.6 2-14.3 3.3-.2.1.2.3 6.4.6 2.8.2h6.8l12.6 1 3.3 2 1.9 2.7-.3 2-5.1 2.6-6.8-1.6-16-3.8-5.4-1.3h-.8v.4l4.6 4.5 8.3 7.5L89 80.1l.5 2.4-1.3 2-1.4-.2-9.2-7-3.6-3-8-6.8h-.5v.7l1.8 2.7 9.8 14.7.5 4.5-.7 1.4-2.6 1-2.7-.6-5.8-8-6-9-4.7-8.2-.5.4-2.9 30.2-1.3 1.5-3 1.2-2.5-2-1.4-3 1.4-6.2 1.6-8 1.3-6.4 1.2-7.9.7-2.6v-.2H49L43 72l-9 12.3-7.2 7.6-1.7.7-3-1.5.3-2.8L24 86l10-12.8 6-7.9 4-4.6-.1-.5h-.3L17.2 77.4l-4.7.6-2-2 .2-3 1-1 8-5.5Z"
></path>
</svg>
Build it with Claude Code
</button>

{% comment %}
Expand Down
26 changes: 23 additions & 3 deletions pages/_nav.liquid
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,23 @@
</button>
</div>
<ul class="flex-shrink justify-end gap-8 items-center flex-wrap hidden md:flex">
<li class="nav-text {% if area == 'product' %}nav-active{% endif %}">
<a href="/product.html" data-umami-event="nav-product">Product</a>
{% comment %}
The tour lives on the homepage now, so this item has no page of its own to
match on. index.liquid scroll-spies it instead: active while the tour is
actually on screen. Desktop only — the mobile item sits in a closed menu,
where an active state has nothing to tell anyone.
{% endcomment %}
<li class="nav-text" data-nav-product>
{% comment %}
Bare "#product" on the homepage itself. "/#product" is a different
document from "/index.html", so the browser reloads the whole page and
only then jumps — which reads as a long stall followed by a snap.
{% endcomment %}
<a
href="{% if area == 'home' %}#product{% else %}/#product{% endif %}"
data-umami-event="nav-product"
>Product</a
>
</li>
{% assign docs_link = objects.docs | first %}
<li class="nav-text {% if area == 'docs' %}nav-active{% endif %}">
Expand Down Expand Up @@ -134,7 +149,12 @@
>
<ul class="flex flex-col">
<li class="mobile-nav-item">
<a class="flex-1" href="/product.html" data-umami-event="mobile-nav-product">Product</a>
<a
class="flex-1"
href="{% if area == 'home' %}#product{% else %}/#product{% endif %}"
data-umami-event="mobile-nav-product"
>Product</a
>
</li>
{% assign docs_link = objects.docs | first %}
<li class="mobile-nav-item">
Expand Down
Loading
Loading