Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions www/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,10 +1,68 @@
import sitemap from "@astrojs/sitemap";
import starlight from "@astrojs/starlight";
import { defineConfig } from "astro/config";

// JSON-LD structured data for AEO / AI citations.
// Identifies the project as a SoftwareApplication with linked source repos and
// Organization metadata so AI engines (ChatGPT, Perplexity, Gemini AI Overviews)
// can attribute answers correctly.
const structuredData = {
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://simple-stack.dev/#organization",
name: "Simple Stack",
url: "https://simple-stack.dev",
logo: "https://simple-stack.dev/favicon.svg",
sameAs: [
"https://github.com/bholmesdev/simple-stack",
"https://wtw.dev/chat",
],
},
{
"@type": "WebSite",
"@id": "https://simple-stack.dev/#website",
url: "https://simple-stack.dev",
name: "Simple Stack",
description:
"Simple Stack is a suite of small, focused tools for Astro developers covering reactive state, scoped IDs, DOM queries, and streaming.",
publisher: { "@id": "https://simple-stack.dev/#organization" },
inLanguage: "en",
},
],
};

export default defineConfig({
site: "https://simple-stack.dev",
integrations: [
starlight({
title: "Simple Stack 🌱",
description:
"Simple Stack is a suite of small, focused tools for Astro developers: reactive stores, scoped IDs, DOM queries, and streaming.",
favicon: "/favicon.svg",
head: [
{
tag: "script",
attrs: { type: "application/ld+json" },
content: JSON.stringify(structuredData),
},
{
tag: "meta",
attrs: {
name: "robots",
content: "index, follow, max-image-preview:large",
},
},
{
tag: "meta",
attrs: { property: "og:site_name", content: "Simple Stack" },
},
{
tag: "meta",
attrs: { name: "twitter:card", content: "summary_large_image" },
},
],
social: [
{
icon: "github",
Expand Down Expand Up @@ -44,5 +102,6 @@ export default defineConfig({
"./src/styles/custom.css",
],
}),
sitemap(),
],
});
1 change: 1 addition & 0 deletions www/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
},
"dependencies": {
"@astrojs/check": "^0.9.6",
"@astrojs/sitemap": "^3.6.0",
"@astrojs/starlight": "^0.37.1",
"@fontsource/atkinson-hyperlegible": "^5.0.18",
"astro": "^5.16.6",
Expand Down
4 changes: 4 additions & 0 deletions www/public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
User-agent: *
Allow: /

Sitemap: https://simple-stack.dev/sitemap-index.xml
4 changes: 2 additions & 2 deletions www/src/content/docs/form/client.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Add client validation
description: Add client validation to your forms
title: Add client validation
description: "Deprecated: Add accessible client-side form validation to Simple Form using the reward-early, punish-late pattern with framework-agnostic generated components."
sidebar:
order: 3
---
Expand Down
4 changes: 2 additions & 2 deletions www/src/content/docs/form/index.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Simple form
description: The simple way to validate forms in your fullstack app.
title: Simple Form
description: "Deprecated: Simple Form is a fullstack form library for Astro that validates inputs server-side and client-side using Zod schemas."
sidebar:
label: Get started
order: 1
Expand Down
4 changes: 2 additions & 2 deletions www/src/content/docs/form/parse.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Parse form requests
description: Validate forms server-side
title: Parse form requests
description: "Deprecated: Validate POST form requests in Astro using Simple Form's validateForm() helper or the Astro.locals.form API with a Zod schema."
sidebar:
order: 2
---
Expand Down
6 changes: 3 additions & 3 deletions www/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Simple stack 🌱
description: A suite of tools built for Astro to simplify your workflow.
title: Simple Stack
description: Simple Stack is a suite of small, focused tools for Astro developers, including a reactive store, scoped IDs, and a DOM query helper.
tableOfContents: false
head:
- tag: title
content: Simple stack 🌱
content: "Simple Stack: Astro tools for state, scope, and DOM queries"
---

A collection of tools I've built to **make web development simpler.**
Expand Down
4 changes: 2 additions & 2 deletions www/src/content/docs/query.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 💰 Simple Query
description: A simple library to query the DOM from your Astro components.
title: Simple Query
description: Simple Query is an Astro integration for querying the DOM with scoped data-target attributes, signals, and view-transition-safe cleanup.
---

import { Tabs, TabItem, LinkCard } from '@astrojs/starlight/components';
Expand Down
4 changes: 2 additions & 2 deletions www/src/content/docs/scope.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 🔎 Simple scope
description: Get a scoped ID for whatever file you're in. Resolved at build-time with zero client JS.
title: Simple Scope
description: Simple Scope is a Vite plugin that generates a stable, file-scoped ID at build time. Use it for form labels, query selectors, and scoped DOM ids.
---

import { LinkCard } from '@astrojs/starlight/components';
Expand Down
4 changes: 2 additions & 2 deletions www/src/content/docs/store.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 💾 Simple store
description: A reactive store that combines the simplicity of signals with the power of "selectors" you'd find in Zustand or Redux.
title: Simple Store
description: Simple Store is a reactive state library for React and Astro that combines signal-style get/set with Zustand-style selectors and middleware.
sidebar:
label: Get started
order: 1
Expand Down
4 changes: 2 additions & 2 deletions www/src/content/docs/stream.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Simple stream 🌊
description: Suspend Astro components with fallback content. Like React Server Components, but Just HTML ™️
title: Simple Stream
description: "Deprecated: Simple Stream lets Astro components suspend with fallback content, similar to React Server Components but with plain HTML streaming."
---

:::caution
Expand Down
Loading