Skip to content
Open
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
31 changes: 31 additions & 0 deletions www/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,40 @@ 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: "meta",
attrs: {
property: "og:site_name",
content: "Simple Stack",
},
},
{
tag: "script",
attrs: { type: "application/ld+json" },
content: JSON.stringify({
"@context": "https://schema.org",
"@type": "WebSite",
name: "Simple Stack",
url: "https://simple-stack.dev",
description:
"A collection of lightweight developer tools for building simpler web apps with Astro, React, and Vite.",
author: {
"@type": "Person",
name: "Ben Holmes",
url: "https://bholmes.dev",
sameAs: [
"https://github.com/bholmesdev",
"https://twitter.com/babormedev",
],
},
}),
},
],
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
2 changes: 1 addition & 1 deletion 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.
description: "[Deprecated] simple-stack-form provided Zod-based form validation for Astro apps. Use Astro Form Actions for server validation and client validation instead."
sidebar:
label: Get started
order: 1
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 Developer Tools for the Modern Web
description: "Simple Stack is a collection of lightweight, open-source developer tools by Ben Holmes. Includes a reactive store, scoped IDs plugin, and DOM query library for Astro, React, and Vite."
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, open-source JavaScript tools designed to **make web development simpler.** Built by [Ben Holmes](https://bholmes.dev), each package solves a focused use case — reactive state management, scoped element IDs, and DOM querying — 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.
These packages share a common theme: solve a simple use case without too many features.

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

Expand Down
21 changes: 20 additions & 1 deletion www/src/content/docs/query.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
---
title: 💰 Simple Query
description: A simple library to query the DOM from your Astro components.
description: "@simplestack/query is an Astro integration for scoped DOM queries in components. Use data-target selectors, signal-based state, and server data passing with zero boilerplate."
head:
- tag: script
attrs:
type: application/ld+json
content: |
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "@simplestack/query",
"description": "An Astro integration for scoped DOM queries with data-target selectors and signal-based state.",
"codeRepository": "https://github.com/bholmesdev/simplestack-query",
"programmingLanguage": "TypeScript",
"runtimePlatform": "Node.js",
"author": {
"@type": "Person",
"name": "Ben Holmes",
"url": "https://bholmes.dev"
}
}
---

import { Tabs, TabItem, LinkCard } from '@astrojs/starlight/components';
Expand Down
21 changes: 20 additions & 1 deletion www/src/content/docs/scope.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
---
title: 🔎 Simple scope
description: Get a scoped ID for whatever file you're in. Resolved at build-time with zero client JS.
description: "vite-plugin-simple-scope generates unique, scoped IDs per file at build time with zero client JavaScript. Works with Astro, Nuxt, SvelteKit, and any Vite framework."
head:
- tag: script
attrs:
type: application/ld+json
content: |
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "vite-plugin-simple-scope",
"description": "A Vite plugin that generates scoped IDs per file at build time with zero client JS.",
"codeRepository": "https://github.com/bholmesdev/simplestack-scope",
"programmingLanguage": "TypeScript",
"runtimePlatform": "Node.js",
"author": {
"@type": "Person",
"name": "Ben Holmes",
"url": "https://bholmes.dev"
}
}
---

import { LinkCard } from '@astrojs/starlight/components';
Expand Down
21 changes: 20 additions & 1 deletion www/src/content/docs/store.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
---
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.
description: "@simplestack/store is a lightweight reactive state management library for React and Next.js. Combines the simplicity of signals with Zustand-style selectors for fine-grained updates."
sidebar:
label: Get started
order: 1
head:
- tag: script
attrs:
type: application/ld+json
content: |
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "@simplestack/store",
"description": "A lightweight reactive store combining signal simplicity with Zustand-style selectors for React and Next.js.",
"codeRepository": "https://github.com/bholmesdev/simplestack-store",
"programmingLanguage": "TypeScript",
"runtimePlatform": "Node.js",
"author": {
"@type": "Person",
"name": "Ben Holmes",
"url": "https://bholmes.dev"
}
}
---

import { LinkCard, Tabs, TabItem } from '@astrojs/starlight/components';
Expand Down
2 changes: 1 addition & 1 deletion 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 ™️
description: "[Deprecated] simple-stack-stream suspended Astro components with fallback content, similar to React Server Components. Use Astro Server Islands instead."
---

:::caution
Expand Down
Loading