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 @@ + + OneQuery + + + + + 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({