create-riebeckite 0.0.25 → 0.0.26

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/dist/src/index.js CHANGED
@@ -2591,7 +2591,7 @@ function referenceThemesContent(preset) {
2591
2591
  }
2592
2592
 
2593
2593
  // src/scaffold/version.ts
2594
- var RIEBECKITE_VERSION = "^0.0.25";
2594
+ var RIEBECKITE_VERSION = "^0.0.26";
2595
2595
 
2596
2596
  // src/scaffold/templates.ts
2597
2597
  function siteTemplateFiles(preset, variables, options = {}) {
@@ -2261,7 +2261,7 @@ function utilityTemplateFiles(utilities) {
2261
2261
  }
2262
2262
 
2263
2263
  // src/scaffold/version.ts
2264
- var RIEBECKITE_VERSION = "^0.0.25";
2264
+ var RIEBECKITE_VERSION = "^0.0.26";
2265
2265
 
2266
2266
  // src/scaffold/templates.ts
2267
2267
  function siteTemplateFiles(preset, variables, options = {}) {
@@ -1 +1 @@
1
- export declare const RIEBECKITE_VERSION = "^0.0.25";
1
+ export declare const RIEBECKITE_VERSION = "^0.0.26";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-riebeckite",
3
- "version": "0.0.25",
3
+ "version": "0.0.26",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "esbuild": "^0.28.2",
42
- "@riebeckite/test": "0.0.25"
42
+ "@riebeckite/test": "0.0.26"
43
43
  },
44
44
  "repository": {
45
45
  "type": "git",
@@ -1,21 +1,32 @@
1
+ import { createPublicContentView } from "@riebeckite/core";
2
+ import { RiebeckiteHead, ThemeRoot } from "@riebeckite/honox/ui";
3
+ import { SiteProvider } from "@riebeckite/ui";
1
4
  import { jsxRenderer } from "hono/jsx-renderer";
2
- import { Link, Script } from "honox/server";
5
+ import { content } from "virtual:riebeckite/content";
3
6
  import { config } from "virtual:riebeckite/config";
4
7
 
5
8
  // Riebeckite plugin client entries need the HonoX client bundle even without
6
9
  // an island component.
7
10
  export const __importing_islands = true;
8
11
 
9
- export default jsxRenderer(({ children }, c) => (
10
- <html lang={c.get("htmlLanguage") ?? config.site.locale}>
11
- <head>
12
- <meta charset="utf-8" />
13
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
14
- <title>{config.site.title}</title>
15
- <link rel="icon" href="/favicon.ico" />
16
- <Link href="/app/style.css" rel="stylesheet" />
17
- <Script src="/app/client.ts" async />
18
- </head>
19
- <body class="riebeckite-page rb-site">{children}</body>
20
- </html>
21
- ));
12
+ export default jsxRenderer(async ({ children }, c) => {
13
+ const manifest = await content.getManifest();
14
+
15
+ return (
16
+ <SiteProvider
17
+ config={config}
18
+ manifest={manifest}
19
+ view={createPublicContentView(manifest)}
20
+ path={c.req.path}
21
+ language={c.get("htmlLanguage")}
22
+ headTags={c.get("headTags")}
23
+ >
24
+ <ThemeRoot>
25
+ <head>
26
+ <RiebeckiteHead colorModeScript={false} />
27
+ </head>
28
+ <body class="riebeckite-page rb-site">{children}</body>
29
+ </ThemeRoot>
30
+ </SiteProvider>
31
+ );
32
+ });
@@ -1,23 +1,32 @@
1
1
  import { RiebeckiteHead, ThemeRoot } from "@riebeckite/honox/ui";
2
+ import { createPublicContentView } from "@riebeckite/core";
3
+ import { SiteProvider } from "@riebeckite/ui";
2
4
  import { jsxRenderer } from "hono/jsx-renderer";
5
+ import { content } from "virtual:riebeckite/content";
3
6
  import { config } from "virtual:riebeckite/config";
4
7
 
5
8
  // Riebeckite plugin client entries need the HonoX client bundle even without
6
9
  // an island component.
7
10
  export const __importing_islands = true;
8
11
 
9
- export default jsxRenderer(({ children }, c) => (
10
- <ThemeRoot
11
- theme={config.theme}
12
- lang={c.get("htmlLanguage") ?? config.site.locale}
13
- >
14
- <head>
15
- <RiebeckiteHead
16
- title={config.site.title}
17
- headTags={c.get("headTags") ?? []}
18
- colorModeScript={false}
19
- />
20
- </head>
21
- <body class="riebeckite-page rb-site">{children}</body>
22
- </ThemeRoot>
23
- ));
12
+ export default jsxRenderer(async ({ children }, c) => {
13
+ const manifest = await content.getManifest();
14
+
15
+ return (
16
+ <SiteProvider
17
+ config={config}
18
+ manifest={manifest}
19
+ view={createPublicContentView(manifest)}
20
+ path={c.req.path}
21
+ language={c.get("htmlLanguage")}
22
+ headTags={c.get("headTags")}
23
+ >
24
+ <ThemeRoot>
25
+ <head>
26
+ <RiebeckiteHead colorModeScript={false} />
27
+ </head>
28
+ <body class="riebeckite-page rb-site">{children}</body>
29
+ </ThemeRoot>
30
+ </SiteProvider>
31
+ );
32
+ });
@@ -1,18 +1,9 @@
1
1
  import { SiteNav } from "@riebeckite/plugin-navigation";
2
- import type { NavigationItem } from "@riebeckite/plugin-navigation";
3
2
  import { ColorModeToggle } from "@riebeckite/plugin-color-mode";
4
- import { config } from "virtual:riebeckite/config";
3
+ import { useSiteContext } from "@riebeckite/ui";
5
4
 
6
- export function SiteHeader({
7
- path,
8
- items,
9
- language,
10
- }: {
11
- path: string;
12
- items: readonly NavigationItem[];
13
- language?: string;
14
- }) {
15
- const navigation = items.filter((item) => item.href !== "/");
5
+ export function SiteHeader() {
6
+ const site = useSiteContext();
16
7
 
17
8
  return (
18
9
  <header class="site-header rb-site-header">
@@ -24,36 +15,22 @@ export function SiteHeader({
24
15
  width="28"
25
16
  height="28"
26
17
  />
27
- {config.site.title}
18
+ {site?.config.site.title}
28
19
  </a>
29
- {navigation.length > 0 ? (
30
- <>
31
- <SiteNav items={navigation} path={path} language={language} />
32
- <details class="rb-nav__mobile">
33
- <summary class="rb-nav__toggle">Menu</summary>
34
- <SiteNav items={navigation} path={path} language={language} />
35
- </details>
36
- </>
37
- ) : null}
20
+ <SiteNav placement="primary" omitHome />
21
+ <details class="rb-nav__mobile">
22
+ <summary class="rb-nav__toggle">Menu</summary>
23
+ <SiteNav placement="primary" omitHome />
24
+ </details>
38
25
  <ColorModeToggle />
39
26
  </header>
40
27
  );
41
28
  }
42
29
 
43
- export function SiteFooter({
44
- path,
45
- items,
46
- language,
47
- }: {
48
- path: string;
49
- items: readonly NavigationItem[];
50
- language?: string;
51
- }) {
52
- if (items.length === 0) return null;
53
-
30
+ export function SiteFooter() {
54
31
  return (
55
32
  <footer class="site-footer rb-site-footer">
56
- <SiteNav items={items} path={path} language={language} />
33
+ <SiteNav placement="secondary" />
57
34
  </footer>
58
35
  );
59
36
  }
@@ -1,6 +1,7 @@
1
1
  import { RiebeckiteHead, ThemeRoot } from "@riebeckite/honox/ui";
2
+ import { createPublicContentView } from "@riebeckite/core";
3
+ import { SiteProvider } from "@riebeckite/ui";
2
4
  import { jsxRenderer } from "hono/jsx-renderer";
3
- import { resolveSiteNavigation } from "@riebeckite/plugin-navigation";
4
5
  import { SearchBar } from "@riebeckite/plugin-search";
5
6
  import { SiteFooter, SiteHeader } from "../components/site-header";
6
7
  import { content } from "virtual:riebeckite/content";
@@ -11,41 +12,31 @@ import { config } from "virtual:riebeckite/config";
11
12
  export const __importing_islands = true;
12
13
 
13
14
  export default jsxRenderer(async ({ children }, c) => {
14
- const navigation =
15
- resolveSiteNavigation(
16
- config,
17
- await content.getManifest(),
18
- c.get("htmlLanguage"),
19
- ) ?? { primary: [], secondary: [] };
15
+ const manifest = await content.getManifest();
20
16
 
21
17
  return (
22
- <ThemeRoot
23
- theme={config.theme}
24
- lang={c.get("htmlLanguage") ?? config.site.locale}
18
+ <SiteProvider
19
+ config={config}
20
+ manifest={manifest}
21
+ view={createPublicContentView(manifest)}
22
+ path={c.req.path}
23
+ language={c.get("htmlLanguage")}
24
+ headTags={c.get("headTags")}
25
25
  >
26
- <head>
27
- <RiebeckiteHead
28
- title={config.site.title}
29
- headTags={c.get("headTags") ?? []}
30
- />
31
- </head>
32
- <body class="riebeckite-page rb-site">
33
- <a class="rb-skip-link" href="#main-content">Skip to main content</a>
34
- <SiteHeader
35
- path={c.req.path}
36
- items={navigation.primary}
37
- language={c.get("htmlLanguage")}
38
- />
39
- <SearchBar />
40
- <main id="main-content" tabindex="-1" class="riebeckite-main">
41
- {children}
42
- </main>
43
- <SiteFooter
44
- path={c.req.path}
45
- items={navigation.secondary}
46
- language={c.get("htmlLanguage")}
47
- />
48
- </body>
49
- </ThemeRoot>
26
+ <ThemeRoot>
27
+ <head>
28
+ <RiebeckiteHead />
29
+ </head>
30
+ <body class="riebeckite-page rb-site">
31
+ <a class="rb-skip-link" href="#main-content">Skip to main content</a>
32
+ <SiteHeader />
33
+ <SearchBar />
34
+ <main id="main-content" tabindex="-1" class="riebeckite-main">
35
+ {children}
36
+ </main>
37
+ <SiteFooter />
38
+ </body>
39
+ </ThemeRoot>
40
+ </SiteProvider>
50
41
  );
51
42
  });
@@ -1,18 +1,9 @@
1
1
  import { SiteNav } from "@riebeckite/plugin-navigation";
2
- import type { NavigationItem } from "@riebeckite/plugin-navigation";
3
2
  import { ColorModeToggle } from "@riebeckite/plugin-color-mode";
4
- import { config } from "virtual:riebeckite/config";
3
+ import { useSiteContext } from "@riebeckite/ui";
5
4
 
6
- export function SiteHeader({
7
- path,
8
- items,
9
- language,
10
- }: {
11
- path: string;
12
- items: readonly NavigationItem[];
13
- language?: string;
14
- }) {
15
- const navigation = items.filter((item) => item.href !== "/");
5
+ export function SiteHeader() {
6
+ const site = useSiteContext();
16
7
 
17
8
  return (
18
9
  <header class="site-header rb-site-header">
@@ -24,36 +15,22 @@ export function SiteHeader({
24
15
  width="28"
25
16
  height="28"
26
17
  />
27
- {config.site.title}
18
+ {site?.config.site.title}
28
19
  </a>
29
- {navigation.length > 0 ? (
30
- <>
31
- <SiteNav items={navigation} path={path} language={language} />
32
- <details class="rb-nav__mobile">
33
- <summary class="rb-nav__toggle">Menu</summary>
34
- <SiteNav items={navigation} path={path} language={language} />
35
- </details>
36
- </>
37
- ) : null}
20
+ <SiteNav placement="primary" omitHome />
21
+ <details class="rb-nav__mobile">
22
+ <summary class="rb-nav__toggle">Menu</summary>
23
+ <SiteNav placement="primary" omitHome />
24
+ </details>
38
25
  <ColorModeToggle />
39
26
  </header>
40
27
  );
41
28
  }
42
29
 
43
- export function SiteFooter({
44
- path,
45
- items,
46
- language,
47
- }: {
48
- path: string;
49
- items: readonly NavigationItem[];
50
- language?: string;
51
- }) {
52
- if (items.length === 0) return null;
53
-
30
+ export function SiteFooter() {
54
31
  return (
55
32
  <footer class="site-footer rb-site-footer">
56
- <SiteNav items={items} path={path} language={language} />
33
+ <SiteNav placement="secondary" />
57
34
  </footer>
58
35
  );
59
36
  }
@@ -1,6 +1,7 @@
1
1
  import { RiebeckiteHead, ThemeRoot } from "@riebeckite/honox/ui";
2
+ import { createPublicContentView } from "@riebeckite/core";
3
+ import { SiteProvider } from "@riebeckite/ui";
2
4
  import { jsxRenderer } from "hono/jsx-renderer";
3
- import { resolveSiteNavigation } from "@riebeckite/plugin-navigation";
4
5
  import { SearchBar } from "@riebeckite/plugin-search";
5
6
  import { SiteFooter, SiteHeader } from "../components/site-header";
6
7
  import { content } from "virtual:riebeckite/content";
@@ -11,41 +12,31 @@ import { config } from "virtual:riebeckite/config";
11
12
  export const __importing_islands = true;
12
13
 
13
14
  export default jsxRenderer(async ({ children }, c) => {
14
- const navigation =
15
- resolveSiteNavigation(
16
- config,
17
- await content.getManifest(),
18
- c.get("htmlLanguage"),
19
- ) ?? { primary: [], secondary: [] };
15
+ const manifest = await content.getManifest();
20
16
 
21
17
  return (
22
- <ThemeRoot
23
- theme={config.theme}
24
- lang={c.get("htmlLanguage") ?? config.site.locale}
18
+ <SiteProvider
19
+ config={config}
20
+ manifest={manifest}
21
+ view={createPublicContentView(manifest)}
22
+ path={c.req.path}
23
+ language={c.get("htmlLanguage")}
24
+ headTags={c.get("headTags")}
25
25
  >
26
- <head>
27
- <RiebeckiteHead
28
- title={config.site.title}
29
- headTags={c.get("headTags") ?? []}
30
- />
31
- </head>
32
- <body class="riebeckite-page rb-site">
33
- <a class="rb-skip-link" href="#main-content">Skip to main content</a>
34
- <SiteHeader
35
- path={c.req.path}
36
- items={navigation.primary}
37
- language={c.get("htmlLanguage")}
38
- />
39
- <SearchBar />
40
- <main id="main-content" tabindex="-1" class="riebeckite-main">
41
- {children}
42
- </main>
43
- <SiteFooter
44
- path={c.req.path}
45
- items={navigation.secondary}
46
- language={c.get("htmlLanguage")}
47
- />
48
- </body>
49
- </ThemeRoot>
26
+ <ThemeRoot>
27
+ <head>
28
+ <RiebeckiteHead />
29
+ </head>
30
+ <body class="riebeckite-page rb-site">
31
+ <a class="rb-skip-link" href="#main-content">Skip to main content</a>
32
+ <SiteHeader />
33
+ <SearchBar />
34
+ <main id="main-content" tabindex="-1" class="riebeckite-main">
35
+ {children}
36
+ </main>
37
+ <SiteFooter />
38
+ </body>
39
+ </ThemeRoot>
40
+ </SiteProvider>
50
41
  );
51
42
  });