Skip to content
Merged
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
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"sync": "node scripts/collections/index.mjs",
"sync:orama": "pnpm build && node scripts/sync-orama.mjs",
"dev": "pnpm sync && vinxi dev",
"build": "pnpm sync && pnpm build:sitemap && NODE_OPTIONS=\"--max-old-space-size=8192\" vinxi build",
"build": "pnpm sync && pnpm build:sitemap && pnpm build:llms && NODE_OPTIONS=\"--max-old-space-size=8192\" vinxi build",
"build:llms": "node scripts/llms-gen.js",
"build:sitemap": "node scripts/generateSitemap.js",
"start": "vinxi start",
"e2e": "npx playwright test",
Expand Down
221 changes: 221 additions & 0 deletions public/llms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
# SolidJS Documentation
> Solid is a JavaScript library built around signals. It prioritizes a simple and predictable development experience, making it a great choice for developers of all skill levels. These are the documention for the main official projects.
> - SolidJS: The core library for building reactive user interfaces.
> - SolidStart: A full-stack framework for building web applications.
> - Solid Router: A routing library for building web applications.
> - Solid Meta: A library for managing the HTML head and meta tags.

## SolidJS

- [Overview](https://docs.solidjs.com/)
- [Quick start](https://docs.solidjs.com/quick-start)
- [Intro to reactivity](https://docs.solidjs.com/concepts/intro-to-reactivity)
- [Understanding JSX](https://docs.solidjs.com/concepts/understanding-jsx)
- [Basics](https://docs.solidjs.com/concepts/components/basics)
- [Class and style](https://docs.solidjs.com/concepts/components/class-style)
- [Event handlers](https://docs.solidjs.com/concepts/components/event-handlers)
- [Props](https://docs.solidjs.com/concepts/components/props)
- [Signals](https://docs.solidjs.com/concepts/signals)
- [Conditional rendering](https://docs.solidjs.com/concepts/control-flow/conditional-rendering)
- [Dynamic](https://docs.solidjs.com/concepts/control-flow/dynamic)
- [List rendering](https://docs.solidjs.com/concepts/control-flow/list-rendering)
- [Portal](https://docs.solidjs.com/concepts/control-flow/portal)
- [Error boundary](https://docs.solidjs.com/concepts/control-flow/error-boundary)
- [Effects](https://docs.solidjs.com/concepts/effects)
- [Derived signals](https://docs.solidjs.com/concepts/derived-values/derived-signals)
- [Memos](https://docs.solidjs.com/concepts/derived-values/memos)
- [Context](https://docs.solidjs.com/concepts/context)
- [Stores](https://docs.solidjs.com/concepts/stores)
- [Refs](https://docs.solidjs.com/concepts/refs)
- [Fine-grained reactivity](https://docs.solidjs.com/advanced-concepts/fine-grained-reactivity)
- [Styling your components](https://docs.solidjs.com/guides/styling-your-components)
- [SASS](https://docs.solidjs.com/guides/styling-components/sass)
- [LESS](https://docs.solidjs.com/guides/styling-components/less)
- [CSS modules](https://docs.solidjs.com/guides/styling-components/css-modules)
- [Macaron](https://docs.solidjs.com/guides/styling-components/macaron)
- [Tailwind CSS](https://docs.solidjs.com/guides/styling-components/tailwind)
- [UnoCSS](https://docs.solidjs.com/guides/styling-components/uno)
- [State management](https://docs.solidjs.com/guides/state-management)
- [Routing & navigation](https://docs.solidjs.com/guides/routing-and-navigation)
- [Complex state management](https://docs.solidjs.com/guides/complex-state-management)
- [Fetching data](https://docs.solidjs.com/guides/fetching-data)
- [Testing](https://docs.solidjs.com/guides/testing)
- [Deploy your app](https://docs.solidjs.com/guides/deploying-your-app)
- [AWS via Flightcontrol](https://docs.solidjs.com/guides/deployment-options/aws-via-flightcontrol)
- [AWS via SST](https://docs.solidjs.com/guides/deployment-options/aws-via-sst)
- [Cloudflare](https://docs.solidjs.com/guides/deployment-options/cloudflare)
- [Firebase](https://docs.solidjs.com/guides/deployment-options/firebase)
- [Netlify](https://docs.solidjs.com/guides/deployment-options/netlify)
- [Railway](https://docs.solidjs.com/guides/deployment-options/railway)
- [Vercel](https://docs.solidjs.com/guides/deployment-options/vercel)
- [Stormkit](https://docs.solidjs.com/guides/deployment-options/stormkit)
- [Zerops](https://docs.solidjs.com/guides/deployment-options/zerops)
- [Environment variables](https://docs.solidjs.com/configuration/environment-variables)
- [TypeScript](https://docs.solidjs.com/configuration/typescript)
- [createEffect](https://docs.solidjs.com/reference/basic-reactivity/create-effect)
- [createMemo](https://docs.solidjs.com/reference/basic-reactivity/create-memo)
- [createResource](https://docs.solidjs.com/reference/basic-reactivity/create-resource)
- [createSignal](https://docs.solidjs.com/reference/basic-reactivity/create-signal)
- [children](https://docs.solidjs.com/reference/component-apis/children)
- [createContext](https://docs.solidjs.com/reference/component-apis/create-context)
- [createUniqueId](https://docs.solidjs.com/reference/component-apis/create-unique-id)
- [lazy](https://docs.solidjs.com/reference/component-apis/lazy)
- [useContext](https://docs.solidjs.com/reference/component-apis/use-context)
- [<Dynamic>](https://docs.solidjs.com/reference/components/dynamic)
- [<ErrorBoundary>](https://docs.solidjs.com/reference/components/error-boundary)
- [<For>](https://docs.solidjs.com/reference/components/for)
- [<Index>](https://docs.solidjs.com/reference/components/index-component)
- [<NoHydration>](https://docs.solidjs.com/reference/components/no-hydration)
- [<Portal>](https://docs.solidjs.com/reference/components/portal)
- [<Show>](https://docs.solidjs.com/reference/components/show)
- [<Suspense>](https://docs.solidjs.com/reference/components/suspense)
- [<SuspenseList>](https://docs.solidjs.com/reference/components/suspense-list)
- [<Switch> / <Match>](https://docs.solidjs.com/reference/components/switch-and-match)
- [@once](https://docs.solidjs.com/reference/jsx-attributes/once)
- [attr:*](https://docs.solidjs.com/reference/jsx-attributes/attr)
- [bool:*](https://docs.solidjs.com/reference/jsx-attributes/bool)
- [classList](https://docs.solidjs.com/reference/jsx-attributes/classlist)
- [innerHTML](https://docs.solidjs.com/reference/jsx-attributes/innerhtml)
- [on:*](https://docs.solidjs.com/reference/jsx-attributes/on)
- [on*](https://docs.solidjs.com/reference/jsx-attributes/on_)
- [prop:*](https://docs.solidjs.com/reference/jsx-attributes/prop)
- [ref](https://docs.solidjs.com/reference/jsx-attributes/ref)
- [style](https://docs.solidjs.com/reference/jsx-attributes/style)
- [textContent](https://docs.solidjs.com/reference/jsx-attributes/textcontent)
- [use:*](https://docs.solidjs.com/reference/jsx-attributes/use)
- [onCleanup](https://docs.solidjs.com/reference/lifecycle/on-cleanup)
- [onMount](https://docs.solidjs.com/reference/lifecycle/on-mount)
- [batch](https://docs.solidjs.com/reference/reactive-utilities/batch)
- [catchError](https://docs.solidjs.com/reference/reactive-utilities/catch-error)
- [createRoot](https://docs.solidjs.com/reference/reactive-utilities/create-root)
- [from](https://docs.solidjs.com/reference/reactive-utilities/from)
- [getOwner](https://docs.solidjs.com/reference/reactive-utilities/get-owner)
- [indexArray](https://docs.solidjs.com/reference/reactive-utilities/index-array)
- [mapArray](https://docs.solidjs.com/reference/reactive-utilities/map-array)
- [mergeProps](https://docs.solidjs.com/reference/reactive-utilities/merge-props)
- [observable](https://docs.solidjs.com/reference/reactive-utilities/observable)
- [on](https://docs.solidjs.com/reference/reactive-utilities/on-util)
- [runWithOwner](https://docs.solidjs.com/reference/reactive-utilities/run-with-owner)
- [splitProps](https://docs.solidjs.com/reference/reactive-utilities/split-props)
- [startTransition](https://docs.solidjs.com/reference/reactive-utilities/start-transition)
- [untrack](https://docs.solidjs.com/reference/reactive-utilities/untrack)
- [useTransition](https://docs.solidjs.com/reference/reactive-utilities/use-transition)
- [DEV](https://docs.solidjs.com/reference/rendering/dev)
- [hydrate](https://docs.solidjs.com/reference/rendering/hydrate)
- [hydrationScript](https://docs.solidjs.com/reference/rendering/hydration-script)
- [isServer](https://docs.solidjs.com/reference/rendering/is-server)
- [render](https://docs.solidjs.com/reference/rendering/render)
- [renderToStream](https://docs.solidjs.com/reference/rendering/render-to-stream)
- [renderToString](https://docs.solidjs.com/reference/rendering/render-to-string)
- [renderToStringAsync](https://docs.solidjs.com/reference/rendering/render-to-string-async)
- [createComputed](https://docs.solidjs.com/reference/secondary-primitives/create-computed)
- [createDeferred](https://docs.solidjs.com/reference/secondary-primitives/create-deferred)
- [createReaction](https://docs.solidjs.com/reference/secondary-primitives/create-reaction)
- [createRenderEffect](https://docs.solidjs.com/reference/secondary-primitives/create-render-effect)
- [createSelector](https://docs.solidjs.com/reference/secondary-primitives/create-selector)
- [createMutable](https://docs.solidjs.com/reference/store-utilities/create-mutable)
- [createStore](https://docs.solidjs.com/reference/store-utilities/create-store)
- [modifyMutable](https://docs.solidjs.com/reference/store-utilities/modify-mutable)
- [produce](https://docs.solidjs.com/reference/store-utilities/produce)
- [reconcile](https://docs.solidjs.com/reference/store-utilities/reconcile)
- [unwrap](https://docs.solidjs.com/reference/store-utilities/unwrap)
- [getRequestEvent](https://docs.solidjs.com/reference/server-utilities/get-request-event)

## SolidStart

- [Overview](https://docs.solidjs.com/solid-start/)
- [Getting started](https://docs.solidjs.com/solid-start/getting-started)
- [Routing](https://docs.solidjs.com/solid-start/building-your-application/routing)
- [API routes](https://docs.solidjs.com/solid-start/building-your-application/api-routes)
- [CSS and styling](https://docs.solidjs.com/solid-start/building-your-application/css-and-styling)
- [Data loading](https://docs.solidjs.com/solid-start/building-your-application/data-loading)
- [Head and metadata](https://docs.solidjs.com/solid-start/building-your-application/head-and-metadata)
- [Route Pre-rendering](https://docs.solidjs.com/solid-start/building-your-application/route-prerendering)
- [Static assets](https://docs.solidjs.com/solid-start/building-your-application/static-assets)
- [Middleware](https://docs.solidjs.com/solid-start/advanced/middleware)
- [Sessions](https://docs.solidjs.com/solid-start/advanced/session)
- [Request events](https://docs.solidjs.com/solid-start/advanced/request-events)
- [Returning responses](https://docs.solidjs.com/solid-start/advanced/return-responses)
- [Auth](https://docs.solidjs.com/solid-start/advanced/auth)
- [WebSocket endpoint](https://docs.solidjs.com/solid-start/advanced/websocket)
- [Security](https://docs.solidjs.com/solid-start/guides/security)
- [Data fetching](https://docs.solidjs.com/solid-start/guides/data-fetching)
- [Data mutation](https://docs.solidjs.com/solid-start/guides/data-mutation)
- [Service workers](https://docs.solidjs.com/solid-start/guides/service-workers)
- [app.config.ts](https://docs.solidjs.com/solid-start/reference/entrypoints/app-config)
- [app.tsx](https://docs.solidjs.com/solid-start/reference/entrypoints/app)
- [entry-client.tsx](https://docs.solidjs.com/solid-start/reference/entrypoints/entry-client)
- [entry-server.tsx](https://docs.solidjs.com/solid-start/reference/entrypoints/entry-server)
- [defineConfig](https://docs.solidjs.com/solid-start/reference/config/define-config)
- [FileRoutes](https://docs.solidjs.com/solid-start/reference/routing/file-routes)
- [clientOnly](https://docs.solidjs.com/solid-start/reference/client/client-only)
- [mount](https://docs.solidjs.com/solid-start/reference/client/mount)
- [StartClient](https://docs.solidjs.com/solid-start/reference/client/start-client)
- ["use server"](https://docs.solidjs.com/solid-start/reference/server/use-server)
- [createHandler](https://docs.solidjs.com/solid-start/reference/server/create-handler)
- [createMiddleware](https://docs.solidjs.com/solid-start/reference/server/create-middleware)
- [GET](https://docs.solidjs.com/solid-start/reference/server/get)
- [getServerFunctionMeta](https://docs.solidjs.com/solid-start/reference/server/get-server-function-meta)
- [HttpHeader](https://docs.solidjs.com/solid-start/reference/server/http-header)
- [HttpStatusCode](https://docs.solidjs.com/solid-start/reference/server/http-status-code)
- [StartServer](https://docs.solidjs.com/solid-start/reference/server/start-server)

## Solid Router

- [Overview](https://docs.solidjs.com/solid-router/)
- [Installation and setup](https://docs.solidjs.com/solid-router/getting-started/installation-and-setup)
- [Component routing](https://docs.solidjs.com/solid-router/getting-started/component)
- [Config-based routing](https://docs.solidjs.com/solid-router/getting-started/config)
- [Navigation](https://docs.solidjs.com/solid-router/concepts/navigation)
- [Path parameters](https://docs.solidjs.com/solid-router/concepts/path-parameters)
- [Search parameters](https://docs.solidjs.com/solid-router/concepts/search-parameters)
- [Catch-all routes](https://docs.solidjs.com/solid-router/concepts/catch-all)
- [Nesting routes](https://docs.solidjs.com/solid-router/concepts/nesting)
- [Layouts](https://docs.solidjs.com/solid-router/concepts/layouts)
- [Alternative routers](https://docs.solidjs.com/solid-router/concepts/alternative-routers)
- [Actions](https://docs.solidjs.com/solid-router/concepts/actions)
- [Single page applications](https://docs.solidjs.com/solid-router/rendering-modes/spa)
- [Server side rendering](https://docs.solidjs.com/solid-router/rendering-modes/ssr)
- [Lazy loading](https://docs.solidjs.com/solid-router/advanced-concepts/lazy-loading)
- [Migration from v0.9.x](https://docs.solidjs.com/solid-router/guides/migration)
- [A](https://docs.solidjs.com/solid-router/reference/components/a)
- [HashRouter](https://docs.solidjs.com/solid-router/reference/components/hash-router)
- [MemoryRouter](https://docs.solidjs.com/solid-router/reference/components/memory-router)
- [Navigate](https://docs.solidjs.com/solid-router/reference/components/navigate)
- [Route](https://docs.solidjs.com/solid-router/reference/components/route)
- [Router](https://docs.solidjs.com/solid-router/reference/components/router)
- [action](https://docs.solidjs.com/solid-router/reference/data-apis/action)
- [cache](https://docs.solidjs.com/solid-router/reference/data-apis/cache)
- [createAsync](https://docs.solidjs.com/solid-router/reference/data-apis/create-async)
- [createAsyncStore](https://docs.solidjs.com/solid-router/reference/data-apis/create-async-store)
- [query](https://docs.solidjs.com/solid-router/reference/data-apis/query)
- [revalidate](https://docs.solidjs.com/solid-router/reference/data-apis/revalidate)
- [useAction](https://docs.solidjs.com/solid-router/reference/data-apis/use-action)
- [useSubmission](https://docs.solidjs.com/solid-router/reference/data-apis/use-submission)
- [useSubmissions](https://docs.solidjs.com/solid-router/reference/data-apis/use-submissions)
- [Preload](https://docs.solidjs.com/solid-router/reference/preload-functions/preload)
- [useBeforeLeave](https://docs.solidjs.com/solid-router/reference/primitives/use-before-leave)
- [useCurrentMatches](https://docs.solidjs.com/solid-router/reference/primitives/use-current-matches)
- [useIsRouting](https://docs.solidjs.com/solid-router/reference/primitives/use-is-routing)
- [useLocation](https://docs.solidjs.com/solid-router/reference/primitives/use-location)
- [useMatch](https://docs.solidjs.com/solid-router/reference/primitives/use-match)
- [useNavigate](https://docs.solidjs.com/solid-router/reference/primitives/use-navigate)
- [useParams](https://docs.solidjs.com/solid-router/reference/primitives/use-params)
- [usePreloadRoute](https://docs.solidjs.com/solid-router/reference/primitives/use-preload-route)
- [useSearchParams](https://docs.solidjs.com/solid-router/reference/primitives/use-search-params)
- [json](https://docs.solidjs.com/solid-router/reference/response-helpers/json)
- [redirect](https://docs.solidjs.com/solid-router/reference/response-helpers/redirect)
- [reload](https://docs.solidjs.com/solid-router/reference/response-helpers/reload)

## Solid Meta

- [Overview](https://docs.solidjs.com/solid-meta/)
- [Install and configure](https://docs.solidjs.com/solid-meta/getting-started/installation-and-setup)
- [Client setup](https://docs.solidjs.com/solid-meta/getting-started/client-setup)
- [Server setup](https://docs.solidjs.com/solid-meta/getting-started/server-setup)
- [Base](https://docs.solidjs.com/solid-meta/reference/meta/base)
- [Link](https://docs.solidjs.com/solid-meta/reference/meta/link)
- [Meta](https://docs.solidjs.com/solid-meta/reference/meta/meta)
- [MetaProvider](https://docs.solidjs.com/solid-meta/reference/meta/metaprovider)
- [Style](https://docs.solidjs.com/solid-meta/reference/meta/style)
- [Title](https://docs.solidjs.com/solid-meta/reference/meta/title)
3 changes: 3 additions & 0 deletions scripts/collections/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,8 @@ export const COLLECTIONS_ROOT = "src/routes";
Object.keys(projectTrees).forEach((project) =>
writeFile(`${project}-entries.ts`, projectTrees[project])
),
Object.keys(projectFlatEntries).forEach((project) =>
writeFile(`${project}-flat-entries.js`, projectFlatEntries[project], true)
),
]);
})();
63 changes: 63 additions & 0 deletions scripts/llms-gen.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import entries from "../.solid/entriesList.js";
import startEntries from "../.solid/solid-start-flat-entries.js";
import routerEntries from "../.solid/solid-router-flat-entries.js";
import metaEntries from "../.solid/solid-meta-flat-entries.js";
import fs from "fs";

const generateLinkArray = (routes) => {
return routes.map((route) => ({
title: route.title,
url: `https://docs.solidjs.com${route.path}`,
}));
};

const formatSection = (title, links) => {
const formattedLinks = links
.map((link) => `- [${link.title}](${link.url})`)
.join("\n");
return `## ${title}\n\n${formattedLinks}`;
};

(async () => {
// SolidJS Core
const coreLinks = [
...generateLinkArray(entries.learn),
...generateLinkArray(entries.reference),
];

// SolidStart
const startLinks = [
...generateLinkArray(startEntries.learn),
...generateLinkArray(startEntries.reference),
];

// Solid Router
const routerLinks = [
...generateLinkArray(routerEntries.learn),
...generateLinkArray(routerEntries.reference),
];

// Solid Meta
const metaLinks = [
...generateLinkArray(metaEntries.learn),
...generateLinkArray(metaEntries.reference),
];

const output = `# SolidJS Documentation
> Solid is a JavaScript library built around signals. It prioritizes a simple and predictable development experience, making it a great choice for developers of all skill levels. These are the documention for the main official projects.
> - SolidJS: The core library for building reactive user interfaces.
> - SolidStart: A full-stack framework for building web applications.
> - Solid Router: A routing library for building web applications.
> - Solid Meta: A library for managing the HTML head and meta tags.

${formatSection("SolidJS", coreLinks)}

${formatSection("SolidStart", startLinks)}

${formatSection("Solid Router", routerLinks)}

${formatSection("Solid Meta", metaLinks)}
`;

fs.writeFileSync("public/llms.txt", output, { encoding: "utf-8" });
})();