diff --git a/apps/marketing/public/assets/annotate.webp b/apps/marketing/public/assets/annotate.webp new file mode 100644 index 000000000..a0ecde311 Binary files /dev/null and b/apps/marketing/public/assets/annotate.webp differ diff --git a/apps/marketing/public/assets/banner.webp b/apps/marketing/public/assets/banner.webp new file mode 100644 index 000000000..78a0cf71f Binary files /dev/null and b/apps/marketing/public/assets/banner.webp differ diff --git a/apps/marketing/public/assets/html.webp b/apps/marketing/public/assets/html.webp new file mode 100644 index 000000000..208d8def3 Binary files /dev/null and b/apps/marketing/public/assets/html.webp differ diff --git a/apps/marketing/public/assets/review.webp b/apps/marketing/public/assets/review.webp new file mode 100644 index 000000000..6dd19382f Binary files /dev/null and b/apps/marketing/public/assets/review.webp differ diff --git a/apps/marketing/public/assets/sharing.png b/apps/marketing/public/assets/sharing.png new file mode 100644 index 000000000..192f2e0e1 Binary files /dev/null and b/apps/marketing/public/assets/sharing.png differ diff --git a/apps/marketing/public/assets/totman_transparent_sm.png b/apps/marketing/public/assets/totman_transparent_sm.png new file mode 100644 index 000000000..5e9da0278 Binary files /dev/null and b/apps/marketing/public/assets/totman_transparent_sm.png differ diff --git a/apps/marketing/public/assets/workspaces.webp b/apps/marketing/public/assets/workspaces.webp new file mode 100644 index 000000000..9d95702ba Binary files /dev/null and b/apps/marketing/public/assets/workspaces.webp differ diff --git a/apps/marketing/public/plannotator.webp b/apps/marketing/public/plannotator.webp deleted file mode 100644 index c412617b5..000000000 Binary files a/apps/marketing/public/plannotator.webp and /dev/null differ diff --git a/apps/marketing/src/components/Footer.astro b/apps/marketing/src/components/Footer.astro index d1b026510..815388cd8 100644 --- a/apps/marketing/src/components/Footer.astro +++ b/apps/marketing/src/components/Footer.astro @@ -35,7 +35,7 @@ const { authors, community } = await getContributors();
- + Plannotator
diff --git a/apps/marketing/src/layouts/Base.astro b/apps/marketing/src/layouts/Base.astro index a16862649..74f0d724f 100644 --- a/apps/marketing/src/layouts/Base.astro +++ b/apps/marketing/src/layouts/Base.astro @@ -4,6 +4,7 @@ interface Props { description?: string; ogImage?: string; canonicalUrl?: string; + themeClass?: string; } const { @@ -11,6 +12,7 @@ const { description = 'Interactive Plan Review: Mark up and refine coding-agent plans in a browser UI, share with your team, and integrate with Claude Code, Codex, OpenCode, and more.', ogImage = 'https://plannotator.ai/og-image.webp', canonicalUrl, + themeClass, } = Astro.props; const canonical = canonicalUrl || Astro.url.href; @@ -18,7 +20,7 @@ const canonical = canonicalUrl || Astro.url.href; import '../styles/global.css'; --- - + @@ -54,9 +56,12 @@ import '../styles/global.css'; (function() { var root = document.documentElement; // Color theme (palette) — marketing uses whatever the user set in the app - var colorMatch = document.cookie.match(/(?:^|; )plannotator-color-theme=([^;]*)/); - var colorTheme = colorMatch ? decodeURIComponent(colorMatch[1]) : 'plannotator'; - root.classList.add('theme-' + colorTheme); + var hasTheme = /theme-[\w-]+/.test(root.className); + if (!hasTheme) { + var colorMatch = document.cookie.match(/(?:^|; )plannotator-color-theme=([^;]*)/); + var colorTheme = colorMatch ? decodeURIComponent(colorMatch[1]) : 'plannotator'; + root.classList.add('theme-' + colorTheme); + } // Mode (dark/light/system) var modeMatch = document.cookie.match(/(?:^|; )plannotator-theme=([^;]*)/); var mode = modeMatch ? decodeURIComponent(modeMatch[1]) : 'dark'; diff --git a/apps/marketing/src/pages/index.astro b/apps/marketing/src/pages/index.astro index 1fb652577..f4bcc4215 100644 --- a/apps/marketing/src/pages/index.astro +++ b/apps/marketing/src/pages/index.astro @@ -1,129 +1,252 @@ --- -import Base from '../layouts/Base.astro'; -import Nav from '../components/Nav.astro'; -import Footer from '../components/Footer.astro'; -import HeroSection from '../components/landing/HeroSection.astro'; -import SocialProofBar from '../components/landing/SocialProofBar.astro'; -import AnnoReplace from '../components/landing/AnnoReplace.astro'; +import '../styles/global.css'; +import '../styles/v3.css'; --- - -
-
- - + + + + + + + diff --git a/apps/marketing/src/pages/install/index.astro b/apps/marketing/src/pages/install/index.astro new file mode 100644 index 000000000..e35455090 --- /dev/null +++ b/apps/marketing/src/pages/install/index.astro @@ -0,0 +1,548 @@ +--- +import '../../styles/global.css'; +import '../../styles/v3.css'; +--- + + + + + + Install Plannotator + + + + + + + + + + + +
+ + + Back + + +

Install Plannotator

+

+ One installer drops in the plannotator binary, detects the agents you already have, and wires up hooks, skills, and slash commands. Run it, pick your agent, and you are done. +

+ + +
+
+ 1 +

Install the binary

+
+ +
+ curl -fsSL https://plannotator.ai/install.sh | bash + +
+ +
+ + + On Windows? + +
+
+ PowerShell +
+ irm https://plannotator.ai/install.ps1 | iex + +
+
+
+ CMD +
+ curl -fsSL https://plannotator.ai/install.cmd -o install.cmd && install.cmd && del install.cmd + +
+
+
+
+
+ + +
+
+ 2 +

Pick your agent

+
+

Agents tagged Auto are already configured. The rest take one quick step.

+ +
+ +
+
+
+ +

+ Every release ships SHA256 checksums (verified automatically) and optional SLSA build provenance. To pin a version or read the long form, see the full installation docs. +

+
+ + + + + diff --git a/apps/marketing/src/pages/workspaces/index.astro b/apps/marketing/src/pages/workspaces/index.astro index 570d7b805..ffc834a2c 100644 --- a/apps/marketing/src/pages/workspaces/index.astro +++ b/apps/marketing/src/pages/workspaces/index.astro @@ -24,198 +24,82 @@ const teamSizes = [ - - -
-
{turnstileSitekey && ( @@ -587,11 +499,206 @@ const teamSizes = [ })(); + +