From 41290b463ce4e7bde10b0a7e78ab24e76543387a Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 11 Feb 2025 17:17:12 +0000 Subject: [PATCH] feat: cards --- docs/components/DeploymentCards.jsx | 114 ++++++++++++++++++ ...Hosting-the-app.md => Hosting-the-app.mdx} | 26 +++- docs/public/digitalocean.png | Bin 0 -> 24634 bytes 3 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 docs/components/DeploymentCards.jsx rename docs/pages/Deploying/{Hosting-the-app.md => Hosting-the-app.mdx} (83%) create mode 100644 docs/public/digitalocean.png diff --git a/docs/components/DeploymentCards.jsx b/docs/components/DeploymentCards.jsx new file mode 100644 index 00000000..2c896476 --- /dev/null +++ b/docs/components/DeploymentCards.jsx @@ -0,0 +1,114 @@ +import Image from 'next/image'; + +const iconMap = { + 'Deploy on Civo Compute Cloud': '/civo.png', + 'Deploy on DigitalOcean Droplet': '/digitalocean.png', + 'Deploy on Kamatera Cloud': '/kamatera.png', +}; + + +export function DeploymentCards({ items }) { + return ( + <> +
+ {items.map(({ title, link, description }) => { + const isExternal = link.startsWith('https://'); + const iconSrc = iconMap[title] || '/default-icon.png'; // Default icon if not found + + return ( +
+ +
+ {iconSrc &&
{title}
} {/* Reduced icon size */} +
+

{title}

+ {description &&

{description}

} +

{new URL(link).hostname.replace('www.', '')}

+
+
+ ); + })} +
+ + + + ); +} \ No newline at end of file diff --git a/docs/pages/Deploying/Hosting-the-app.md b/docs/pages/Deploying/Hosting-the-app.mdx similarity index 83% rename from docs/pages/Deploying/Hosting-the-app.md rename to docs/pages/Deploying/Hosting-the-app.mdx index 5f527aa1..f06f0379 100644 --- a/docs/pages/Deploying/Hosting-the-app.md +++ b/docs/pages/Deploying/Hosting-the-app.mdx @@ -1,3 +1,7 @@ +import { DeploymentCards } from '../../components/DeploymentCards'; + + + # Self-hosting DocsGPT on Amazon Lightsail Here's a step-by-step guide on how to set up an Amazon Lightsail instance to host DocsGPT. @@ -105,6 +109,22 @@ Your instance is now available at your Public IP Address on port 5173. Enjoy usi ## Other Deployment Options -- [Deploy DocsGPT on Civo Compute Cloud](https://dev.to/rutamhere/deploying-docsgpt-on-civo-compute-c) -- [Deploy DocsGPT on DigitalOcean Droplet](https://dev.to/rutamhere/deploying-docsgpt-on-digitalocean-droplet-50ea) -- [Deploy DocsGPT on Kamatera Performance Cloud](https://dev.to/rutamhere/deploying-docsgpt-on-kamatera-performance-cloud-1bj) + diff --git a/docs/public/digitalocean.png b/docs/public/digitalocean.png new file mode 100644 index 0000000000000000000000000000000000000000..2d90824a6623bc6f2c48c202ecea4af41a2f5098 GIT binary patch literal 24634 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