From e3fb90ea59de77dc4ef245331b34f096045c459f Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Tue, 17 Jun 2025 22:43:05 +0530 Subject: [PATCH 1/3] enable autogenerate for now --- astro.config.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/astro.config.mjs b/astro.config.mjs index 3c7bcb1a..52aa9bb6 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -66,7 +66,8 @@ export default defineConfig({ }, { label: 'Local AWS Services', - slug: 'aws/aws-services', + autogenerate: { directory: '/aws/services' }, + collapsed: true, }, { label: 'Sample Apps', From 47c2c112846d6ebd713c44ac6e565219428d34b4 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Tue, 17 Jun 2025 22:57:29 +0530 Subject: [PATCH 2/3] get mvp done for box style --- astro.config.mjs | 3 +- src/components/ServiceBox.tsx | 18 + src/content/docs/aws/aws-services.md | 11 - src/content/docs/aws/aws-services.mdx | 613 ++++++++++++++++++++++++++ src/styles/global.css | 48 +- 5 files changed, 679 insertions(+), 14 deletions(-) create mode 100644 src/components/ServiceBox.tsx delete mode 100644 src/content/docs/aws/aws-services.md create mode 100644 src/content/docs/aws/aws-services.mdx diff --git a/astro.config.mjs b/astro.config.mjs index 52aa9bb6..3c7bcb1a 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -66,8 +66,7 @@ export default defineConfig({ }, { label: 'Local AWS Services', - autogenerate: { directory: '/aws/services' }, - collapsed: true, + slug: 'aws/aws-services', }, { label: 'Sample Apps', diff --git a/src/components/ServiceBox.tsx b/src/components/ServiceBox.tsx new file mode 100644 index 00000000..83e0d4d5 --- /dev/null +++ b/src/components/ServiceBox.tsx @@ -0,0 +1,18 @@ +import React from 'react'; + +interface ServiceBoxProps { + title: string; + description: string; + href: string; +} + +export const ServiceBox: React.FC = ({ title, description, href }) => { + return ( + +
+

{title}

+

{description}

+
+
+ ); +}; \ No newline at end of file diff --git a/src/content/docs/aws/aws-services.md b/src/content/docs/aws/aws-services.md deleted file mode 100644 index b7fd44a2..00000000 --- a/src/content/docs/aws/aws-services.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Local AWS Services -description: This is a dummy description -template: doc -sidebar: - order: 3 ---- - -# AWS Services - -Browse implemented aws services and check their level of parity with the AWS cloud. diff --git a/src/content/docs/aws/aws-services.mdx b/src/content/docs/aws/aws-services.mdx new file mode 100644 index 00000000..376d1b3f --- /dev/null +++ b/src/content/docs/aws/aws-services.mdx @@ -0,0 +1,613 @@ +--- +title: Local AWS Services +description: Browse LocalStack's implemented AWS services and explore their capabilities +template: doc +sidebar: + order: 3 +--- + +import { ServiceBox } from '../../../components/ServiceBox.tsx'; + +Browse LocalStack's implemented AWS services and explore their comprehensive feature sets. Each service provides detailed documentation on APIs, configuration options, and practical examples to help you get started quickly. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/styles/global.css b/src/styles/global.css index b30b4b5d..1c5f7078 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -2,4 +2,50 @@ @import '@astrojs/starlight-tailwind'; @import 'tailwindcss/theme.css' layer(theme); -@import 'tailwindcss/utilities.css' layer(utilities); \ No newline at end of file +@import 'tailwindcss/utilities.css' layer(utilities); + +.service-box { + display: block; + padding: 1.5rem; + border: 1px solid var(--sl-color-gray-5); + border-radius: 0.5rem; + text-decoration: none; + color: inherit; + transition: all 0.2s ease; + height: 100%; +} + +.service-box:hover { + border-color: var(--sl-color-accent); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + transform: translateY(-2px); +} + +.service-box-content { + height: 100%; + display: flex; + flex-direction: column; +} + +.service-box-title { + font-size: 1.125rem; + font-weight: 600; + margin: 0 0 0.5rem 0; + color: var(--sl-color-white); + line-height: 1.4; +} + +.service-box-description { + font-size: 0.875rem; + color: var(--sl-color-gray-2); + margin: 0; + line-height: 1.5; + flex-grow: 1; +} + +.service-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1rem; + margin-top: 2rem; +} From e934a994aa8293b0071dd701de2a4db813a12196 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Tue, 17 Jun 2025 23:05:10 +0530 Subject: [PATCH 3/3] get everything done --- src/components/DynamicAwsServices.astro | 38 ++ src/content/docs/aws/aws-services.mdx | 604 +----------------------- 2 files changed, 40 insertions(+), 602 deletions(-) create mode 100644 src/components/DynamicAwsServices.astro diff --git a/src/components/DynamicAwsServices.astro b/src/components/DynamicAwsServices.astro new file mode 100644 index 00000000..8cb44257 --- /dev/null +++ b/src/components/DynamicAwsServices.astro @@ -0,0 +1,38 @@ +--- +import { getCollection } from 'astro:content'; +import { ServiceBox } from './ServiceBox.tsx'; + +const allServices = await getCollection('docs', ({ id }) => { + return id.startsWith('aws/services/') && !id.includes('/index'); +}); + +const sortedServices = allServices.sort((a, b) => { + const titleA = a.data.title || a.data.linkTitle || ''; + const titleB = b.data.title || b.data.linkTitle || ''; + return titleA.localeCompare(titleB); +}); + +const serviceData = sortedServices.map(service => { + const title = service.data.title || service.data.linkTitle || 'Unknown Service'; + const description = service.data.description || `Implementation details for ${title} API`; + + const href = `/${service.id}`; + + return { + title, + description, + href + }; +}); +--- + +
+ {serviceData.map(service => ( + + ))} +
diff --git a/src/content/docs/aws/aws-services.mdx b/src/content/docs/aws/aws-services.mdx index 376d1b3f..6ee38962 100644 --- a/src/content/docs/aws/aws-services.mdx +++ b/src/content/docs/aws/aws-services.mdx @@ -6,608 +6,8 @@ sidebar: order: 3 --- -import { ServiceBox } from '../../../components/ServiceBox.tsx'; +import DynamicAwsServices from '../../../components/DynamicAwsServices.astro'; Browse LocalStack's implemented AWS services and explore their comprehensive feature sets. Each service provides detailed documentation on APIs, configuration options, and practical examples to help you get started quickly. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+