Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
08ced41
well it works
Brendonovich Aug 17, 2025
7856588
add netlify preset
Brendonovich Aug 17, 2025
4953b1b
formatting
Brendonovich Aug 23, 2025
3191647
linting
Brendonovich Aug 23, 2025
5e59c41
more
Brendonovich Aug 23, 2025
7f031e5
pkg pr new
Brendonovich Aug 23, 2025
88a517e
bruh
Brendonovich Aug 23, 2025
b7e783a
lockfile
Brendonovich Aug 23, 2025
15ef81f
build
Brendonovich Aug 23, 2025
6c67e7f
maybe?
Brendonovich Aug 23, 2025
8627cd7
publishConfig
Brendonovich Aug 23, 2025
a72bf8f
try again
Brendonovich Aug 23, 2025
eaa3c4b
fix
Brendonovich Aug 23, 2025
14c6cf8
vendor solid-mdx
Brendonovich Aug 23, 2025
e870406
sideEffects?
Brendonovich Aug 23, 2025
20d90ea
solidbase/mdx
Brendonovich Aug 23, 2025
9c6891d
-_-
Brendonovich Aug 23, 2025
19031cc
annoying mdx import
Brendonovich Aug 23, 2025
42ec719
format
Brendonovich Aug 23, 2025
bbf0c29
bruh
Brendonovich Aug 23, 2025
585bf7f
always noExternal
Brendonovich Aug 23, 2025
eaa8cce
sourcemaps
Brendonovich Aug 24, 2025
45f306f
formatting
Brendonovich Nov 23, 2025
859996e
linting
Brendonovich Nov 23, 2025
df3da26
fouc in dev but everything else works
Brendonovich Dec 20, 2025
8d6b583
fix: properly ssr virtual styles in dev
katywings Dec 21, 2025
28b6e92
add file extension to import
jer3m01 Feb 27, 2026
935a051
update start¸
Brendonovich Feb 28, 2026
7e4cd40
update some deps
Brendonovich Feb 28, 2026
5c6b171
fix: docs build
jer3m01 Mar 11, 2026
24a4bce
style: format
jer3m01 Mar 11, 2026
58e2b91
test netlify?
jer3m01 Mar 11, 2026
25a6860
feat(llms): implement LLMS plugin and enhance markdown processing
LadyBluenotes Mar 11, 2026
4a0585e
feat: enhance inline frontmatter processing and update markdown conve…
LadyBluenotes Mar 16, 2026
bfb57c5
feat(tests): add Vitest configuration and tests for document markdown…
LadyBluenotes Mar 16, 2026
28c47e1
feat(tests): add tests for remarkImportCodeFile and remarkTOC plugins
LadyBluenotes Mar 16, 2026
9ba5a1a
feat(tests): add tests for document markdown processing and LLMS inde…
LadyBluenotes Mar 16, 2026
037316a
feat(tests): add tests for LLMS plugin and enhance markdown processin…
LadyBluenotes Mar 16, 2026
c103449
feat(tests): add unit tests for git timestamp retrieval and solid bas…
LadyBluenotes Mar 16, 2026
7e5dbf2
feat(sidebar): enhance link handling and add tests for sidebar functi…
LadyBluenotes Mar 16, 2026
048bc55
feat(tests): add unit tests for remark plugins
LadyBluenotes Mar 16, 2026
6b15b55
feat(tests): add integration and unit tests for locale and page data …
LadyBluenotes Mar 16, 2026
b4bd319
feat(llms): implement LLMS plugin and enhance markdown processing
LadyBluenotes Mar 11, 2026
20e427f
feat: enhance inline frontmatter processing and update markdown conve…
LadyBluenotes Mar 16, 2026
35c6df1
feat(tests): add Vitest configuration and tests for document markdown…
LadyBluenotes Mar 16, 2026
0dec442
feat(tests): add tests for remarkImportCodeFile and remarkTOC plugins
LadyBluenotes Mar 16, 2026
3f625f1
feat(tests): add tests for document markdown processing and LLMS inde…
LadyBluenotes Mar 16, 2026
b2f4e08
feat(tests): add tests for LLMS plugin and enhance markdown processin…
LadyBluenotes Mar 16, 2026
392d1ac
feat(tests): add unit tests for git timestamp retrieval and solid bas…
LadyBluenotes Mar 16, 2026
0f4731e
feat(sidebar): enhance link handling and add tests for sidebar functi…
LadyBluenotes Mar 16, 2026
98c1856
feat(tests): add unit tests for remark plugins
LadyBluenotes Mar 16, 2026
9781c62
feat(tests): add integration and unit tests for locale and page data …
LadyBluenotes Mar 16, 2026
f80aeb9
vite 8
jer3m01 Mar 17, 2026
edcd94e
Merge branch 'llm-feat' of https://github.com/LadyBluenotes/solidbase…
LadyBluenotes Mar 17, 2026
6e1ee3a
fix(package): update vite version in package.json
LadyBluenotes Mar 17, 2026
6f1db6e
feat(config): fix devinxi errors
LadyBluenotes Mar 17, 2026
d170768
start 2 nitro 3
jer3m01 Mar 17, 2026
1cb999e
feat(config): fix devinxi errors
LadyBluenotes Mar 17, 2026
1287c3c
style: format
jer3m01 Mar 17, 2026
bd39c18
ci: update biome
jer3m01 Mar 17, 2026
c44b0e0
update with devinxi branch
LadyBluenotes Mar 17, 2026
9fa9b5a
feat(tests): update test paths and improve readability in page data h…
LadyBluenotes Mar 17, 2026
de1231e
fix errors
jer3m01 Mar 17, 2026
e601854
refactor(index.ts): clean up import formatting and variable declaration
LadyBluenotes Mar 17, 2026
62db95f
refactor(index.ts): clean up import formatting and variable declaration
LadyBluenotes Mar 17, 2026
bb30ea5
ci: update biome
jer3m01 Mar 17, 2026
360ce14
feat(docs): update internal links and add LLMS support documentation
LadyBluenotes Mar 17, 2026
be70cad
fix(styles): add min-width to content class for better layout handling
LadyBluenotes Mar 17, 2026
8c7fe0f
feat(llms): implement LLMS plugin and enhance markdown processing
LadyBluenotes Mar 11, 2026
3f499d7
feat: enhance inline frontmatter processing and update markdown conve…
LadyBluenotes Mar 16, 2026
d57b411
feat(tests): add Vitest configuration and tests for document markdown…
LadyBluenotes Mar 16, 2026
dd66521
feat(tests): add tests for remarkImportCodeFile and remarkTOC plugins
LadyBluenotes Mar 16, 2026
0d2bb61
feat(tests): add tests for document markdown processing and LLMS inde…
LadyBluenotes Mar 16, 2026
f3486a8
feat(tests): add tests for LLMS plugin and enhance markdown processin…
LadyBluenotes Mar 16, 2026
0027bc7
feat(tests): add unit tests for git timestamp retrieval and solid bas…
LadyBluenotes Mar 16, 2026
40f387c
feat(sidebar): enhance link handling and add tests for sidebar functi…
LadyBluenotes Mar 16, 2026
2a60568
feat(tests): add unit tests for remark plugins
LadyBluenotes Mar 16, 2026
984c185
feat(tests): add integration and unit tests for locale and page data …
LadyBluenotes Mar 16, 2026
892c296
feat(llms): implement LLMS plugin and enhance markdown processing
LadyBluenotes Mar 11, 2026
b402276
feat: enhance inline frontmatter processing and update markdown conve…
LadyBluenotes Mar 16, 2026
2a99022
feat(config): fix devinxi errors
LadyBluenotes Mar 17, 2026
e25d80f
feat(config): fix devinxi errors
LadyBluenotes Mar 17, 2026
3b735a8
update with devinxi branch
LadyBluenotes Mar 17, 2026
4c9ce4d
feat(tests): update test paths and improve readability in page data h…
LadyBluenotes Mar 17, 2026
bf8dec0
refactor(index.ts): clean up import formatting and variable declaration
LadyBluenotes Mar 17, 2026
fad1160
refactor(index.ts): clean up import formatting and variable declaration
LadyBluenotes Mar 17, 2026
1d4cc63
feat(docs): update internal links and add LLMS support documentation
LadyBluenotes Mar 17, 2026
d44ff40
fix(styles): add min-width to content class for better layout handling
LadyBluenotes Mar 17, 2026
e3b672f
Merge remote-tracking branch 'origin/llm-feat' into llm-feat
LadyBluenotes Mar 17, 2026
0afdc36
fix after rebase please ;-;
LadyBluenotes Mar 17, 2026
2bae620
format
LadyBluenotes Mar 17, 2026
f98ab0f
fix tests
LadyBluenotes Mar 17, 2026
a8a9b7c
add llms.txt to solidbase docs
LadyBluenotes Mar 17, 2026
47cd172
add locale handling and skip not-found routes in llms output
LadyBluenotes Mar 17, 2026
97581b9
add navigation support and improve sidebar rendering with indentation
LadyBluenotes Mar 17, 2026
c3707a9
add route path joining and improve sidebar rendering with nested head…
LadyBluenotes Mar 17, 2026
b7306c7
add spacing between headings in LLMS index rendering
LadyBluenotes Mar 17, 2026
6a55d2c
update file paths in ec-file.mdx and modify package.json scripts for …
LadyBluenotes Mar 17, 2026
4dc41b5
add asset writing functionality and improve build process in llms plugin
LadyBluenotes Mar 17, 2026
496c380
revert changes
LadyBluenotes Mar 18, 2026
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
38 changes: 38 additions & 0 deletions .github/workflows/cr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: ⚡️ Continuous Releases

