diff --git a/astro.config.mjs b/astro.config.mjs
index 1fdb152a..ad9e3c9b 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -30,11 +30,6 @@ const redirects = {
export default defineConfig({
site: process.env.SITE_URL || 'https://promptless.ai',
redirects,
- image: {
- service: {
- entrypoint: 'astro/assets/services/noop',
- },
- },
integrations: [
react(),
starlight({
@@ -66,6 +61,16 @@ export default defineConfig({
baseUrl: 'https://github.com/Promptless/docs/tree/main',
},
head: [
+ {
+ tag: 'link',
+ attrs: {
+ rel: 'preload',
+ href: '/fonts/InterVariable.woff2',
+ as: 'font',
+ type: 'font/woff2',
+ crossorigin: '',
+ },
+ },
{
tag: 'meta',
attrs: { property: 'og:image', content: 'https://promptless.ai/assets/social-card.png' },
diff --git a/src/assets/homepage/Frame 29 (10).png b/src/assets/homepage/Frame 29 (10).png
new file mode 100644
index 00000000..90b57b2d
Binary files /dev/null and b/src/assets/homepage/Frame 29 (10).png differ
diff --git a/src/assets/homepage/Frame 35.png b/src/assets/homepage/Frame 35.png
new file mode 100644
index 00000000..3e43876e
Binary files /dev/null and b/src/assets/homepage/Frame 35.png differ
diff --git a/src/assets/homepage/promptless-2-2.png b/src/assets/homepage/promptless-2-2.png
new file mode 100644
index 00000000..a4f2175d
Binary files /dev/null and b/src/assets/homepage/promptless-2-2.png differ
diff --git a/src/assets/homepage/promptless_1_listen.png b/src/assets/homepage/promptless_1_listen.png
new file mode 100644
index 00000000..736f337b
Binary files /dev/null and b/src/assets/homepage/promptless_1_listen.png differ
diff --git a/src/assets/site/aaron.jpeg b/src/assets/site/aaron.jpeg
new file mode 100644
index 00000000..202c1101
Binary files /dev/null and b/src/assets/site/aaron.jpeg differ
diff --git a/src/assets/site/alan.jpeg b/src/assets/site/alan.jpeg
new file mode 100644
index 00000000..6d922b9a
Binary files /dev/null and b/src/assets/site/alan.jpeg differ
diff --git a/src/assets/site/eduardo.jpeg b/src/assets/site/eduardo.jpeg
new file mode 100644
index 00000000..9798849b
Binary files /dev/null and b/src/assets/site/eduardo.jpeg differ
diff --git a/src/assets/site/logos/doc-detective.png b/src/assets/site/logos/doc-detective.png
new file mode 100644
index 00000000..97f4dd9f
Binary files /dev/null and b/src/assets/site/logos/doc-detective.png differ
diff --git a/src/assets/site/manny.jpeg b/src/assets/site/manny.jpeg
new file mode 100644
index 00000000..d58f83f5
Binary files /dev/null and b/src/assets/site/manny.jpeg differ
diff --git a/src/assets/site/mo.jpeg b/src/assets/site/mo.jpeg
new file mode 100644
index 00000000..1d46e7a0
Binary files /dev/null and b/src/assets/site/mo.jpeg differ
diff --git a/src/assets/site/nicholas.jpeg b/src/assets/site/nicholas.jpeg
new file mode 100644
index 00000000..3b4a87e3
Binary files /dev/null and b/src/assets/site/nicholas.jpeg differ
diff --git a/src/assets/site/step_3.png b/src/assets/site/step_3.png
new file mode 100644
index 00000000..8fa2a9f4
Binary files /dev/null and b/src/assets/site/step_3.png differ
diff --git a/src/assets/site/yc_logo.svg.png b/src/assets/site/yc_logo.svg.png
new file mode 100644
index 00000000..09fb0f3f
Binary files /dev/null and b/src/assets/site/yc_logo.svg.png differ
diff --git a/src/components/site/Hero.astro b/src/components/site/Hero.astro
index d0b2ea8c..33ccb415 100644
--- a/src/components/site/Hero.astro
+++ b/src/components/site/Hero.astro
@@ -1,4 +1,7 @@
---
+import { Image } from 'astro:assets';
+import ycLogo from '../../assets/site/yc_logo.svg.png';
+
interface Props {
prefix?: string;
words?: string[];
@@ -38,7 +41,7 @@ const {
-

+
Backed by Y Combinator
Trusted by fast-growing startups and Fortune 500 enterprises alike
diff --git a/src/components/site/HowItWorks.astro b/src/components/site/HowItWorks.astro
index 33e66c0f..3a783627 100644
--- a/src/components/site/HowItWorks.astro
+++ b/src/components/site/HowItWorks.astro
@@ -1,11 +1,20 @@
---
+import { Image } from 'astro:assets';
+import type { ImageMetadata } from 'astro';
+
+import listenImg from '../../assets/homepage/promptless_1_listen.png';
+import draftImg from '../../assets/homepage/Frame 29 (10).png';
+import draftSecondaryImg from '../../assets/homepage/promptless-2-2.png';
+import reviewImg from '../../assets/site/step_3.png';
+import publishImg from '../../assets/homepage/Frame 35.png';
+
interface Step {
id: string;
label: string;
description: string;
- image?: string;
+ image?: ImageMetadata;
imageAlt?: string;
- imageSecondary?: string;
+ imageSecondary?: ImageMetadata;
imageSecondaryAlt?: string;
}
@@ -22,30 +31,30 @@ const defaultSteps: Step[] = [
id: 'listen',
label: 'Listen',
description: 'When a PR opens, a slack thread about docs starts, or a DOC ticket gets created, Promptless automatically wakes up and decides whether it warrants a doc update',
- image: '/assets/promptless_1_listen.png',
+ image: listenImg,
imageAlt: 'Step 1: Listen - Connect to Github, Slack, and Linear',
},
{
id: 'draft',
label: 'Draft',
description: 'Promptless does research across the context you connect it to, and proactively notifies you when there\'s a documentation suggestion.',
- image: '/assets/Frame%2029%20(10).png',
+ image: draftImg,
imageAlt: 'Step 2: Draft - Promptless notifies you proactively with suggestions',
- imageSecondary: '/assets/promptless-2-2.png',
+ imageSecondary: draftSecondaryImg,
imageSecondaryAlt: 'Step 2: additional Promptless draft screenshot',
},
{
id: 'review',
label: 'Review',
description: 'Review citations, provide feedback, or edit suggestions inline.',
- image: '/site/step_3.png',
+ image: reviewImg,
imageAlt: 'Step 3: Review - review citations, feedback, and inline edits',
},
{
id: 'publish',
label: 'Publish',
description: 'Open PRs or deploy directly to your docs provider.',
- image: '/assets/Frame%2035.png',
+ image: publishImg,
imageAlt: 'Step 4: Publish - open PRs or deploy directly to your docs provider',
},
];
@@ -72,11 +81,11 @@ const {
{step.image ? (
<>
-

+
{step.imageSecondary ? (
-

+
) : null}
>
diff --git a/src/components/site/Testimonials.astro b/src/components/site/Testimonials.astro
index 50570200..70ba4570 100644
--- a/src/components/site/Testimonials.astro
+++ b/src/components/site/Testimonials.astro
@@ -1,11 +1,22 @@
---
+import { Image } from 'astro:assets';
+import type { ImageMetadata } from 'astro';
+
+import mannyImg from '../../assets/site/manny.jpeg';
+import alanImg from '../../assets/site/alan.jpeg';
+import moImg from '../../assets/site/mo.jpeg';
+import aaronImg from '../../assets/site/aaron.jpeg';
+import eduardoImg from '../../assets/site/eduardo.jpeg';
+import nicholasImg from '../../assets/site/nicholas.jpeg';
+import docDetectiveLogo from '../../assets/site/logos/doc-detective.png';
+
interface Testimonial {
quote: string;
author: string;
title: string;
company: string;
- companyLogo: string;
- image: string;
+ companyLogo: ImageMetadata | string;
+ image: ImageMetadata;
}
interface Props {
@@ -19,8 +30,8 @@ const defaultItems: Testimonial[] = [
author: 'Manny Silva',
title: 'Creator',
company: 'Doc Detective',
- companyLogo: '/site/logos/doc-detective.png',
- image: '/site/manny.jpeg',
+ companyLogo: docDetectiveLogo,
+ image: mannyImg,
},
{
quote:
@@ -29,7 +40,7 @@ const defaultItems: Testimonial[] = [
title: 'Senior Technical Writer',
company: 'Runpod',
companyLogo: '/site/logos/runpod.png',
- image: '/site/mo.jpeg',
+ image: moImg,
},
{
quote:
@@ -38,7 +49,7 @@ const defaultItems: Testimonial[] = [
title: 'Docs Maintainer',
company: 'Bazel',
companyLogo: '/site/logos/bazel-icon.png',
- image: '/site/alan.jpeg',
+ image: alanImg,
},
{
quote:
@@ -47,7 +58,7 @@ const defaultItems: Testimonial[] = [
title: 'Founding Solutions Engineer',
company: 'Vellum',
companyLogo: '/site/logos/vellum-icon.svg',
- image: '/site/aaron.jpeg',
+ image: aaronImg,
},
{
quote: 'I love your product. It works incredibly well and basically pays for itself right away.',
@@ -55,7 +66,7 @@ const defaultItems: Testimonial[] = [
title: 'CTO',
company: 'Latitude.sh',
companyLogo: '/site/logos/latitude.svg',
- image: '/site/eduardo.jpeg',
+ image: eduardoImg,
},
{
quote: "Promptless is a solo tech writer's godsend.",
@@ -63,7 +74,7 @@ const defaultItems: Testimonial[] = [
title: 'Head of Developer Docs',
company: 'Prove',
companyLogo: '/site/logos/prove-icon.svg',
- image: '/site/nicholas.jpeg',
+ image: nicholasImg,
},
];
@@ -79,7 +90,7 @@ const { items = defaultItems } = Astro.props;
{item.quote}