@grove-dev/starlight 0.4.0 → 0.5.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# @grove-dev/starlight
|
|
2
2
|
|
|
3
|
-
Grove Starlight is a theme plugin for Astro Starlight
|
|
3
|
+
Grove Starlight is a theme plugin for Astro Starlight that powers the
|
|
4
|
+
Grove documentation site (`apps/docs/`). It ships component overrides,
|
|
5
|
+
a layered CSS theme, and an Expressive Code integration so that
|
|
6
|
+
Starlight renders pages in the same visual language as Grove-powered
|
|
7
|
+
directories.
|
|
4
8
|
|
|
5
9
|
## Features
|
|
6
10
|
|
|
@@ -29,29 +33,34 @@ Add the plugin inside the Starlight integration:
|
|
|
29
33
|
// astro.config.mjs
|
|
30
34
|
import { defineConfig } from 'astro/config';
|
|
31
35
|
import starlight from '@astrojs/starlight';
|
|
32
|
-
import
|
|
36
|
+
import grove from '@grove-dev/starlight';
|
|
33
37
|
|
|
34
38
|
export default defineConfig({
|
|
35
39
|
integrations: [
|
|
36
40
|
starlight({
|
|
37
41
|
title: 'My Docs',
|
|
38
|
-
plugins: [
|
|
42
|
+
plugins: [grove()],
|
|
39
43
|
}),
|
|
40
44
|
],
|
|
41
45
|
});
|
|
42
46
|
```
|
|
43
47
|
|
|
44
|
-
The plugin
|
|
48
|
+
The plugin registers Grove's component overrides, appends the theme
|
|
49
|
+
CSS files, and configures Expressive Code.
|
|
45
50
|
|
|
46
51
|
## Attribution
|
|
47
52
|
|
|
48
|
-
This theme recreates the design of the documentation site for
|
|
53
|
+
This theme recreates the design of the documentation site for
|
|
54
|
+
[shadcn/ui](https://ui.shadcn.com/).
|
|
49
55
|
|
|
50
|
-
|
|
56
|
+
It uses [adrian-ub/starlight-theme-black](https://github.com/adrian-ub/starlight-theme-black)
|
|
57
|
+
as a base, which brought an earlier shadcn/ui-inspired design to Astro
|
|
58
|
+
Starlight.
|
|
51
59
|
|
|
52
60
|
## Docs Schema
|
|
53
61
|
|
|
54
|
-
To use
|
|
62
|
+
To use Grove's splash-page frontmatter fields with type checking,
|
|
63
|
+
extend the Starlight docs schema:
|
|
55
64
|
|
|
56
65
|
```ts
|
|
57
66
|
// src/content.config.ts
|
|
@@ -71,7 +80,7 @@ export const collections = {
|
|
|
71
80
|
## Plugin Options
|
|
72
81
|
|
|
73
82
|
```ts
|
|
74
|
-
type
|
|
83
|
+
type GroveStarlightUserConfig = {
|
|
75
84
|
navLinks?: Link[];
|
|
76
85
|
footerText?: string;
|
|
77
86
|
};
|
|
@@ -87,13 +96,13 @@ type Link = {
|
|
|
87
96
|
Example:
|
|
88
97
|
|
|
89
98
|
```js
|
|
90
|
-
|
|
99
|
+
grove({
|
|
91
100
|
navLinks: [
|
|
92
|
-
{ label: 'Docs', link: '/
|
|
93
|
-
{ label: 'GitHub', link: 'https://github.com/
|
|
101
|
+
{ label: 'Docs', link: '/introduction/' },
|
|
102
|
+
{ label: 'GitHub', link: 'https://github.com/tortuvshin/grove' },
|
|
94
103
|
],
|
|
95
104
|
footerText:
|
|
96
|
-
'Built with [
|
|
105
|
+
'Built with [Grove Starlight](https://github.com/tortuvshin/grove/tree/main/packages/starlight).',
|
|
97
106
|
});
|
|
98
107
|
```
|
|
99
108
|
|
|
@@ -137,8 +146,8 @@ import { ContainerSection, Dropdown, LinkButton } from '@grove-dev/starlight/com
|
|
|
137
146
|
|
|
138
147
|
<ContainerSection width="lg">
|
|
139
148
|
<h2>Build better docs</h2>
|
|
140
|
-
<p>Use
|
|
141
|
-
<LinkButton href="
|
|
149
|
+
<p>Use Grove sections on splash pages and custom MDX content.</p>
|
|
150
|
+
<LinkButton href="/introduction/">Get started</LinkButton>
|
|
142
151
|
</ContainerSection>
|
|
143
152
|
|
|
144
153
|
<Dropdown.Root>
|