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
25 changes: 25 additions & 0 deletions www/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,34 @@ import starlight from "@astrojs/starlight";
import { defineConfig } from "astro/config";

export default defineConfig({
site: "https://simple-stack.dev",
integrations: [
starlight({
title: "Simple Stack 🌱",
head: [
{
tag: "script",
attrs: { type: "application/ld+json" },
content: JSON.stringify({
"@context": "https://schema.org",
"@type": "Organization",
name: "Simple Stack",
url: "https://simple-stack.dev",
logo: "https://simple-stack.dev/favicon.svg",
sameAs: [
"https://github.com/bholmesdev/simple-stack",
],
}),
},
{
tag: "meta",
attrs: { property: "og:type", content: "website" },
},
{
tag: "meta",
attrs: { property: "og:site_name", content: "Simple Stack" },
},
],
social: [
{
icon: "github",
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 to Simple Form
description: "Generate client-validated form components using Simple Form's CLI with the reward-early, punish-late pattern for accessible inline validation."
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 — validate forms in your fullstack Astro app
description: "Simple Form (deprecated) provided Zod-based form validation for Astro with auto-generated input props, server-side parsing, and client-side validation."
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 and validate form requests server-side
description: "Use Simple Form's validateForm() and Astro.locals.form helpers to parse and validate form submissions on the server with Zod schemas."
sidebar:
order: 2
---
Expand Down
11 changes: 4 additions & 7 deletions www/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
---
title: Simple stack 🌱
description: A suite of tools built for Astro to simplify your workflow.
title: Simple Stack — lightweight tools for web development
description: Simple Stack is a collection of lightweight JavaScript tools for web development, including a reactive store, scoped IDs, and DOM query utilities for Astro and Vite projects.
tableOfContents: false
head:
- tag: title
content: Simple stack 🌱
---

A collection of tools I've built to **make web development simpler.**
Simple Stack is a collection of lightweight tools that **make web development simpler.** Each package solves a focused use case — a reactive store, scoped element IDs, and Astro DOM queries — without unnecessary complexity.

To be honest, there isn't a "story" connecting these packages together (I'm no TanStack). But they follow a common theme: solve a simple use case without too many features.
There isn't a grand "story" connecting these packages together (I'm no TanStack). But they follow a common theme: solve a simple use case without too many features.

import { CardGrid, Card, LinkCard } from '@astrojs/starlight/components';

Expand Down
10 changes: 8 additions & 2 deletions www/src/content/docs/query.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
---
title: 💰 Simple Query
description: A simple library to query the DOM from your Astro components.
title: Simple Query — scoped DOM queries for Astro components
description: "Simple Query is an Astro integration that provides scoped DOM queries, lifecycle management, and signals-based state for interactive Astro components. Like jQuery, but built for modern Astro projects."
head:
- tag: script
attrs:
type: application/ld+json
content: |
{"@context":"https://schema.org","@type":"SoftwareSourceCode","name":"Simple Query","description":"An Astro integration for scoped DOM queries, lifecycle management, and signals-based state in Astro components.","url":"https://simple-stack.dev/query","codeRepository":"https://github.com/bholmesdev/simplestack-query","programmingLanguage":"TypeScript","runtimePlatform":"Node.js"}
---

import { Tabs, TabItem, LinkCard } from '@astrojs/starlight/components';
Expand Down
10 changes: 8 additions & 2 deletions www/src/content/docs/scope.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
---
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 — scoped IDs at build time with zero JS
description: "Simple Scope is a Vite plugin that generates unique scoped IDs per file at build time with zero client JavaScript. Works with Astro, Nuxt, SvelteKit, and any Vite-based framework."
head:
- tag: script
attrs:
type: application/ld+json
content: |
{"@context":"https://schema.org","@type":"SoftwareSourceCode","name":"Simple Scope","description":"A Vite plugin that generates unique scoped IDs per file at build time with zero client JavaScript.","url":"https://simple-stack.dev/scope","codeRepository":"https://github.com/bholmesdev/simplestack-scope","programmingLanguage":"TypeScript","runtimePlatform":"Node.js"}
---

import { LinkCard } from '@astrojs/starlight/components';
Expand Down
12 changes: 9 additions & 3 deletions www/src/content/docs/store.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
---
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 — reactive state management with selectors
description: "Simple Store is a lightweight reactive store for React that combines signal-like simplicity with Zustand-style selectors. Create stores, select nested state, and subscribe to fine-grained updates."
sidebar:
label: Get started
label: "💾 Get started"
order: 1
head:
- tag: script
attrs:
type: application/ld+json
content: |
{"@context":"https://schema.org","@type":"SoftwareSourceCode","name":"Simple Store","description":"A lightweight reactive store for React that combines signal-like simplicity with Zustand-style selectors.","url":"https://simple-stack.dev/store","codeRepository":"https://github.com/bholmesdev/simplestack-store","programmingLanguage":"TypeScript","runtimePlatform":"Node.js"}
---

import { LinkCard, Tabs, TabItem } from '@astrojs/starlight/components';
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 — suspend Astro components with fallback content
description: "Simple Stream (deprecated) lets you suspend Astro components and show fallback content while server-side components load, similar to React Server Components but using pure HTML streaming."
---

:::caution
Expand Down
Loading