on:
push:
branches:
- main
merge_group:
pull_request:

jobs:
cr:
name: "⚡️ Continuous Releases"

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3

- name: Use Node.js 22.14.0
uses: actions/setup-node@v4
with:
node-version: 22.14.0
registry-url: "https://registry.npmjs.org"
cache: "pnpm"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build start
run: pnpm run build

- name: Rewrite exports
run: echo $(cat package.json | jq '.exports = .publishConfig.exports') > package.json

- name: Release
run: pnpm dlx pkg-pr-new@0.0 publish
2 changes: 1 addition & 1 deletion .github/workflows/format-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: 1.9.2
version: 2.4.7

- name: Run Biome
run: biome ci .
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
*.json
*.cjs
*.css
*.d.ts
pnpm-lock.yaml
examples/solid-docs
18 changes: 11 additions & 7 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"files": {
"ignore": [
"./tsconfig.json",
"*/netlify/*",
"**/package.json",
"./examples/solid-docs",
"**/app.config.*.js"
"includes": [
"**",
"!./tsconfig.json",
"!*/netlify/*",
"!**/package.json",
"!./examples/solid-docs",
"!**/app.config.*.js",
"!**/*.d.ts",
"!node_modules"
]
},
"vcs": {
Expand All @@ -30,7 +33,8 @@
"noAssignInExpressions": "off"
},
"style": {
"noNonNullAssertion": "off"
"noNonNullAssertion": "off",
"noDescendingSpecificity": "off"
},
"complexity": {
"noBannedTypes": "off"
Expand Down
36 changes: 17 additions & 19 deletions dev/app.config.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
import { defineConfig } from "@solidjs/start/config";

import { createWithSolidBase, defineTheme } from "../src/config";
import { createSolidBase, defineTheme } from "../src/config";
import defaultTheme from "../src/default-theme";

const customTheme = defineTheme({
const theme = defineTheme({
componentsPath: import.meta.resolve("./src/solidbase-theme"),
extends: defaultTheme,
});

export default defineConfig(
createWithSolidBase(customTheme)(
{
ssr: true,
server: {
prerender: {
crawlLinks: true,
},
},
const solidBase = createSolidBase(theme);

export default {
...solidBase.startConfig({
ssr: true,
}),
server: {
prerender: {
crawlLinks: true,
},
{
},
plugins: [
solidBase.plugin({
title: "SolidBase",
description:
"Fully featured, fully customisable static site generation for SolidStart",
Expand All @@ -30,12 +30,10 @@ export default defineConfig(
transform: (_code, id) => {
let code = _code;

// tests id
if (id.endsWith("to-transform.tsx")) {
code += "// appended by transform";
}

// tests code
return code.replace("REPLACE ME", "replaced string!");
},
},
Expand Down Expand Up @@ -108,6 +106,6 @@ export default defineConfig(
],
},
},
},
),
);
}),
],
};
18 changes: 10 additions & 8 deletions dev/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,23 @@
"type": "module",
"private": "true",
"scripts": {
"dev": "VITE_SOLIDBASE_DEV=1 vinxi dev",
"build": "vinxi build",
"start": "vinxi start"
"dev": "cross-env VITE_SOLIDBASE_DEV=true vite dev",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"@kobalte/solidbase": "workspace:*",
"@solidjs/router": "^0.15.3",
"@solidjs/start": "^1.1.1",
"solid-js": "^1.9.5",
"vinxi": "^0.5.3"
"@solidjs/start": "https://pkg.pr.new/solidjs/solid-start/@solidjs/start@2080",
"nitro": "3.0.260311-beta",
"solid-js": "^1.9.9"
},
"engines": {
"node": ">=18"
"node": ">=22.12"
},
"devDependencies": {
"@iconify-json/ri": "^1.2.5"
"@iconify-json/ri": "^1.2.5",
"cross-env": "^7.0.3",
"vite": "^8.0.0"
}
}
2 changes: 1 addition & 1 deletion dev/src/entry-client.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// @refresh reload
import { StartClient, mount } from "@solidjs/start/client";
import { mount, StartClient } from "@solidjs/start/client";

mount(() => <StartClient />, document.getElementById("app")!);
2 changes: 1 addition & 1 deletion dev/src/entry-server.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { getHtmlProps } from "@kobalte/solidbase/server";
// @refresh reload
import { StartServer, createHandler } from "@solidjs/start/server";
import { createHandler, StartServer } from "@solidjs/start/server";

export default createHandler(() => (
<StartServer
Expand Down
2 changes: 2 additions & 0 deletions dev/src/routes/about.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: About
llms:
exclude: true
---

# About Page
Expand Down
1 change: 1 addition & 0 deletions dev/src/routes/dave.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: What are we missing?
description: This is a test page
---

Title as defined by frontmatter: {frontmatter.title}
Expand Down
2 changes: 1 addition & 1 deletion dev/src/routes/to-transform.tsx
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// i've not got a title!
const replacedString = "REPLACE ME";
const _replacedString = "REPLACE ME";
3 changes: 1 addition & 2 deletions dev/src/solidbase-theme/Layout.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Title } from "@solidjs/meta";

import Layout from "@kobalte/solidbase/default-theme/Layout.jsx";
import { Title } from "@solidjs/meta";
import type { ParentProps } from "solid-js";

export default function (props: ParentProps) {
Expand Down
33 changes: 16 additions & 17 deletions dev/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"allowJs": true,
"strict": true,
"noEmit": true,
"types": ["vinxi/types/client"],
"isolatedModules": true,
"paths": {
"~/*": ["./src/*"]
}
}
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"allowJs": true,
"strict": true,
"noEmit": true,
"isolatedModules": true,
"paths": {
"~/*": ["./src/*"]
}
}
}
39 changes: 39 additions & 0 deletions dev/vite.config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { solidStart } from "@solidjs/start/config";
import { nitro } from "nitro/vite";
import { defineConfig } from "vite";

import { createSolidBase, defineTheme } from "../src/config";
import { createFilesystemSidebar } from "../src/config/sidebar";
import defaultTheme from "../src/default-theme";

const theme = defineTheme({
componentsPath: import.meta.resolve("./src/solidbase-theme"),
extends: defaultTheme,
});

const solidBase = createSolidBase(theme);

export default defineConfig({
plugins: [
solidBase.plugin({
title: "SolidBase Dev",
description: "Development playground for the latest SolidBase features",
llms: true,
lang: "en",
themeConfig: {
sidebar: {
"/": createFilesystemSidebar("./src/routes", {
filter: (item) => {
if ("items" in item) return true;
return /\.(md|mdx)$/.test(item.filePath);
},
}),
},
},
}),
solidStart(solidBase.startConfig()),
nitro({
prerender: { crawlLinks: true },
}),
],
});
2 changes: 2 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ dist
.vercel
.netlify
.vinxi
.nitro
.solid-start
app.config.timestamp_*.js

# Environment
Expand Down
14 changes: 7 additions & 7 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
"type": "module",
"private": "true",
"scripts": {
"dev": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" VITE_SOLIDBASE_DEV=true vinxi dev",
"build": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" vinxi build",
"start": "vinxi start"
"dev": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" VITE_SOLIDBASE_DEV=true vite dev",
"build": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" vite build"
},
"dependencies": {
"@kobalte/solidbase": "workspace:*",
"@solid-mediakit/og": "0.4.1",
"@solidjs/router": "^0.15.3",
"@solidjs/start": "^1.1.3",
"solid-js": "^1.9.5",
"vinxi": "^0.5.3"
"@solidjs/start": "https://pkg.pr.new/solidjs/solid-start/@solidjs/start@2080",
"nitro": "3.0.260311-beta",
"solid-js": "^1.9.9",
"vite": "^8.0.0"
},
"engines": {
"node": ">=18"
"node": ">=22.12"
},
"devDependencies": {
"@iconify-json/ri": "^1.2.5",
Expand Down
2 changes: 1 addition & 1 deletion docs/src/entry-client.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// @refresh reload
import { StartClient, mount } from "@solidjs/start/client";
import { mount, StartClient } from "@solidjs/start/client";

mount(() => <StartClient />, document.getElementById("app")!);
2 changes: 1 addition & 1 deletion docs/src/entry-server.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { getFontPreloadLinkAttrs } from "@kobalte/solidbase/default-theme/fonts.js";
import { getHtmlProps } from "@kobalte/solidbase/server";
// @refresh reload
import { StartServer, createHandler } from "@solidjs/start/server";
import { createHandler, StartServer } from "@solidjs/start/server";

export default createHandler(() => (
<StartServer
Expand Down
4 changes: 2 additions & 2 deletions docs/src/routes/guide/(1)add-to-existing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,5 @@ To account for this, this small script will automatically be injected to correct
## Done!

Your project is now setup with the default SolidBase theme!
You can now create Markdown routes in your project that take advantage of SolidBase's [Markdown Extensions](../markdown),
and customise your project's appearance by [customising the default theme](../extending-themes#extending-the-default-theme) or [creating a new theme](../custom-themes).
You can now create Markdown routes in your project that take advantage of SolidBase's [Markdown Extensions](/guide/features/markdown),
and customise your project's appearance by [customising the default theme](/guide/customization/extending-themes#extending-the-default-theme) or [creating a new theme](/guide/customization/custom-themes).
7 changes: 6 additions & 1 deletion docs/src/routes/guide/(2)config.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ interface SolidBaseConfig<ThemeConfig> {
description?: string;
logo?: string;
issueAutolink?: IssueAutoLinkConfig | false;
llms?: boolean;
lang?: string;
locales?: Record<string, LocaleConfig<ThemeConfig>>;
themeConfig?: ThemeConfig;
Expand Down Expand Up @@ -78,7 +79,7 @@ There are several options for setting site-wide metadata and behavior. These opt
```

:::note
For multilingual support, you can use the `locales` option to define different configurations for each locale. More details can be found in the [Internationalization guide](/guide/i18n).
For multilingual support, you can use the `locales` option to define different configurations for each locale. More details can be found in the [Internationalization guide](/guide/features/i18n).
:::

#### Miscellaneous options
Expand All @@ -88,15 +89,19 @@ In addition to setting the site title and description, you can also configure ot
- `editPath`: A string or function to generate the "Edit this page" link for each page.
- `lastUpdated`: An object to configure the display of the last updated timestamp on each page. Set to `false` to disable this feature.
- `issueAutolink`: An object to configure automatic linking of issue references in your markdown content. Set to `false` to disable this feature.
- `llms`: Set to `true` to emit an `llms.txt` index and markdown copies of your routes for LLM-friendly documentation output.

```ts title="app.config.ts"
// ..
editPath: "https://github.com/[USERNAME]/[REPO]/edit/main/docs/:path"
lastUpdated: false;
issueAutolink: "https://github.com/[USERNAME]/[REPO]/issues/:issue"
llms: true;
// ..
```

See the [LLMs.txt guide](/guide/features/llms) for page-level exclusion and output details.

### Markdown Configuration

In addition to the default markdown support provided by SolidBase, you can include additional markdown plugins, configurations, and other options through the `markdown` option.
Expand Down
Loading
Loading