@nu-appdev/northwestern-starlight-theme 1.3.2 → 1.5.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.
@@ -7,6 +7,11 @@
7
7
  */
8
8
  import type { Element, Nodes, Root } from "hast";
9
9
 
10
+ function isScrollWrapper(node: Element): boolean {
11
+ const classes = node.properties?.className;
12
+ return Array.isArray(classes) && classes.includes("nu-table-scroll");
13
+ }
14
+
10
15
  function walk(node: Nodes) {
11
16
  if (!("children" in node)) return;
12
17
  for (let i = 0; i < node.children.length; i++) {
@@ -24,6 +29,8 @@ function walk(node: Nodes) {
24
29
  children: [child as Element],
25
30
  };
26
31
  node.children[i] = wrapper;
32
+ } else if (child.type === "element" && isScrollWrapper(child as Element)) {
33
+ // Already wrapped — skip to avoid double-wrapping
27
34
  } else {
28
35
  walk(child as Nodes);
29
36
  }
@@ -178,7 +178,8 @@
178
178
 
179
179
  .starlight-aside {
180
180
  padding: 1rem 1.25rem;
181
- border: 1px solid var(--sl-color-asides-border) !important;
181
+ border: none !important;
182
+ border-inline-start: 3px solid var(--sl-color-asides-border) !important;
182
183
  }
183
184
 
184
185
  .starlight-aside__title {
@@ -195,50 +196,50 @@
195
196
 
196
197
  .starlight-aside--note {
197
198
  --sl-color-asides-text-accent: color-mix(in srgb, var(--nu-blue), black 30%);
198
- --sl-color-asides-border: rgb(80 145 205 / 30%);
199
- background-color: rgb(80 145 205 / 6%) !important;
199
+ --sl-color-asides-border: #5091cd;
200
+ background-color: rgb(80 145 205 / 8%) !important;
200
201
  }
201
202
 
202
203
  .starlight-aside--tip {
203
204
  --sl-color-asides-text-accent: color-mix(in srgb, var(--nu-dark-green), black 18%);
204
- --sl-color-asides-border: rgb(0 134 86 / 30%);
205
- background-color: rgb(0 134 86 / 6%) !important;
205
+ --sl-color-asides-border: #008656;
206
+ background-color: rgb(0 134 86 / 8%) !important;
206
207
  }
207
208
 
208
209
  .starlight-aside--caution {
209
210
  --sl-color-asides-text-accent: color-mix(in srgb, var(--nu-dark-gold), black 24%);
210
- --sl-color-asides-border: rgb(255 197 32 / 35%);
211
- background-color: rgb(255 197 32 / 8%) !important;
211
+ --sl-color-asides-border: #ffc520;
212
+ background-color: rgb(255 197 32 / 10%) !important;
212
213
  }
213
214
 
214
215
  .starlight-aside--danger {
215
216
  --sl-color-asides-text-accent: color-mix(in srgb, var(--nu-dark-orange), black 18%);
216
- --sl-color-asides-border: rgb(239 85 63 / 30%);
217
- background-color: rgb(239 85 63 / 6%) !important;
217
+ --sl-color-asides-border: #ef553f;
218
+ background-color: rgb(239 85 63 / 8%) !important;
218
219
  }
219
220
 
220
221
  :root:not([data-theme="light"]) .starlight-aside--note {
221
222
  --sl-color-asides-text-accent: #93c5fd;
222
- --sl-color-asides-border: rgb(80 145 205 / 25%);
223
- background-color: rgb(80 145 205 / 8%) !important;
223
+ --sl-color-asides-border: #93c5fd;
224
+ background-color: rgb(80 145 205 / 10%) !important;
224
225
  }
225
226
 
226
227
  :root:not([data-theme="light"]) .starlight-aside--tip {
227
228
  --sl-color-asides-text-accent: #6ee7b7;
228
- --sl-color-asides-border: rgb(0 134 86 / 25%);
229
- background-color: rgb(0 134 86 / 8%) !important;
229
+ --sl-color-asides-border: #6ee7b7;
230
+ background-color: rgb(0 134 86 / 10%) !important;
230
231
  }
231
232
 
232
233
  :root:not([data-theme="light"]) .starlight-aside--caution {
233
234
  --sl-color-asides-text-accent: #fde68a;
234
- --sl-color-asides-border: rgb(255 197 32 / 30%);
235
- background-color: rgb(255 197 32 / 10%) !important;
235
+ --sl-color-asides-border: #fde68a;
236
+ background-color: rgb(255 197 32 / 12%) !important;
236
237
  }
237
238
 
238
239
  :root:not([data-theme="light"]) .starlight-aside--danger {
239
240
  --sl-color-asides-text-accent: #fca5a5;
240
- --sl-color-asides-border: rgb(239 85 63 / 25%);
241
- background-color: rgb(239 85 63 / 8%) !important;
241
+ --sl-color-asides-border: #fca5a5;
242
+ background-color: rgb(239 85 63 / 10%) !important;
242
243
  }
243
244
 
244
245
  .sl-link-button {
@@ -156,11 +156,11 @@
156
156
  --sl-font-system-mono: ui-monospace, sfmono-regular, "SF Mono", menlo, consolas, "Liberation Mono", monospace;
157
157
  }
158
158
 
159
- h1,
160
- h2 {
159
+ h1 {
161
160
  font-family: var(--nu-font-display);
162
161
  }
163
162
 
163
+ h2,
164
164
  h3,
165
165
  h4,
166
166
  h5,
package/src/virtual.d.ts CHANGED
@@ -14,6 +14,12 @@ declare module "virtual:northwestern-theme/config" {
14
14
  showTitle: boolean;
15
15
  imageWidth: string;
16
16
  };
17
+ ogImage: {
18
+ enabled: boolean;
19
+ siteTitle: string;
20
+ logoPath: string;
21
+ resvgWasmPath: string;
22
+ };
17
23
  };
18
24
  export default config;
19
25
  }
@@ -1,18 +0,0 @@
1
- import { pluginLineNumbers } from "@expressive-code/plugin-line-numbers";
2
-
3
- /**
4
- * @param {import("@astrojs/starlight/expressive-code").StarlightExpressiveCodeOptions} [config]
5
- * @returns {import("@astrojs/starlight/expressive-code").StarlightExpressiveCodeOptions}
6
- */
7
- export function northwesternExpressiveCode(config = {}) {
8
- const { defaultProps, plugins, ...rest } = config;
9
-
10
- return {
11
- ...rest,
12
- plugins: [pluginLineNumbers(), ...(plugins ?? [])],
13
- defaultProps: {
14
- showLineNumbers: false,
15
- ...(defaultProps ?? {}),
16
- },
17
- };
18
- }