History

Position cloud as primary CTA on marketing site (#525)

* Position cloud as primary CTA on marketing site Reorganizes the landing page to lead with hosted Executor as the recommended path for teams, with local/open source as the secondary option. Both are framed as a side-by-side choice rather than the local install being the only path. - Nav and hero CTA now point at /cloud (Try Cloud) - New 'Pick your path' section with cloud and local cards side by side - Hero copy: 'integration layer' replaces 'execution layer' - Roadmap: Team management & SaaS in Now; Soon updated to Skills, Generative UI, Workflows, Workspaces * Remove MIT-licensed dashboard caption from local card

Rhys Sullivan committed 6 months ago

Commit 9cdd1db1 parent bba27031 file · +130 −63Browse files

Unified · Split

apps/marketing/src/pages/index.astro+130−63
@@ -6,14 +6,13 @@ import Layout from '../layouts/Layout.astro' · 5 unmodified lines
66 <Layout>
77 <!-- ─── NAV ─── -->
88 <nav class="fixed top-0 w-full z-50 bg-surface/80 backdrop-blur-lg">
9− <div class="max-w-[1200px] mx-auto px-6 sm:px-10 h-14 flex items-center justify-between border-b border-rule">
9+ <div class="max-w-[1200px] mx-auto px-6 sm:px-10 h-14 flex items-center justify-between">
1010 <a href="/" class="font-display text-xl italic text-ink tracking-tight hover:text-teal transition-colors">executor</a>
11− <div class="flex items-center gap-8">
11+ <div class="flex items-center gap-6 sm:gap-8">
1212 <a href="#roadmap" class="hidden sm:block text-[13px] text-ink-muted hover:text-ink transition-colors">Roadmap</a>
13− <!-- <a href="/setup" class="hidden sm:block text-[13px] text-ink-muted hover:text-ink transition-colors">Setup</a> -->
1413 <a href="https://github.com/RhysSullivan/executor" class="hidden sm:block text-[13px] text-ink-muted hover:text-ink transition-colors">GitHub</a>
15− <a href="#install" class="text-[13px] font-medium text-surface bg-teal hover:bg-teal-dim px-4 py-1.5 rounded-md transition-colors">
16− Get started
14+ <a href="/cloud" class="text-[13px] font-medium text-surface bg-teal hover:bg-teal-dim px-4 py-1.5 rounded-md transition-colors">
15+ Try Cloud
1716 </a>
1817 </div>
1918 </div>
@@ -27,7 +26,7 @@ import Layout from '../layouts/Layout.astro' · 7 unmodified lines
2726 <!-- Text centered -->
2827 <div class="text-center max-w-2xl mx-auto mt-10 mb-16">
2928 <h1 class="rise-d1 font-display text-[clamp(3rem,7vw,5.5rem)] leading-[0.95] tracking-tight mb-8">
30− <span class="text-ink">Your missing<br /></span><span class="italic text-teal">execution&nbsp;layer</span>
29+ <span class="text-ink">Your missing<br /></span><span class="italic text-teal">integration&nbsp;layer</span>
3130 </h1>
3231
3332 <p class="rise-d2 text-[17px] leading-[1.7] text-ink-muted mb-10">
@@ -35,10 +34,13 @@ import Layout from '../layouts/Layout.astro' · 1 unmodified line
3534 Cursor, Claude Code, OpenCode&mdash;or your own.
3635 </p>
3736
38− <div class="rise-d3 flex flex-wrap items-center justify-center gap-4">
39− <a href="#install" class="inline-flex items-center gap-2 text-[14px] font-medium text-surface bg-teal hover:bg-teal-dim px-5 py-2.5 rounded-md transition-colors">
40− Get started
41− <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19 14l-7 7m0 0l-7-7m7 7V3"/></svg>
37+ <div class="rise-d3 flex flex-wrap items-center justify-center gap-3">
38+ <a href="/cloud" class="inline-flex items-center gap-2 text-[14px] font-medium text-surface bg-teal hover:bg-teal-dim pl-5 pr-3 py-2.5 rounded-md transition-colors">
39+ Try Cloud
40+ <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"/></svg>
41+ </a>
42+ <a href="#get-started" class="inline-flex items-center gap-2 text-[14px] font-medium text-ink-muted hover:text-ink border border-rule hover:border-ink-faint px-5 py-2.5 rounded-md transition-colors">
43+ Run it locally
4244 </a>
4345 </div>
4446 </div>
@@ -722,6 +724,10 @@ import Layout from '../layouts/Layout.astro' · 677 unmodified lines
722724 <svg class="w-4 h-4 text-teal mt-0.5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /></svg>
723725 <span class="text-ink-muted">Desktop app</span>
724726 </li>
727+ <li class="flex items-start gap-2.5">
728+ <svg class="w-4 h-4 text-teal mt-0.5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /></svg>
729+ <span class="text-ink-muted">Team management &amp; SaaS</span>
730+ </li>
725731 </ul>
726732 </div>
727733 </div>
@@ -733,9 +739,10 @@ import Layout from '../layouts/Layout.astro' · 5 unmodified lines
733739 <span class="font-mono text-[11px] text-ink-muted uppercase tracking-[0.15em]">Soon</span>
734740 </div>
735741 <ul class="space-y-3 text-[14px]">
736− <li class="text-ink-muted">Team management &amp; SaaS</li>
737− <li class="text-ink-muted">Advanced approval workflows</li>
738− <li class="text-ink-muted">Org-wide source catalog</li>
742+ <li class="text-ink-muted">Skills</li>
743+ <li class="text-ink-muted">Generative UI</li>
744+ <li class="text-ink-muted">Workflows</li>
745+ <li class="text-ink-muted">Workspaces</li>
739746 </ul>
740747 </div>
741748
@@ -756,68 +763,128 @@ import Layout from '../layouts/Layout.astro' · 14 unmodified lines
756763 </div>
757764 </section>
758765
759− <!-- ─── CTA ─── -->
760− <section id="install" class="py-32 sm:py-40 relative">
766+ <!-- ─── GET STARTED: dual path ─── -->
767+ <section id="get-started" class="py-32 sm:py-40 relative">
761768 <div class="absolute inset-0 border-t border-rule"></div>
762769
763770 <div class="relative max-w-[1200px] mx-auto px-6 sm:px-10">
764− <div class="reveal max-w-2xl mx-auto text-center">
765− <h2 class="font-display text-[clamp(2rem,5vw,4rem)] leading-[1.05] tracking-tight mb-8">
766− Try the future of <span class="italic text-teal">tool calling.</span>
771+ <div class="reveal max-w-2xl mx-auto text-center mb-16">
772+ <span class="text-[11px] font-mono uppercase tracking-[0.2em] text-ink-faint mb-4 block">Get started</span>
773+ <h2 class="font-display text-[clamp(2rem,5vw,4rem)] leading-[1.05] tracking-tight mb-5">
774+ Pick your <span class="italic text-teal">path</span>
767775 </h2>
776+ <p class="text-[15px] leading-[1.6] text-ink-muted">
777+ Hosted Executor for teams, or open source on your own machine.
778+ </p>
779+ </div>
768780
769− <div class="flex items-center justify-center mb-10">
770− <a href="https://github.com/RhysSullivan/executor" class="inline-flex items-center gap-2 text-[14px] text-ink-muted hover:text-ink border border-rule hover:border-ink-faint px-6 py-3 rounded-md transition-colors">
771− View on GitHub
772− </a>
773− </div>
781+ <!-- Dual-path cards -->
782+ <div class="reveal grid md:grid-cols-2 gap-6 items-stretch" id="install">
774783
775− <!-- MCP installation steps -->
776− <div class="mt-10 text-left max-w-lg mx-auto space-y-5" id="install-steps">
777− <div>
778− <p class="text-[12px] font-medium text-ink-muted uppercase tracking-wider mb-2">1. Install</p>
779− <!-- Package manager tabs -->
780− <div class="flex gap-0 border border-rule rounded-lg overflow-hidden">
781− <div class="flex border-b border-rule w-full bg-surface-raised">
782− <button data-pm="npm" class="pm-tab pm-tab-active flex-1 text-[12px] font-medium py-2 border-b-2 transition-colors">npm</button>
783− <button data-pm="bun" class="pm-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">bun</button>
784− <button data-pm="pnpm" class="pm-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">pnpm</button>
785− </div>
786− </div>
787− <div class="install-cmd relative bg-surface-raised border border-t-0 border-rule rounded-b-lg px-5 py-3 font-mono text-[14px]">
788− <span class="text-ink-faint select-none">$ </span><span class="cmd-text text-ink">npm install -g executor</span>
789− <button class="copy-btn absolute right-3 top-1/2 -translate-y-1/2 text-ink-faint hover:text-ink transition-colors p-1" aria-label="Copy">
790− <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" /></svg>
791− </button>
784+ <!-- Cloud (recommended) -->
785+ <div class="relative rounded-xl border border-teal/25 bg-surface-raised p-6 sm:p-8 flex flex-col justify-between overflow-hidden">
786+ <div class="absolute inset-0 bg-gradient-to-b from-teal/[0.04] to-transparent pointer-events-none"></div>
787+ <div class="relative">
788+ <div class="flex items-center justify-between mb-5">
789+ <span class="font-mono text-[11px] text-teal uppercase tracking-[0.15em]">Cloud</span>
790+ <span class="text-[10px] font-mono text-teal border border-teal/25 rounded px-2 py-0.5 uppercase tracking-[0.1em]">Recommended for teams</span>
792791 </div>
792+
793+ <h3 class="font-display text-[clamp(1.5rem,2.6vw,2rem)] leading-[1.1] tracking-tight text-ink mb-3">
794+ Run it with <span class="italic text-teal">your team</span>
795+ </h3>
796+ <p class="text-[14px] leading-[1.6] text-ink-muted mb-6">
797+ A managed Executor for your whole org. Shared sources, shared auth, shared policies &mdash; onboard a teammate in seconds.
798+ </p>
799+
800+ <ul role="list" class="space-y-2.5 text-[13px] mb-8">
801+ <li class="flex items-start gap-2.5">
802+ <svg class="w-4 h-4 text-teal mt-0.5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /></svg>
803+ <span class="text-ink-muted">Free for up to 3 members</span>
804+ </li>
805+ <li class="flex items-start gap-2.5">
806+ <svg class="w-4 h-4 text-teal mt-0.5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /></svg>
807+ <span class="text-ink-muted">Org-wide catalog &amp; policy engine</span>
808+ </li>
809+ <li class="flex items-start gap-2.5">
810+ <svg class="w-4 h-4 text-teal mt-0.5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /></svg>
811+ <span class="text-ink-muted">Zero infra &mdash; sign in and go</span>
812+ </li>
813+ </ul>
814+ </div>
815+
816+ <div class="relative">
817+ <a href="/cloud" class="inline-flex w-full items-center justify-center gap-2 text-[14px] font-medium text-surface bg-teal hover:bg-teal-dim pl-5 pr-3 py-3 rounded-md transition-colors">
818+ Try Cloud
819+ <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"/></svg>
820+ </a>
793821 </div>
822+ </div>
823+
824+ <!-- Local (open source) -->
825+ <div class="rounded-xl border border-rule bg-surface-raised p-6 sm:p-8 flex flex-col justify-between">
794826 <div>
795− <p class="text-[12px] font-medium text-ink-muted uppercase tracking-wider mb-2">2. Add to your agent</p>
796− <!-- Runner tabs -->
797− <div class="flex gap-0 border border-rule rounded-lg overflow-hidden">
798− <div class="flex border-b border-rule w-full bg-surface-raised">
799− <button data-runner="npx" class="runner-tab runner-tab-active flex-1 text-[12px] font-medium py-2 border-b-2 transition-colors">npx</button>
800− <button data-runner="bunx" class="runner-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">bunx</button>
801− <button data-runner="pnpx" class="runner-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">pnpx</button>
802− </div>
827+ <div class="flex items-center justify-between mb-5">
828+ <span class="font-mono text-[11px] text-ink-faint uppercase tracking-[0.15em]">Local</span>
829+ <span class="text-[10px] font-mono text-ink-faint border border-rule rounded px-2 py-0.5 uppercase tracking-[0.1em]">Open source</span>
803830 </div>
804− <div class="relative bg-surface-raised border border-t-0 border-rule rounded-b-lg px-5 py-3 font-mono text-[14px]">
805− <span class="text-ink-faint select-none">$ </span><span class="runner-cmd-text text-ink">npx add-mcp "executor mcp" --name "executor"</span>
806− <button class="copy-btn absolute right-3 top-1/2 -translate-y-1/2 text-ink-faint hover:text-ink transition-colors p-1" aria-label="Copy">
807− <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" /></svg>
808− </button>
831+
832+ <h3 class="font-display text-[clamp(1.5rem,2.6vw,2rem)] leading-[1.1] tracking-tight text-ink mb-3">
833+ Run it on <span class="italic text-ink-muted">your laptop</span>
834+ </h3>
835+ <p class="text-[14px] leading-[1.6] text-ink-muted mb-6">
836+ The same Executor, MIT-licensed, running entirely on your machine. Secrets stay in your keychain. Nothing leaves your laptop.
837+ </p>
838+
839+ <!-- MCP installation steps -->
840+ <div class="space-y-4">
841+ <div>
842+ <p class="text-[11px] font-medium text-ink-muted uppercase tracking-wider mb-2">1. Install</p>
843+ <div class="flex border border-rule border-b-0 rounded-t-lg overflow-hidden bg-surface">
844+ <button data-pm="npm" class="pm-tab pm-tab-active flex-1 text-[12px] font-medium py-2 border-b-2 transition-colors">npm</button>
845+ <button data-pm="bun" class="pm-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">bun</button>
846+ <button data-pm="pnpm" class="pm-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">pnpm</button>
847+ </div>
848+ <div class="install-cmd relative bg-surface border border-rule rounded-b-lg px-4 py-2.5 font-mono text-[13px]">
849+ <span class="text-ink-faint select-none">$ </span><span class="cmd-text text-ink">npm install -g executor</span>
850+ <button class="copy-btn absolute right-2.5 top-1/2 -translate-y-1/2 text-ink-faint hover:text-ink transition-colors p-1" aria-label="Copy">
851+ <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" /></svg>
852+ </button>
853+ </div>
854+ </div>
855+
856+ <div>
857+ <p class="text-[11px] font-medium text-ink-muted uppercase tracking-wider mb-2">2. Add to your agent</p>
858+ <div class="flex border border-rule border-b-0 rounded-t-lg overflow-hidden bg-surface">
859+ <button data-runner="npx" class="runner-tab runner-tab-active flex-1 text-[12px] font-medium py-2 border-b-2 transition-colors">npx</button>
860+ <button data-runner="bunx" class="runner-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">bunx</button>
861+ <button data-runner="pnpx" class="runner-tab flex-1 text-[12px] font-medium py-2 border-b-2 border-transparent text-ink-faint hover:text-ink transition-colors">pnpx</button>
862+ </div>
863+ <div class="relative bg-surface border border-rule rounded-b-lg px-4 py-2.5 font-mono text-[13px]">
864+ <span class="text-ink-faint select-none">$ </span><span class="runner-cmd-text text-ink">npx add-mcp "executor mcp" --name "executor"</span>
865+ <button class="copy-btn absolute right-2.5 top-1/2 -translate-y-1/2 text-ink-faint hover:text-ink transition-colors p-1" aria-label="Copy">
866+ <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" /></svg>
867+ </button>
868+ </div>
869+ </div>
870+
871+ <div>
872+ <p class="text-[11px] font-medium text-ink-muted uppercase tracking-wider mb-2">3. Open the dashboard</p>
873+ <div class="relative bg-surface border border-rule rounded-lg px-4 py-2.5 font-mono text-[13px]">
874+ <span class="text-ink-faint select-none">$ </span><span class="text-ink">executor web</span>
875+ <button class="copy-btn absolute right-2.5 top-1/2 -translate-y-1/2 text-ink-faint hover:text-ink transition-colors p-1" aria-label="Copy">
876+ <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" /></svg>
877+ </button>
878+ </div>
879+ </div>
809880 </div>
810− <p class="text-[12px] text-ink-faint mt-1.5">You can also tell your agent to use the <code class="text-ink/70 bg-surface-raised px-1 py-0.5 rounded text-[11px]">executor</code> CLI directly if they don't support MCP.</p>
811881 </div>
812− <div>
813− <p class="text-[12px] font-medium text-ink-muted uppercase tracking-wider mb-2">3. Add a source and go</p>
814− <div class="relative bg-surface-raised border border-rule rounded-lg px-5 py-3 font-mono text-[14px]">
815− <span class="text-ink-faint select-none">$ </span><span class="text-ink">executor web</span>
816− <button class="copy-btn absolute right-3 top-1/2 -translate-y-1/2 text-ink-faint hover:text-ink transition-colors p-1" aria-label="Copy">
817− <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" /></svg>
818− </button>
819− </div>
820− <p class="text-[12px] text-ink-faint mt-1.5">Opens the dashboard at localhost:4788 — add sources, set policies, manage auth.</p>
882+
883+ <div class="mt-8">
884+ <a href="https://github.com/RhysSullivan/executor" class="inline-flex w-full items-center justify-center gap-2 text-[14px] font-medium text-ink-muted hover:text-ink border border-rule hover:border-ink-faint px-5 py-3 rounded-md transition-colors">
885+ <svg class="w-4 h-4" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
886+ View on GitHub
887+ </a>
821888 </div>
822889 </div>
823890 </div>