diff --git a/apps/landing/astro.config.ts b/apps/landing/astro.config.ts
index 2ca31d32..79974139 100644
--- a/apps/landing/astro.config.ts
+++ b/apps/landing/astro.config.ts
@@ -91,10 +91,10 @@ export default defineConfig({
editLink: {
baseUrl: `${REPOSITORY_URL}/edit/main/apps/landing/`,
},
- favicon: "/onequery-icon.png",
+ favicon: "/favicon-96x96.png",
logo: {
alt: "OneQuery",
- src: "/src/assets/onequery-icon.png",
+ src: "/src/assets/onequery-icon.svg",
},
sidebar: [
{
diff --git a/apps/landing/package.json b/apps/landing/package.json
index 37ab6857..a5886d99 100644
--- a/apps/landing/package.json
+++ b/apps/landing/package.json
@@ -5,6 +5,7 @@
"type": "module",
"scripts": {
"dev": "astro dev",
+ "preview": "astro preview",
"workspace:dev": "bun run dev",
"build": "astro build",
"bundle:analyze": "ONEQUERY_BUNDLE_REPORT=1 astro build",
diff --git a/apps/landing/public/apple-touch-icon.png b/apps/landing/public/apple-touch-icon.png
new file mode 100644
index 00000000..aed60224
Binary files /dev/null and b/apps/landing/public/apple-touch-icon.png differ
diff --git a/apps/landing/public/favicon-96x96.png b/apps/landing/public/favicon-96x96.png
new file mode 100644
index 00000000..1bf44e82
Binary files /dev/null and b/apps/landing/public/favicon-96x96.png differ
diff --git a/apps/landing/public/og.png b/apps/landing/public/og.png
index 2fb28ae4..2a6a2d63 100644
Binary files a/apps/landing/public/og.png and b/apps/landing/public/og.png differ
diff --git a/apps/landing/src/assets/og.png b/apps/landing/src/assets/og.png
deleted file mode 100644
index 2fb28ae4..00000000
Binary files a/apps/landing/src/assets/og.png and /dev/null differ
diff --git a/apps/landing/src/assets/onequery-icon.png b/apps/landing/src/assets/onequery-icon.png
deleted file mode 100644
index eb586fdc..00000000
Binary files a/apps/landing/src/assets/onequery-icon.png and /dev/null differ
diff --git a/apps/landing/src/assets/onequery-icon.svg b/apps/landing/src/assets/onequery-icon.svg
new file mode 100644
index 00000000..3199ae97
--- /dev/null
+++ b/apps/landing/src/assets/onequery-icon.svg
@@ -0,0 +1,7 @@
+
diff --git a/apps/landing/src/components/landing/ControlPlaneDiagram.astro b/apps/landing/src/components/landing/ControlPlaneDiagram.astro
index 96ed52c6..85149765 100644
--- a/apps/landing/src/components/landing/ControlPlaneDiagram.astro
+++ b/apps/landing/src/components/landing/ControlPlaneDiagram.astro
@@ -1,7 +1,5 @@
---
-import { Image } from "astro:assets";
-
-import onequeryIcon from "../../assets/onequery-icon.png";
+import OneQueryIcon from "../../assets/onequery-icon.svg";
import { BrandIcon } from "../../landing/content/brand-icons";
import type { BrandIconName } from "../../landing/content/brand-icons";
@@ -179,9 +177,7 @@ const controlPlanePolicies = [
Unified control plane
- ({
class="brand-mark"
aria-label="OneQuery landing homepage"
>
-
OneQuery
diff --git a/apps/landing/src/landing/seo/site-images.ts b/apps/landing/src/landing/seo/site-images.ts
index 2a49f052..79677e67 100644
--- a/apps/landing/src/landing/seo/site-images.ts
+++ b/apps/landing/src/landing/seo/site-images.ts
@@ -1,6 +1,3 @@
-import { getImage } from "astro:assets";
-
-import oneQueryShareImage from "../../assets/og.png";
import { toAbsoluteSiteUrl } from "./structured-data";
import type { StructuredImageMetadata } from "./structured-data";
@@ -9,16 +6,14 @@ type TypedStructuredImageMetadata = StructuredImageMetadata & {
type: string;
};
-const STRUCTURED_SHARE_IMAGE_QUALITY = 90;
-
export const ONEQUERY_DEFAULT_SHARE_IMAGE_ALT =
"OneQuery - Governed Data Access for AI Agents";
export const ONEQUERY_PUBLIC_SHARE_IMAGE = {
- height: oneQueryShareImage.height,
+ height: 630,
type: "image/png",
url: "/og.png",
- width: oneQueryShareImage.width,
+ width: 1200,
} as const satisfies TypedStructuredImageMetadata;
export function getOneQueryPublicShareImageMetadata(
@@ -30,21 +25,8 @@ export function getOneQueryPublicShareImageMetadata(
};
}
-export async function getOneQueryStructuredShareImageMetadata(
+export function getOneQueryStructuredShareImageMetadata(
site?: SiteInput
-): Promise {
- const optimizedImage = await getImage({
- format: "webp",
- height: ONEQUERY_PUBLIC_SHARE_IMAGE.height,
- quality: STRUCTURED_SHARE_IMAGE_QUALITY,
- src: oneQueryShareImage,
- width: ONEQUERY_PUBLIC_SHARE_IMAGE.width,
- });
-
- return {
- height: ONEQUERY_PUBLIC_SHARE_IMAGE.height,
- type: "image/webp",
- url: toAbsoluteSiteUrl(optimizedImage.src, site),
- width: ONEQUERY_PUBLIC_SHARE_IMAGE.width,
- };
+): TypedStructuredImageMetadata {
+ return getOneQueryPublicShareImageMetadata(site);
}
diff --git a/apps/landing/src/layouts/BaseLayout.astro b/apps/landing/src/layouts/BaseLayout.astro
index 2f8d65c1..574cdc60 100644
--- a/apps/landing/src/layouts/BaseLayout.astro
+++ b/apps/landing/src/layouts/BaseLayout.astro
@@ -24,7 +24,7 @@ const siteUrl = normalizeSiteUrl(Astro.site);
const DEFAULT_CANONICAL_URL = createCanonicalUrl("/", siteUrl);
const defaultShareImage = getOneQueryPublicShareImageMetadata(siteUrl);
const defaultStructuredShareImage =
- await getOneQueryStructuredShareImageMetadata(siteUrl);
+ getOneQueryStructuredShareImageMetadata(siteUrl);
const DEFAULT_IMAGE_URL = defaultShareImage.url;
const DEFAULT_STRUCTURED_DATA = createLandingPageStructuredData({
description: DEFAULT_DESCRIPTION,
@@ -105,8 +105,17 @@ const structuredDataItems =
-
-
+
+
diff --git a/apps/landing/src/pages/index.astro b/apps/landing/src/pages/index.astro
index 258252fe..f7e600b6 100644
--- a/apps/landing/src/pages/index.astro
+++ b/apps/landing/src/pages/index.astro
@@ -47,7 +47,7 @@ const siteUrl = normalizeSiteUrl(Astro.site);
const landingCanonicalUrl = createCanonicalUrl("/", siteUrl);
const landingShareImage = getOneQueryPublicShareImageMetadata(siteUrl);
const landingStructuredShareImage =
- await getOneQueryStructuredShareImageMetadata(siteUrl);
+ getOneQueryStructuredShareImageMetadata(siteUrl);
const landingImageUrl = landingShareImage.url;
const openClawDemoPosterImage = await getOpenClawDemoPosterImage();
const landingStructuredData = createLandingPageStructuredData({