Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
11c29ad
feat: basic build step
HiDeoo Nov 14, 2025
0d9a647
feat: `publishConfig`
HiDeoo Nov 18, 2025
d2932a4
fix: `./components` export
HiDeoo Nov 18, 2025
0d93594
fix: virtual module `resolveLocalPath`
HiDeoo Nov 18, 2025
c7f858d
refactor: configuration types
HiDeoo Nov 19, 2025
26c094a
chore: comment rolldown plugins
HiDeoo Nov 19, 2025
f598aec
fix: icon names inline union duplicated in declaration files
HiDeoo Nov 19, 2025
0428278
feat(file-icons-generator): file icon names type
HiDeoo Nov 19, 2025
2a3f437
chore: update comment
HiDeoo Nov 19, 2025
f54a515
feat: global type augmentation & interface merging
HiDeoo Nov 21, 2025
be852cb
feat: virtual.d.ts
HiDeoo Nov 21, 2025
51c9ac4
chore: add issue links to some comments
HiDeoo Nov 21, 2025
bb51ebe
feat: strict `publint`
HiDeoo Nov 21, 2025
eb2124a
fix: docs
HiDeoo Nov 21, 2025
04e4ee8
fix: file-icons-generator
HiDeoo Nov 21, 2025
5c8678a
fix: unit tests
HiDeoo Nov 21, 2025
2e7b34b
fix: coverage
HiDeoo Nov 21, 2025
fb0ef81
fix: typecheck
HiDeoo Nov 21, 2025
5ca7c4b
fix: prettier
HiDeoo Nov 21, 2025
77fb4d3
chore: gitignore build output
HiDeoo Nov 21, 2025
8d3d4cb
fix: remove some dirty hacks we used when shipping TS
HiDeoo Nov 21, 2025
77c6c42
docs: update user component links
HiDeoo Nov 26, 2025
def3441
docs: update `props.css` link
HiDeoo Nov 26, 2025
d81bb62
docs: update component links
HiDeoo Nov 26, 2025
18146d3
docs: update contributing guide links
HiDeoo Nov 26, 2025
07265af
chore: add `tagline` changeset
HiDeoo Nov 26, 2025
1fe377d
fix(file-icons-generator): jsdoc links
HiDeoo Nov 26, 2025
e09c58c
ci: add build step
HiDeoo Nov 26, 2025
04f76bc
Merge branch 'main' into pr/3572
delucis Mar 31, 2026
56a8da6
Move internal components into `src`
delucis Mar 31, 2026
c19dbf9
Fix some imports
delucis Mar 31, 2026
d1658f7
Fix bad merge in sidebar schema
delucis Mar 31, 2026
38c5cba
Fix missing types from bad merge
delucis Apr 1, 2026
fccd4f6
Fix renamed ToC schema import
delucis Apr 1, 2026
08e0adf
Add missing icons to icon key type
delucis Apr 1, 2026
3593cae
Add missing `processedDirs` type to markdown config
delucis Apr 1, 2026
89de70b
Fix plugin config hook type
delucis Apr 1, 2026
c07959f
Allow explicit `undefined` for `locales` and `sidebar` in user config…
delucis Apr 1, 2026
fec0b3a
Fix file path in E2E test
delucis Apr 1, 2026
ece2dcc
test: fix branded type check by removing intersection
HiDeoo Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .changeset/fresh-ads-sneeze.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astrojs/starlight': minor
---

Removes the `tagline` configuration option, which was never used.

If your configuration included a `tagline` option, you can safely remove it without any replacement.
3 changes: 3 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ jobs:
- name: Install Dependencies
run: pnpm i

- name: Build Packages
run: pnpm run build

- name: Create Release Pull Request
uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1.7.0
with:
Expand Down
4 changes: 2 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ pnpm-lock.yaml
**/__tests__/**/snapshots

# https://github.com/withastro/prettier-plugin-astro/issues/337
packages/starlight/user-components/Tabs.astro
packages/starlight/src/user-components/Tabs.astro

# Prettier forces whitespace between elements we want to avoid for consistency with the rehype version
packages/starlight/components/AnchorHeading.astro
packages/starlight/src/components/AnchorHeading.astro
packages/starlight/__e2e__/fixtures/basics/src/content/docs/anchor-heading-component.mdx

