From 02a1b5d029a6ccffc2fb9ad9518500824340a6c7 Mon Sep 17 00:00:00 2001 From: Nik Samokhvalov Date: Tue, 2 Jun 2026 17:30:37 -0700 Subject: [PATCH] feat(web): fix platform logos, add 7 vendors, section anchors Audit every "Runs on" tile to use the correct product-specific official mark (not a generic parent-brand logo), legible on both themes: - Aiven: replace rainbow pride crab with official single-colour coral crab - Cloud SQL / AlloyDB: distinct official Google Cloud product icons (core-products-icons.zip), no longer the shared generic Google Cloud logo - Azure: official "Azure Database for PostgreSQL Server" service icon - RDS / Aurora: official AWS Architecture service icons (verified) Add 6 managed-cloud vendors (Crunchy Bridge, Tiger Data, ClickHouse Cloud, IBM Cloud, Oracle OCI, Ubicloud) and a Zalando postgres-operator tile to the Kubernetes operators group, each with its real full-colour official mark on the neutral chip. Grid wraps cleanly (4-col desktop / 2-col mobile, no overflow at narrow widths). Add kebab-case #-anchor ids to every top-level section (top, why, features, compare, runs-on, clients, install, footer) with scroll-margin-top so the fixed nav never covers a target, plus an understated hover '#' anchor link on section headings. Co-Authored-By: Claude Opus 4.8 (1M context) --- web/public/logos/aiven-icon.svg | 2 +- web/public/logos/azure.svg | 24 +-------- web/public/logos/clickhouse.svg | 1 + web/public/logos/crunchybridge.svg | 75 +++++++++++++++++++++++++++ web/public/logos/googlealloydb.svg | 41 +++++++++++++++ web/public/logos/googlecloud.svg | 9 ---- web/public/logos/googlecloudsql.svg | 41 +++++++++++++++ web/public/logos/ibm.svg | 6 +++ web/public/logos/oracle.svg | 6 +++ web/public/logos/tiger.svg | 10 ++++ web/public/logos/ubicloud.svg | 1 + web/public/logos/zalando.svg | 1 + web/src/pages/index.astro | 79 +++++++++++++++++++++-------- 13 files changed, 242 insertions(+), 54 deletions(-) create mode 100644 web/public/logos/clickhouse.svg create mode 100644 web/public/logos/crunchybridge.svg create mode 100644 web/public/logos/googlealloydb.svg delete mode 100644 web/public/logos/googlecloud.svg create mode 100644 web/public/logos/googlecloudsql.svg create mode 100644 web/public/logos/ibm.svg create mode 100644 web/public/logos/oracle.svg create mode 100644 web/public/logos/tiger.svg create mode 100644 web/public/logos/ubicloud.svg create mode 100644 web/public/logos/zalando.svg diff --git a/web/public/logos/aiven-icon.svg b/web/public/logos/aiven-icon.svg index 947415b..5ec2b77 100644 --- a/web/public/logos/aiven-icon.svg +++ b/web/public/logos/aiven-icon.svg @@ -1 +1 @@ - + diff --git a/web/public/logos/azure.svg b/web/public/logos/azure.svg index e059f11..8d3d0dd 100644 --- a/web/public/logos/azure.svg +++ b/web/public/logos/azure.svg @@ -1,23 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - +Icon-databases-131 \ No newline at end of file diff --git a/web/public/logos/clickhouse.svg b/web/public/logos/clickhouse.svg new file mode 100644 index 0000000..f2144b5 --- /dev/null +++ b/web/public/logos/clickhouse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/public/logos/crunchybridge.svg b/web/public/logos/crunchybridge.svg new file mode 100644 index 0000000..65da01c --- /dev/null +++ b/web/public/logos/crunchybridge.svg @@ -0,0 +1,75 @@ + + + + + + + + + \ No newline at end of file diff --git a/web/public/logos/googlealloydb.svg b/web/public/logos/googlealloydb.svg new file mode 100644 index 0000000..9578c0e --- /dev/null +++ b/web/public/logos/googlealloydb.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/public/logos/googlecloud.svg b/web/public/logos/googlecloud.svg deleted file mode 100644 index b8478f1..0000000 --- a/web/public/logos/googlecloud.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/web/public/logos/googlecloudsql.svg b/web/public/logos/googlecloudsql.svg new file mode 100644 index 0000000..561ba5e --- /dev/null +++ b/web/public/logos/googlecloudsql.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/public/logos/ibm.svg b/web/public/logos/ibm.svg new file mode 100644 index 0000000..bdcb722 --- /dev/null +++ b/web/public/logos/ibm.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/web/public/logos/oracle.svg b/web/public/logos/oracle.svg new file mode 100644 index 0000000..8bda415 --- /dev/null +++ b/web/public/logos/oracle.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/web/public/logos/tiger.svg b/web/public/logos/tiger.svg new file mode 100644 index 0000000..02a2f13 --- /dev/null +++ b/web/public/logos/tiger.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/web/public/logos/ubicloud.svg b/web/public/logos/ubicloud.svg new file mode 100644 index 0000000..9fb89dc --- /dev/null +++ b/web/public/logos/ubicloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/public/logos/zalando.svg b/web/public/logos/zalando.svg new file mode 100644 index 0000000..2ea78d3 --- /dev/null +++ b/web/public/logos/zalando.svg @@ -0,0 +1 @@ + diff --git a/web/src/pages/index.astro b/web/src/pages/index.astro index c86c665..4c86426 100644 --- a/web/src/pages/index.astro +++ b/web/src/pages/index.astro @@ -162,38 +162,56 @@ const cell = (v) => * marks stay legible on both the parchment-light and deep-dusk-dark themes. * * Trademark notice: each mark is used nominatively — solely to indicate that - * these platforms ship pg_cron, so PgQue's automated ticker works out of the - * box. No endorsement or affiliation is implied. Full-colour logo sources: - * amazonrds / amazonaurora — AWS Architecture Icons (official AWS brand) - * googlecloud (Cloud SQL + AlloyDB) — gilbarbara/logos (Google Cloud brand) - * azure — svgl.app (Microsoft Azure brand) - * supabase / digitalocean / planetscale — gilbarbara/logos (vendor brands) + * PgQue is compatible with these platforms (they ship pg_cron, so PgQue's + * automated ticker works out of the box). No endorsement or affiliation is + * implied; every mark stays the property of its respective owner. Each tile + * uses the platform's correct PRODUCT-SPECIFIC official icon (e.g. the RDS + * service icon, not the generic AWS logo). Full-colour logo sources: + * amazonrds / amazonaurora — AWS Architecture service icons (official AWS) + * googlecloudsql / googlealloydb — official Google Cloud product icons + * (cloud.google.com/icons → core-products-icons.zip) + * azure — Azure "Database for PostgreSQL Server" service icon + * (learn.microsoft.com/azure/architecture/icons official package) + * supabase / planetscale — gilbarbara/logos (vendor brands) + * digitalocean — official Digital Ocean brand icon * neon — neon.tech brand mark (#00E599) - * aiven — aiven.io brand symbol (CNCF landscape hosted_logos) + * aiven — aiven.io official single-colour coral crab (favicon geometry) + * crunchybridge — crunchybridge.com brand mark (Crunchy Data elephant) + * tiger — tigerdata.com brand badge (Tiger Data tiger mark) + * clickhouse — ClickHouse official mark (clickhouse.com) + * ibm — IBM official 8-bar logo · oracle — Oracle official logo + * ubicloud — ubicloud.com brand cloud symbol * yugabyte — gilbarbara/logos (YugabyteDB brand icon) * percona — percona.com brand mark * stackgres — stackgres.io official brand mark (matches apple-touch-icon) * cloudnativepg — cloudnative-pg/artwork (CNCF project mark) + * zalando — zalando/postgres-operator project mark (robot arm + elephant) */ const platformGroups = [ { label: 'Managed cloud', items: [ { name: 'Amazon RDS', logo: 'amazonrds' }, - { name: 'Google Cloud SQL', logo: 'googlecloud' }, + { name: 'Google Cloud SQL', logo: 'googlecloudsql' }, { name: 'Azure Database', logo: 'azure' }, { name: 'Supabase', logo: 'supabase' }, { name: 'Neon', logo: 'neon' }, { name: 'Aiven', logo: 'aiven-icon' }, { name: 'DigitalOcean', logo: 'digitalocean' }, { name: 'PlanetScale', logo: 'planetscale' }, + { name: 'Crunchy Bridge', logo: 'crunchybridge' }, + { name: 'Tiger Data', logo: 'tiger' }, + { name: 'ClickHouse Cloud', logo: 'clickhouse' }, + { name: 'IBM Cloud', logo: 'ibm' }, + { name: 'Oracle OCI', logo: 'oracle' }, + { name: 'Ubicloud', logo: 'ubicloud' }, ], }, { label: 'Postgres-compatible', items: [ { name: 'Amazon Aurora', logo: 'amazonaurora' }, - { name: 'Google AlloyDB', logo: 'googlecloud' }, + { name: 'Google AlloyDB', logo: 'googlealloydb' }, { name: 'YugabyteDB', logo: 'yugabyte-icon' }, ], }, @@ -203,6 +221,7 @@ const platformGroups = [ { name: 'StackGres', logo: 'stackgres' }, { name: 'CloudNativePG', logo: 'cloudnativepg-icon' }, { name: 'Percona Operator', logo: 'percona' }, + { name: 'Zalando', logo: 'zalando' }, ], }, ]; @@ -295,7 +314,7 @@ const platformGroups = [
-
+

PgQ, universal edition

Zero-bloat Postgres queue.

@@ -340,7 +359,7 @@ const platformGroups = [
-
+

Not SKIP LOCKED. Not row claiming.

@@ -370,8 +389,8 @@ const platformGroups = [
-
-

Why PgQue

+
+

#Why PgQue

{features.map((f) => (
@@ -383,9 +402,9 @@ const platformGroups = [
-
+
-

How it compares

+

#How it compares

PgQue is an event/message queue optimized for high-throughput streaming with fan-out — not a job-queue framework. The full table and notes live @@ -426,8 +445,8 @@ const platformGroups = [

-
-

Runs on

+
+

#Runs on

PgQue runs on any Postgres 14+. These platforms ship pg_cron, so the automated ticker works out of the box. @@ -458,8 +477,8 @@ const platformGroups = [

-
-

Client libraries

+
+

#Client libraries

Use the SQL API directly, or a typed client. The API is language-agnostic — everything is a function call. @@ -508,7 +527,7 @@ const platformGroups = [

-
+

A queue that does not rot.

Install in one transaction. Tick with pg_cron. Read the ten-minute tutorial.

@@ -520,7 +539,7 @@ const platformGroups = [
-