@astrojs/starlight 0.21.1 → 0.21.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @astrojs/starlight
2
2
 
3
+ ## 0.21.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1628](https://github.com/withastro/starlight/pull/1628) [`24c0823c`](https://github.com/withastro/starlight/commit/24c0823c61b1e9850575766876f2e1035541cfd1) Thanks [@o-az](https://github.com/o-az)! - Adds 1 new icon: `nix`
8
+
9
+ - [#1614](https://github.com/withastro/starlight/pull/1614) [`78fc9042`](https://github.com/withastro/starlight/commit/78fc90426d58d6c36dcb8215e3181476d0702f50) Thanks [@kpodurgiel](https://github.com/kpodurgiel)! - Adds Polish UI translations
10
+
11
+ - [#1596](https://github.com/withastro/starlight/pull/1596) [`13ed30cd`](https://github.com/withastro/starlight/commit/13ed30cd335798177dfe24a27851d2c14d2fe80a) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Adds support for toggling the built-in search modal using the `Ctrl+k` keyboard shortcut.
12
+
13
+ - [#1608](https://github.com/withastro/starlight/pull/1608) [`4096e1b7`](https://github.com/withastro/starlight/commit/4096e1b77b3464338e5489d00cec4c29a1cd3c32) Thanks [@HiDeoo](https://github.com/HiDeoo)! - Removes nested CSS from the `<FileTree>` component to prevent a potential warning when using Tailwind CSS.
14
+
15
+ - [#1626](https://github.com/withastro/starlight/pull/1626) [`67459cb4`](https://github.com/withastro/starlight/commit/67459cb4021859f4a45d50a5f993d2c849f340a3) Thanks [@hippotastic](https://github.com/hippotastic)! - Fixes a bundling issue that caused imports from `@astrojs/starlight/components` to fail when using the config setting `expressiveCode: false`.
16
+
3
17
  ## 0.21.1
4
18
 
5
19
  ### Patch Changes
@@ -120,6 +120,7 @@ export const BuiltInIcons = {
120
120
  '<path d="M19.7 17.6c-.1-.2-.2-.4-.2-.6 0-.4-.2-.7-.5-1-.1-.1-.3-.2-.4-.2.6-1.8-.3-3.6-1.3-4.9-.8-1.2-2-2.1-1.9-3.7 0-1.9.2-5.4-3.3-5.1-3.6.2-2.6 3.9-2.7 5.2 0 1.1-.5 2.2-1.3 3.1-.2.2-.4.5-.5.7-1 1.2-1.5 2.8-1.5 4.3-.2.2-.4.4-.5.6-.1.1-.2.2-.2.3-.1.1-.3.2-.5.3-.4.1-.7.3-.9.7-.1.3-.2.7-.1 1.1.1.2.1.4 0 .7-.2.4-.2.9 0 1.4.3.4.8.5 1.5.6.5 0 1.1.2 1.6.4.5.3 1.1.5 1.7.5.3 0 .7-.1 1-.2.3-.2.5-.4.6-.7.4 0 1-.2 1.7-.2.6 0 1.2.2 2 .1 0 .1 0 .2.1.3.2.5.7.9 1.3 1h.2c.8-.1 1.6-.5 2.1-1.1.4-.4.9-.7 1.4-.9.6-.3 1-.5 1.1-1 .1-.7-.1-1.1-.5-1.7zM12.8 4.8c.6.1 1.1.6 1 1.2 0 .3-.1.6-.3.9h-.1c-.2-.1-.3-.1-.4-.2.1-.1.1-.3.2-.5 0-.4-.2-.7-.4-.7-.3 0-.5.3-.5.7v.1c-.1-.1-.3-.1-.4-.2V6c-.1-.5.3-1.1.9-1.2zm-.3 2c.1.1.3.2.4.2.1 0 .3.1.4.2.2.1.4.2.4.5s-.3.6-.9.8c-.2.1-.3.1-.4.2-.3.2-.6.3-1 .3-.3 0-.6-.2-.8-.4-.1-.1-.2-.2-.4-.3-.1-.1-.3-.3-.4-.6 0-.1.1-.2.2-.3.3-.2.4-.3.5-.4l.1-.1c.2-.3.6-.5 1-.5.3.1.6.2.9.4zM10.4 5c.4 0 .7.4.8 1.1v.2c-.1 0-.3.1-.4.2v-.2c0-.3-.2-.6-.4-.5-.2 0-.3.3-.3.6 0 .2.1.3.2.4 0 0-.1.1-.2.1-.2-.2-.4-.5-.4-.8 0-.6.3-1.1.7-1.1zm-1 16.1c-.7.3-1.6.2-2.2-.2-.6-.3-1.1-.4-1.8-.4-.5-.1-1-.1-1.1-.3-.1-.2-.1-.5.1-1 .1-.3.1-.6 0-.9-.1-.3-.1-.5 0-.8.1-.3.3-.4.6-.5.3-.1.5-.2.7-.4.1-.1.2-.2.3-.4.3-.4.5-.6.8-.6.6.1 1.1 1 1.5 1.9.2.3.4.7.7 1 .4.5.9 1.2.9 1.6 0 .5-.2.8-.5 1zm4.9-2.2c0 .1 0 .1-.1.2-1.2.9-2.8 1-4.1.3l-.6-.9c.9-.1.7-1.3-1.2-2.5-2-1.3-.6-3.7.1-4.8.1-.1.1 0-.3.8-.3.6-.9 2.1-.1 3.2 0-.8.2-1.6.5-2.4.7-1.3 1.2-2.8 1.5-4.3.1.1.1.1.2.1.1.1.2.2.3.2.2.3.6.4.9.4h.1c.4 0 .8-.1 1.1-.4.1-.1.2-.2.4-.2.3-.1.6-.3.9-.6.4 1.3.8 2.5 1.4 3.6.4.8.7 1.6.9 2.5.3 0 .7.1 1 .3.8.4 1.1.7 1 1.2H18c0-.3-.2-.6-.9-.9-.7-.3-1.3-.3-1.5.4-.1 0-.2.1-.3.1-.8.4-.8 1.5-.9 2.6.1.4 0 .7-.1 1.1zm4.6.6c-.6.2-1.1.6-1.5 1.1-.4.6-1.1 1-1.9.9-.4 0-.8-.3-.9-.7-.1-.6-.1-1.2.2-1.8.1-.4.2-.7.3-1.1.1-1.2.1-1.9.6-2.2 0 .5.3.8.7 1 .5 0 1-.1 1.4-.5h.2c.3 0 .5 0 .7.2.2.2.3.5.3.7 0 .3.2.6.3.9.5.5.5.8.5.9-.1.2-.5.4-.9.6zm-9-12c-.1 0-.1 0-.1.1 0 0 0 .1.1.1s.1.1.1.1c.3.4.8.6 1.4.7.5-.1 1-.2 1.5-.6l.6-.3c.1 0 .1-.1.1-.1 0-.1 0-.1-.1-.1-.2.1-.5.2-.7.3-.4.3-.9.5-1.4.5-.5 0-.9-.3-1.2-.6-.1 0-.2-.1-.3-.1z"/>',
121
121
  homebrew:
122
122
  '<path d="M7.94 0a.21.21 0 0 0-.2.16c-.32 1.1.17 2.15.83 2.93.15.18.31.35.48.5a2.04 2.04 0 0 0-.67.02c-1.18.24-2.2.99-2.74 2.53a3.9 3.9 0 0 0-.2 1.47 1.56 1.56 0 0 0-1.16 1.5 1.59 1.59 0 0 0 1.23 1.55l.03 12.04c0 .2.1.38.26.48a.21.21 0 0 0 .01 0c.54.32 2.05.82 5.21.82 3.24 0 4.7-.68 5.18-1.04a.57.57 0 0 0 .22-.45v-1.6a.14.14 0 0 1 .14-.14h1.32a1.83 1.83 0 0 0 1.83-1.82v-5.8a1.83 1.83 0 0 0-1.82-1.83h-1.33a.14.14 0 0 1-.14-.15v-.57a1.57 1.57 0 0 0 1.36-1.56c0-.81-.63-1.49-1.42-1.56a4.34 4.34 0 0 0-.74-2.58 3.1 3.1 0 0 0-2.28-1.32c-.5-.02-.84.12-1.13.25-.21.1-.42.18-.67.22 0-1.28.95-1.98.95-1.98a.21.21 0 0 0 .05-.3s-.09-.12-.21-.26c-.12-.13-.27-.3-.47-.38a.21.21 0 0 0-.08-.01.21.21 0 0 0-.14.05 4.3 4.3 0 0 0-.88 1.1 3.42 3.42 0 0 0-.13.28 3.5 3.5 0 0 0-.38-.85A4.44 4.44 0 0 0 8.02.02.21.21 0 0 0 7.94 0zm.15.52c.85.38 1.43.83 1.8 1.4.27.45.42.97.48 1.6a3.07 3.07 0 0 0-.01.45 6.9 6.9 0 0 1-.17-.05 5.49 5.49 0 0 1-1.3-1.1c-.54-.66-.93-1.46-.8-2.3m3.71 1.1c.07.05.14.1.21.18l.06.07a2.97 2.97 0 0 0-.95 2.45.21.21 0 0 0 .22.2c.47-.02.78-.17 1.06-.3.27-.13.5-.23.93-.21.87.02 1.64.71 1.94 1.13.3.45.65 1 .66 2.36a1.66 1.66 0 0 0-.41.14 1.94 1.94 0 0 0-1.77-1.16 1.94 1.94 0 0 0-1.87 1.45 1.78 1.78 0 0 0-1.36-.64c-.48 0-.9.2-1.23.52a1.87 1.87 0 0 0-1.85-1.63c-.65 0-1.22.34-1.55.84a3.1 3.1 0 0 1 .16-.73c.5-1.44 1.35-2.05 2.42-2.26.36-.07.66 0 .99.1.32.1.67.26 1.09.34a.21.21 0 0 0 .25-.25c-.11-.67.07-1.26.34-1.74a3.71 3.71 0 0 1 .66-.86m-4.36 5A1.44 1.44 0 0 1 8.8 8.53a.21.21 0 0 0 .17.28.21.21 0 0 0 .24-.15 1.37 1.37 0 0 1 2.62 0 .21.21 0 0 0 .41-.1 1.5 1.5 0 0 1 1.5-1.66c.69 0 1.26.44 1.45 1.05a.21.21 0 0 0 .26.15l.15-.04a.21.21 0 0 0 .05-.02 1.14 1.14 0 0 1 1.7 1 1.14 1.14 0 0 1-.98 1.12 2.21 2.21 0 0 0-.49.13 10.65 10.65 0 0 1-1.18.36.21.21 0 0 0-.16.2 1.28 1.28 0 0 1-.14.47 2.07 2.07 0 0 0-.24 1.11v.15a.44.44 0 0 1-.16.36.67.67 0 0 1-.43.14.59.59 0 0 1-.59-.59.8.8 0 0 0-.38-.68 1.28 1.28 0 0 1-.53-.64.21.21 0 0 0-.21-.14 19.47 19.47 0 0 1-5.37-.6 9 9 0 0 0-.84-.2 1.16 1.16 0 0 1-.94-1.13c0-.62.5-1.11 1.1-1.14a.21.21 0 0 0 .21-.17A1.44 1.44 0 0 1 7.44 6.6m8.55 4.1v.46c0 .32.26.57.57.57h1.33a1.4 1.4 0 0 1 1.4 1.4v5.8a1.4 1.4 0 0 1-1.4 1.4h-1.32a.57.57 0 0 0-.58.57v1.6c0 .05-.02.08-.05.11-.35.26-1.75.95-4.92.95-3.1 0-4.59-.52-4.99-.75a.14.14 0 0 1-.06-.12l-.03-11.95.43.1.39.1v10.37c0 .13.07.25.18.31.45.22 1.77.74 4.07.74 2.32 0 3.6-.63 4.02-.89a.36.36 0 0 0 .17-.3v-10.2l.79-.26m-8 .9a.5.5 0 0 1 .5.48v8.58a.5.5 0 0 1-.49.5.5.5 0 0 1-.5-.5V12.1a.5.5 0 0 1 .5-.49zm8.66 1.13a.66.66 0 0 0-.66.66v5.21a.66.66 0 0 0 .66.66h1.14a.66.66 0 0 0 .66-.66v-5.2a.66.66 0 0 0-.66-.67zm0 .43h1.14a.23.23 0 0 1 .23.23v5.21a.23.23 0 0 1-.23.23h-1.14a.23.23 0 0 1-.23-.23v-5.2a.23.23 0 0 1 .23-.24"/>',
123
+ nix: '<path d="M7.4 1.6H6l-.7 1.1L7 5.5H3.7L2.4 7.8h11.7l-1.3-2.3H9.6l-2.2-4zm6.1 0h-2.7l5.9 10.1L18 9.4l-1.6-2.8 2.3-3.8-.7-1.2h-1.3L15 4.3l-1.6-2.7zm7 4.2-6 10.1h2.8l1.6-2.8h4.4L24 12l-.7-1.2h-3.1l1.6-2.7-1.4-2.3zM9.4 8H6.6L5 10.8H.7L0 12l.7 1.2h3.1l-1.6 2.7 1.4 2.3zm-2.2 4.2L6 14.6l1.6 2.8-2.3 3.8.7 1.2h1.3L9 19.7l1.6 2.7h2.7zm2.6 3.9 1.3 2.3h3.2l2.2 3.9H18l.7-1.2-1.6-2.7h3.2l1.3-2.3z"/>',
123
124
  };
124
125
 
125
126
  export const Icons = {
@@ -96,13 +96,13 @@ const pagefindTranslations = {
96
96
  window.removeEventListener('click', onClick);
97
97
  });
98
98
 
99
- // Listen for `/` and `cmd + k` keyboard shortcuts.
99
+ // Listen for `/`, `ctrl + k`, and `cmd + k` keyboard shortcuts.
100
100
  window.addEventListener('keydown', (e) => {
101
101
  const isInput =
102
102
  document.activeElement instanceof HTMLElement &&
103
103
  (['input', 'select', 'textarea'].includes(document.activeElement.tagName.toLowerCase()) ||
104
104
  document.activeElement.isContentEditable);
105
- if (e.metaKey === true && e.key === 'k') {
105
+ if ((e.metaKey === true || e.ctrlKey === true) && e.key === 'k') {
106
106
  dialog.open ? closeModal() : openModal();
107
107
  e.preventDefault();
108
108
  } else if (e.key === '/' && !dialog.open && !isInput) {
@@ -163,7 +163,40 @@ export const starlightExpressiveCode = ({
163
163
  starlightConfig,
164
164
  useTranslations,
165
165
  }: StarlightEcIntegrationOptions): AstroIntegration[] => {
166
- if (starlightConfig.expressiveCode === false) return [];
166
+ // If Expressive Code is disabled, add a shim to prevent build errors and provide
167
+ // a helpful error message in case the user tries to use the `<Code>` component
168
+ if (starlightConfig.expressiveCode === false) {
169
+ const modules: Record<string, string> = {
170
+ 'virtual:astro-expressive-code/api': 'export default {}',
171
+ 'virtual:astro-expressive-code/config': 'export default {}',
172
+ 'virtual:astro-expressive-code/preprocess-config': `throw new Error("Starlight's
173
+ Code component requires Expressive Code, which is disabled in your Starlight config.
174
+ Please remove \`expressiveCode: false\` from your config or import Astro's built-in
175
+ Code component from 'astro:components' instead.")`.replace(/\s+/g, ' '),
176
+ };
177
+
178
+ return [
179
+ {
180
+ name: 'astro-expressive-code-shim',
181
+ hooks: {
182
+ 'astro:config:setup': ({ updateConfig }) => {
183
+ updateConfig({
184
+ vite: {
185
+ plugins: [
186
+ {
187
+ name: 'vite-plugin-astro-expressive-code-shim',
188
+ enforce: 'post',
189
+ resolveId: (id) => (id in modules ? `\0${id}` : undefined),
190
+ load: (id) => (id?.[0] === '\0' ? modules[id.slice(1)] : undefined),
191
+ },
192
+ ],
193
+ },
194
+ });
195
+ },
196
+ },
197
+ },
198
+ ];
199
+ }
167
200
 
168
201
  const configArgs =
169
202
  typeof starlightConfig.expressiveCode === 'object'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrojs/starlight",
3
- "version": "0.21.1",
3
+ "version": "0.21.2",
4
4
  "description": "Build beautiful, high-performance documentation websites with Astro",
5
5
  "keywords": [
6
6
  "docs",
package/schemas/i18n.ts CHANGED
@@ -78,7 +78,7 @@ function starlightI18nSchema() {
78
78
 
79
79
  'menuButton.accessibleLabel': z
80
80
  .string()
81
- .describe('Accessible label for he mobile menu button.'),
81
+ .describe('Accessible label for the mobile menu button.'),
82
82
 
83
83
  'sidebarNav.accessibleLabel': z
84
84
  .string()
@@ -25,6 +25,7 @@ import vi from './vi.json';
25
25
  import uk from './uk.json';
26
26
  import hi from './hi.json';
27
27
  import zhTW from './zh-TW.json';
28
+ import pl from './pl.json';
28
29
 
29
30
  const { parse } = builtinI18nSchema();
30
31
 
@@ -56,5 +57,6 @@ export default Object.fromEntries(
56
57
  uk,
57
58
  hi,
58
59
  'zh-TW': zhTW,
60
+ pl,
59
61
  }).map(([key, dict]) => [key, parse(dict)])
60
62
  );
@@ -0,0 +1,30 @@
1
+ {
2
+ "skipLink.label": "Przejdź do głównej zawartości",
3
+ "search.label": "Szukaj",
4
+ "search.shortcutLabel": "(Naciśnij /, aby wyszukać)",
5
+ "search.cancelLabel": "Anuluj",
6
+ "search.devWarning": "Wyszukiwanie jest dostępne tylko w buildach produkcyjnych. \nSpróbuj zbudować i uruchomić aplikację, aby przetestować lokalnie.",
7
+ "themeSelect.accessibleLabel": "Wybierz motyw",
8
+ "themeSelect.dark": "Ciemny",
9
+ "themeSelect.light": "Jasny",
10
+ "themeSelect.auto": "Auto",
11
+ "languageSelect.accessibleLabel": "Wybierz język",
12
+ "menuButton.accessibleLabel": "Menu",
13
+ "sidebarNav.accessibleLabel": "Główne",
14
+ "tableOfContents.onThisPage": "Na tej stronie",
15
+ "tableOfContents.overview": "Przegląd",
16
+ "i18n.untranslatedContent": "Ta treść nie jest jeszcze dostępna w Twoim języku.",
17
+ "page.editLink": "Edytuj stronę",
18
+ "page.lastUpdated": "Ostatnia aktualizacja:",
19
+ "page.previousLink": "Poprzednia strona",
20
+ "page.nextLink": "Następna strona",
21
+ "404.text": "Nie znaleziono. Sprawdź URL lub użyj wyszukiwarki.",
22
+ "aside.note": "Notatka",
23
+ "aside.tip": "Wskazówka",
24
+ "aside.caution": "Uwaga",
25
+ "aside.danger": "Ważne",
26
+ "fileTree.directory": "Folder",
27
+ "expressiveCode.copyButtonCopied": "Skopiowane!",
28
+ "expressiveCode.copyButtonTooltip": "Skopiuj do schowka",
29
+ "expressiveCode.terminalWindowFallbackTitle": "Okno terminala"
30
+ }
@@ -41,26 +41,26 @@ const html = processFileTree(fileTreeHtml, t('fileTree.directory'));
41
41
  font-weight: normal;
42
42
  color: var(--sl-color-white);
43
43
  max-width: 100%;
44
+ }
44
45
 
45
- &::marker,
46
- &::-webkit-details-marker {
47
- color: var(--sl-color-gray-3);
48
- }
46
+ starlight-file-tree :global(.directory > details > summary::marker),
47
+ starlight-file-tree :global(.directory > details > summary::-webkit-details-marker) {
48
+ color: var(--sl-color-gray-3);
49
+ }
49
50
 
50
- &:hover,
51
- &:hover :global(.tree-icon) {
52
- cursor: pointer;
53
- color: var(--sl-color-text-accent);
54
- fill: var(--sl-color-text-accent);
51
+ starlight-file-tree :global(.directory > details > summary:hover),
52
+ starlight-file-tree :global(.directory > details > summary:hover .tree-icon) {
53
+ cursor: pointer;
54
+ color: var(--sl-color-text-accent);
55
+ fill: var(--sl-color-text-accent);
56
+ }
55
57
 
56
- & ~ :global(ul) {
57
- border-color: var(--sl-color-gray-4);
58
- }
59
- }
58
+ starlight-file-tree :global(.directory > details > summary:hover ~ ul) {
59
+ border-color: var(--sl-color-gray-4);
60
+ }
60
61
 
61
- &:hover :global(.highlight .tree-icon) {
62
- fill: var(--sl-color-text-invert);
63
- }
62
+ starlight-file-tree :global(.directory > details > summary:hover .highlight .tree-icon) {
63
+ fill: var(--sl-color-text-invert);
64
64
  }
65
65
 
66
66
  starlight-file-tree :global(ul) {
@@ -92,16 +92,16 @@ const html = processFileTree(fileTreeHtml, t('fileTree.directory'));
92
92
  align-items: flex-start;
93
93
  flex-wrap: wrap;
94
94
  max-width: calc(100% - 1rem);
95
+ }
95
96
 
96
- @media (min-width: 30em) {
97
- & {
98
- flex-wrap: nowrap;
99
- }
97
+ @media (min-width: 30em) {
98
+ starlight-file-tree :global(.tree-entry) {
99
+ flex-wrap: nowrap;
100
100
  }
101
+ }
101
102
 
102
- & > :global(:first-child) {
103
- flex-shrink: 0;
104
- }
103
+ starlight-file-tree :global(.tree-entry > :first-child) {
104
+ flex-shrink: 0;
105
105
  }
106
106
 
107
107
  starlight-file-tree :global(.empty) {