# Malformed YAML file used for testing
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ Check out the dedicated [i18n contribution guidelines](https://contribute.docs.a

Starlight’s UI comes with some built-in text elements. For example, the table of contents on a Starlight page has a heading of “On this page” and the theme picker shows “Light”, “Dark”, and “Auto” labels. Starlight aims to provide these in as many languages as possible.

Help out by adding or updating translation files in [`packages/starlight/translations`](./packages/starlight/translations/).
Help out by adding or updating translation files in [`packages/starlight/src/translations`](./packages/starlight/src/translations/).
Each language’s JSON file follows the [translation structure described in Starlight’s docs](https://starlight.astro.build/guides/i18n/#translate-starlights-ui).

📺 **Prefer a visual walkthrough?** [Watch an introduction to Starlight’s translation files.](https://scrimba.com/scrim/cpb44bt3)
Expand Down Expand Up @@ -262,14 +262,14 @@ To add a language, you will need its BCP-47 tag and a label. See [“Adding a ne
- Starlight is built as an Astro integration.
Read the [Astro Integration API docs][api-docs] to learn more about how integrations work.

The Starlight integration is exported from [`packages/starlight/index.ts`](./packages/starlight/index.ts).
The Starlight integration is exported from [`packages/starlight/src/index.ts`](./packages/starlight/src/index.ts).
It sets up Starlight’s routing logic, parses user config, and adds configuration to a Starlight user’s Astro project.

- Most pages in a Starlight project are built using a single [`packages/starlight/index.astro`](./packages/starlight/index.astro) route.
- Most pages in a Starlight project are built using a single [`packages/starlight/src/routes/common.astro`](./packages/starlight/src/routes/common.astro) route.
If you’ve worked on an Astro site before, much of this should look familiar: it’s an Astro component and uses a number of other components to build a page based on user content.

- Starlight consumes a user’s content from the `'docs'` [content collection](https://docs.astro.build/en/guides/content-collections/).
This allows us to specify the permissible frontmatter via [a Starlight-specific schema](./packages/starlight/schema.ts) and get predictable data while providing clear error messages if a user sets invalid frontmatter in a page.
This allows us to specify the permissible frontmatter via [a Starlight-specific schema](./packages/starlight/src/schema.ts) and get predictable data while providing clear error messages if a user sets invalid frontmatter in a page.

- Components that require JavaScript for their functionality are all written without a UI framework, most often as custom elements.
This helps keep Starlight lightweight and makes it easier for a user to choose to add components from a framework of their choice to their project.
Expand Down
1 change: 0 additions & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"typecheck": "tsc --noEmit",
"linkcheck": "CHECK_LINKS=true pnpm build",
"astro": "astro",
"lunaria:build": "lunaria build",
Expand Down
2 changes: 1 addition & 1 deletion docs/src/components/icons-list.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import { Icon } from '@astrojs/starlight/components';
import { Icons, type StarlightIcon } from '../../../packages/starlight/components-internals/Icons';
import { Icons, type StarlightIcon } from '../../../packages/starlight/src/components-internals/Icons';

interface Props {
labels?: {
Expand Down
2 changes: 1 addition & 1 deletion docs/src/components/languages-list.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import { getEntry } from 'astro:content';
import translations from '../../../packages/starlight/translations';
import translations from '../../../packages/starlight/src/translations';

interface Props {
startsSentence?: boolean;
Expand Down
8 changes: 4 additions & 4 deletions docs/src/components/sidebar-preview.astro
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import type {
AutoSidebarGroup,
SidebarItem,
InternalSidebarLinkItem,
} from '../../../packages/starlight/schemas/sidebar';
import SidebarSublist from '../../../packages/starlight/components/SidebarSublist.astro';
import type { Badge } from '../../../packages/starlight/schemas/badge';
import type { SidebarEntry } from '../../../packages/starlight/utils/routing/types';
} from '../../../packages/starlight/src/schemas/sidebar';
import SidebarSublist from '../../../packages/starlight/src/components/SidebarSublist.astro';
import type { Badge } from '../../../packages/starlight/src/schemas/badge';
import type { SidebarEntry } from '../../../packages/starlight/src/utils/routing/types';

interface Props {
config: SidebarConfig;
Expand Down
2 changes: 1 addition & 1 deletion docs/src/components/ui-strings-list.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import { Code } from '@astrojs/starlight/components';
import uiStrings from '../../../packages/starlight/translations/en.json?raw';
import uiStrings from '../../../packages/starlight/src/translations/en.json?raw';
---

<Code code={uiStrings} lang="json" />
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/asides.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ A tip aside *with* a custom icon.

## `<Aside>` Props

**Implementation:** [`Aside.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/Aside.astro)
**Implementation:** [`Aside.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/Aside.astro)

The `<Aside>` component accepts the following props:

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/badges.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ import { Badge } from '@astrojs/starlight/components';

## `<Badge>` Props

**Implementation:** [`Badge.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/Badge.astro)
**Implementation:** [`Badge.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/Badge.astro)

The `<Badge>` component accepts the following props and also any [other `<span>` attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes):

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/card-grids.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ More information you want to share.

## `<CardGrid>` Props

**Implementation:** [`CardGrid.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/CardGrid.astro)
**Implementation:** [`CardGrid.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/CardGrid.astro)

The `<CardGrid>` component accepts the following props:

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/cards.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ See the [“Group cards”](/components/card-grids/#group-cards) guide for an ex

## `<Card>` Props

**Implementation:** [`Card.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/Card.astro)
**Implementation:** [`Card.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/Card.astro)

The `<Card>` component accepts the following props:

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/file-tree.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,6 @@ import { FileTree } from '@astrojs/starlight/components';

## `<FileTree>` Props

**Implementation:** [`FileTree.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/FileTree.astro)
**Implementation:** [`FileTree.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/FileTree.astro)

The `<FileTree>` component does not accept any props.
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/icons.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ import { Icon } from '@astrojs/starlight/components';

## `<Icon>` Props

**Implementation:** [`Icon.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/Icon.astro)
**Implementation:** [`Icon.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/Icon.astro)

The `<Icon>` component accepts the following props:

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/link-buttons.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ Related: Astro

## `<LinkButton>` Props

**Implementation:** [`LinkButton.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/LinkButton.astro)
**Implementation:** [`LinkButton.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/LinkButton.astro)

The `<LinkButton>` component accepts the following props and also any [other `<a>` attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a):

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/link-cards.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ See the [“Group link cards”](/components/card-grids/#group-link-cards) guide

## `<LinkCard>` Props

**Implementation:** [`LinkCard.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/LinkCard.astro)
**Implementation:** [`LinkCard.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/LinkCard.astro)

The `<LinkCard>` component accepts the following props, as well as all other [`<a>` element attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a):

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/steps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,6 @@ import { Steps } from '@astrojs/starlight/components';

## `<Steps>` Props

**Implementation:** [`Steps.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/Steps.astro)
**Implementation:** [`Steps.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/Steps.astro)

The `<Steps>` component does not accept any props.
4 changes: 2 additions & 2 deletions docs/src/content/docs/components/tabs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ Io, Europa, Ganymede

## `<Tabs>` Props

**Implementation:** [`Tabs.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/Tabs.astro)
**Implementation:** [`Tabs.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/Tabs.astro)

The `<Tabs>` component groups multiple `<TabItem>` components together and accepts the following props:

Expand All @@ -203,7 +203,7 @@ A key used to keep multiple tab groups synchronized across multiple pages.

## `<TabItem>` Props

**Implementation:** [`TabItem.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/user-components/TabItem.astro)
**Implementation:** [`TabItem.astro`](https://github.com/withastro/starlight/blob/main/packages/starlight/src/user-components/TabItem.astro)

A set of tabs is composed of tab items, each with the following props:

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/guides/css-and-tailwind.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Customize the styles applied to your Starlight site by providing additional CSS

</Steps>

You can see all the CSS custom properties used by Starlight that you can set to customize your site in the [`props.css` file on GitHub](https://github.com/withastro/starlight/blob/main/packages/starlight/style/props.css).
You can see all the CSS custom properties used by Starlight that you can set to customize your site in the [`props.css` file on GitHub](https://github.com/withastro/starlight/blob/main/packages/starlight/src/style/props.css).

### Cascade layers

Expand Down
Loading
Loading