Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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" });
})();