@kamod-ch/preactpress 2.0.0 → 2.2.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.
Files changed (42) hide show
  1. package/README.md +27 -8
  2. package/dist/node/config-helpers.d.ts +1 -0
  3. package/dist/node/config-helpers.d.ts.map +1 -1
  4. package/dist/node/config-helpers.js.map +1 -1
  5. package/dist/node/config.d.ts.map +1 -1
  6. package/dist/node/config.js +12 -12
  7. package/dist/node/config.js.map +1 -1
  8. package/dist/node/favicon.d.ts +9 -3
  9. package/dist/node/favicon.d.ts.map +1 -1
  10. package/dist/node/favicon.js +115 -9
  11. package/dist/node/favicon.js.map +1 -1
  12. package/dist/node/html.d.ts.map +1 -1
  13. package/dist/node/html.js +18 -11
  14. package/dist/node/html.js.map +1 -1
  15. package/dist/node/index.d.ts +1 -1
  16. package/dist/node/index.d.ts.map +1 -1
  17. package/dist/node/plugin.d.ts.map +1 -1
  18. package/dist/node/plugin.js +3 -2
  19. package/dist/node/plugin.js.map +1 -1
  20. package/dist/node/siteConfig.d.ts +57 -0
  21. package/dist/node/siteConfig.d.ts.map +1 -1
  22. package/dist/shared/pageReady.d.ts +19 -0
  23. package/dist/shared/pageReady.d.ts.map +1 -0
  24. package/dist/shared/pageReady.js +230 -0
  25. package/dist/shared/pageReady.js.map +1 -0
  26. package/package.json +3 -1
  27. package/src/shared/pageReady.ts +255 -0
  28. package/templates/docs/.preactpress/config.ts +1 -0
  29. package/templates/docs/components/MarketingHero.tsx +17 -3
  30. package/templates/docs/components/References.tsx +8 -3
  31. package/templates/docs/components/TemplateGallery.tsx +66 -9
  32. package/templates/docs/components/marketing.css +92 -2
  33. package/templates/docs/guide/advanced.md +1 -0
  34. package/templates/docs/guide/commands.md +2 -0
  35. package/templates/docs/guide/configuration.md +23 -0
  36. package/templates/docs/guide/getting-started.md +2 -0
  37. package/templates/docs/guide/templates.md +57 -0
  38. package/templates/docs/public/templates/.gitkeep +1 -0
  39. package/templates/docs/public/templates/default.webp +0 -0
  40. package/templates/docs/public/templates/docs.webp +0 -0
  41. package/templates/docs/public/templates/hono.webp +0 -0
  42. package/templates/docs/public/templates/magazine.webp +0 -0
package/README.md CHANGED
@@ -101,14 +101,14 @@ Pair with **[Kamod UI](https://ui.kamod.ch/)** for Preact + Tailwind components
101
101
 
102
102
  ## Starter templates
103
103
 
104
- | Template | Use case | Scaffold |
105
- | ---------- | ----------------------------------------------------- | ---------------------------------------------------------------- |
106
- | `default` | Minimal docs site with home hero and guide pages | `pnpm dlx @kamod-ch/preactpress init` |
107
- | `docs` | Full documentation starter (canonical reference) | `pnpm dlx @kamod-ch/preactpress init my-docs --template docs` |
108
- | `magazine` | Custom theme with article teasers and tag pages | `pnpm dlx @kamod-ch/preactpress init my-mag --template magazine` |
109
- | `hono` | Polished product/docs layout with custom Preact theme | `pnpm dlx @kamod-ch/preactpress init my-site --template hono` |
104
+ | Template | Use case | Scaffold |
105
+ | ---------- | ---------------------------------------------------- | ---------------------------------------------------------------- |
106
+ | `default` | Minimal / quick start smallest docs site | `pnpm dlx @kamod-ch/preactpress init my-site` |
107
+ | `docs` | Full documentation starter (canonical reference) | `pnpm dlx @kamod-ch/preactpress init my-docs --template docs` |
108
+ | `magazine` | Custom editorial theme with article teasers and tags | `pnpm dlx @kamod-ch/preactpress init my-mag --template magazine` |
109
+ | `hono` | Product landing + docs with a custom Preact theme | `pnpm dlx @kamod-ch/preactpress init my-site --template hono` |
110
110
 
111
- Browse the [live demo](https://kamod-ch.github.io/preactpress/) for the `docs` template, or run `pnpm run dev:docs` from the package root while contributing.
111
+ Browse the [live demo](https://kamod-ch.github.io/preactpress/) for the `docs` template, compare starters in the [template gallery](https://kamod-ch.github.io/preactpress/guide/templates/), or run `pnpm run dev:docs` from the package root while contributing.
112
112
 
113
113
  <p align="center">
114
114
  <img src="https://raw.githubusercontent.com/kamod-ch/preactpress/main/.github/assets/docs-mobile.png" alt="PreactPress docs theme on mobile" width="320" />
@@ -182,6 +182,22 @@ export default {
182
182
 
183
183
  Every Markdown or MDX file below `srcDir` becomes a route unless it matches `srcExclude`.
184
184
 
185
+ ## Favicons
186
+
187
+ By default PreactPress serves built-in `favicon.svg`, `favicon-32.png`, and `favicon.png` files. To override them without config, place files with the same names in `src/public/`. For custom names, use either the convenience `favicon` option:
188
+
189
+ ```ts
190
+ export default {
191
+ favicon: {
192
+ svg: "/brand/favicon.svg",
193
+ png32: "/brand/favicon-32.png",
194
+ apple: "/brand/apple-touch-icon.png",
195
+ },
196
+ };
197
+ ```
198
+
199
+ or provide explicit `head` link tags for full control. Explicit favicon tags in `head` disable the built-in favicon tags.
200
+
185
201
  ## Documentation
186
202
 
187
203
  The canonical, runnable documentation lives in [`templates/docs`](./templates/docs). It covers authoring, routing, i18n, the default theme, all configuration options, CLI validation, deployment, hooks, data loaders, dynamic routes, and custom themes.
@@ -200,4 +216,7 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md) for package development and [ROADMAP.md
200
216
 
201
217
  ## License
202
218
 
203
- MIT.
219
+ Built by Klaus Zahiragic | Kamod GmbH
220
+
221
+ [Website](https://www.kamod.ch) ·
222
+ [LinkedIn](https://www.linkedin.com/in/klauszahiragic/)
@@ -1,4 +1,5 @@
1
1
  import type { UserConfig } from "./siteConfig.js";
2
+ export type { FaviconConfig, HeadTag, PageReadyConfig, UserConfig } from "./siteConfig.js";
2
3
  export type UserConfigExport = UserConfig | (() => UserConfig | Promise<UserConfig>);
3
4
  export declare function defineConfig(config: UserConfig): UserConfig;
4
5
  export declare function defineConfig(config: () => UserConfig | Promise<UserConfig>): () => UserConfig | Promise<UserConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/node/config-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAErF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;AAC7D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAK1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/node/config-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE3F,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAErF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;AAC7D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAK1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../../src/node/config-helpers.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,YAAY,CAAC,MAAwB;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../../src/node/config-helpers.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,YAAY,CAAC,MAAwB;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/node/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,MAAM,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAwB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiCtE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BzF;AAED,wBAAsB,aAAa,CACjC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,SAAS,CAAC,SAAS,CAAW,EACvC,IAAI,GAAE,MAAsB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAiErB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAUD,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAU5E;AAMD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAOjE;AAED,uDAAuD;AACvD,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE9E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/node/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,MAAM,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG9D,OAAO,EAAwB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiCtE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BzF;AAED,wBAAsB,aAAa,CACjC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,SAAS,CAAC,SAAS,CAAW,EACvC,IAAI,GAAE,MAAsB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAsErB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAY5E;AAMD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAOjE;AAED,uDAAuD;AACvD,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE9E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs";
3
3
  import { createLogger, loadConfigFromFile, normalizePath } from "vite";
4
+ import { resolvePageReadyConfig } from "../shared/pageReady.js";
4
5
  import { resolveConfigDir, resolveConfigPath } from "./paths.js";
5
6
  import { DEFAULT_THEME_LAYOUT, PACKAGE_ROOT } from "./packageRoot.js";
6
- import { defaultFaviconHead, hasFaviconHead } from "./favicon.js";
7
+ import { resolveFaviconHead } from "./favicon.js";
7
8
  import { resolveLocales } from "../shared/locale.js";
8
9
  import { ensurePreactpressLinked } from "./init.js";
9
10
  function fileExists(p) {
@@ -84,6 +85,7 @@ export async function resolveConfig(rootArg, command = "serve", mode = "developm
84
85
  };
85
86
  const themePath = user.theme ?? DEFAULT_THEME_LAYOUT;
86
87
  const theme = resolveThemeLayout(root, configDir, themePath);
88
+ const userHead = user.head ?? [];
87
89
  const baseConfig = {
88
90
  root,
89
91
  srcDir,
@@ -101,14 +103,17 @@ export async function resolveConfig(rootArg, command = "serve", mode = "developm
101
103
  themeConfig: user.themeConfig ?? {},
102
104
  i18n: resolveLocales(user.locales, site, user.themeConfig ?? {}),
103
105
  markdown,
106
+ favicon: user.favicon,
107
+ userHead,
104
108
  head: [
105
- ...(hasFaviconHead(user.head ?? []) ? [] : defaultFaviconHead(site.base)),
106
- ...(user.head ?? []),
109
+ ...resolveFaviconHead({ base: site.base, favicon: user.favicon, userHead }),
110
+ ...userHead,
107
111
  ],
108
112
  transformHead: user.transformHead,
109
113
  transformPageData: user.transformPageData,
110
114
  transformHtml: user.transformHtml,
111
115
  buildEnd: user.buildEnd,
116
+ pageReady: resolvePageReadyConfig(user.pageReady),
112
117
  build: {
113
118
  sitemap: user.build?.sitemap ?? true,
114
119
  robots: user.build?.robots ?? true,
@@ -126,13 +131,6 @@ export function normalizeBase(base) {
126
131
  base = base.replace(/\/+$/, "");
127
132
  return base;
128
133
  }
129
- const DEFAULT_FAVICON_FILES = new Set(["favicon.svg", "favicon.png", "favicon-32.png"]);
130
- function isDefaultFaviconHeadTag(tag) {
131
- if (tag[0] !== "link" || typeof tag[1].href !== "string")
132
- return false;
133
- const name = path.posix.basename(tag[1].href);
134
- return DEFAULT_FAVICON_FILES.has(name);
135
- }
136
134
  /** Apply a CLI or runtime base override across site, locales, and default favicon head tags. */
137
135
  export function applySiteBaseOverride(config, base) {
138
136
  const normalized = normalizeBase(base);
@@ -142,8 +140,10 @@ export function applySiteBaseOverride(config, base) {
142
140
  locale.site.base = normalized;
143
141
  }
144
142
  }
145
- const userHead = config.head.filter((tag) => !isDefaultFaviconHeadTag(tag));
146
- config.head = [...(hasFaviconHead(userHead) ? [] : defaultFaviconHead(normalized)), ...userHead];
143
+ config.head = [
144
+ ...resolveFaviconHead({ base: normalized, favicon: config.favicon, userHead: config.userHead }),
145
+ ...config.userHead,
146
+ ];
147
147
  }
148
148
  function normalizeSiteUrl(url) {
149
149
  return url.replace(/\/+$/, "");
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/node/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/node/config.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import type { Connect } from "vite";
2
- import type { HeadTag } from "./siteConfig.js";
2
+ import type { FaviconConfig, HeadTag } from "./siteConfig.js";
3
3
  export declare function hasFaviconHead(head: HeadTag[]): boolean;
4
4
  export declare function defaultFaviconHead(base: string): HeadTag[];
5
- export declare function faviconHtmlTags(base: string): string;
5
+ export declare function faviconHeadFromConfig(config: string | FaviconConfig, base: string): HeadTag[];
6
+ export declare function resolveFaviconHead(opts: {
7
+ base: string;
8
+ favicon?: string | FaviconConfig | false;
9
+ userHead?: HeadTag[];
10
+ }): HeadTag[];
11
+ export declare function faviconHtmlTags(tagsOrBase: HeadTag[] | string): string;
6
12
  export declare function copyFavicons(outDir: string): Promise<void>;
7
13
  export declare function faviconRequestPaths(base: string): Set<string>;
8
- export declare function createFaviconMiddleware(base: string): Connect.NextHandleFunction;
14
+ export declare function createFaviconMiddleware(base: string, publicDir?: string): Connect.NextHandleFunction;
9
15
  //# sourceMappingURL=favicon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/node/favicon.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAW/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CASvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAU1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASpD;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAE7D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CA0BhF"}
1
+ {"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/node/favicon.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAiC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CASvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAU1D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAsD7F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,GAAG,OAAO,EAAE,CAKZ;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,CAmBtE;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAE7D;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CA0C5B"}
@@ -4,8 +4,30 @@ import { PACKAGE_ROOT } from "./packageRoot.js";
4
4
  const FAVICON_DIR = path.join(PACKAGE_ROOT, "assets");
5
5
  const FAVICON_FILES = ["favicon.svg", "favicon.png", "favicon-32.png"];
6
6
  function faviconPublicUrl(base, file) {
7
+ return resolveFaviconHref(base, file);
8
+ }
9
+ function isExternalHref(href) {
10
+ return /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(href);
11
+ }
12
+ function resolveFaviconHref(base, href) {
13
+ if (isExternalHref(href))
14
+ return href;
7
15
  const b = base === "/" ? "" : base.replace(/\/$/, "");
8
- return `${b}/${file}`;
16
+ return `${b}/${href.replace(/^\/+/, "")}`;
17
+ }
18
+ function iconType(href) {
19
+ const clean = href.split(/[?#]/)[0]?.toLowerCase() ?? "";
20
+ if (clean.endsWith(".svg"))
21
+ return "image/svg+xml";
22
+ if (clean.endsWith(".png"))
23
+ return "image/png";
24
+ if (clean.endsWith(".ico"))
25
+ return "image/x-icon";
26
+ return undefined;
27
+ }
28
+ function singleFaviconHead(base, href) {
29
+ const resolved = resolveFaviconHref(base, href);
30
+ return [["link", { rel: "icon", href: resolved, type: iconType(resolved) }]];
9
31
  }
10
32
  export function hasFaviconHead(head) {
11
33
  return head.some((tag) => tag[0] === "link" &&
@@ -25,13 +47,83 @@ export function defaultFaviconHead(base) {
25
47
  ["link", { rel: "apple-touch-icon", href: png }],
26
48
  ];
27
49
  }
28
- export function faviconHtmlTags(base) {
29
- return defaultFaviconHead(base)
50
+ export function faviconHeadFromConfig(config, base) {
51
+ if (typeof config === "string")
52
+ return singleFaviconHead(base, config);
53
+ const tags = [];
54
+ if (config.svg) {
55
+ tags.push([
56
+ "link",
57
+ { rel: "icon", href: resolveFaviconHref(base, config.svg), type: "image/svg+xml" },
58
+ ]);
59
+ }
60
+ if (config.ico) {
61
+ tags.push([
62
+ "link",
63
+ {
64
+ rel: "icon",
65
+ href: resolveFaviconHref(base, config.ico),
66
+ type: "image/x-icon",
67
+ sizes: "any",
68
+ },
69
+ ]);
70
+ }
71
+ if (config.png32) {
72
+ tags.push([
73
+ "link",
74
+ {
75
+ rel: "icon",
76
+ href: resolveFaviconHref(base, config.png32),
77
+ type: "image/png",
78
+ sizes: "32x32",
79
+ },
80
+ ]);
81
+ }
82
+ if (config.png) {
83
+ tags.push([
84
+ "link",
85
+ { rel: "icon", href: resolveFaviconHref(base, config.png), type: "image/png", sizes: "any" },
86
+ ]);
87
+ }
88
+ if (config.apple) {
89
+ tags.push(["link", { rel: "apple-touch-icon", href: resolveFaviconHref(base, config.apple) }]);
90
+ }
91
+ if (config.manifest) {
92
+ tags.push(["link", { rel: "manifest", href: resolveFaviconHref(base, config.manifest) }]);
93
+ }
94
+ if (config.maskIcon) {
95
+ tags.push([
96
+ "link",
97
+ {
98
+ rel: "mask-icon",
99
+ href: resolveFaviconHref(base, config.maskIcon),
100
+ color: config.maskIconColor,
101
+ },
102
+ ]);
103
+ }
104
+ return tags.length > 0 ? tags : defaultFaviconHead(base);
105
+ }
106
+ export function resolveFaviconHead(opts) {
107
+ if (hasFaviconHead(opts.userHead ?? []))
108
+ return [];
109
+ if (opts.favicon === false)
110
+ return [];
111
+ if (opts.favicon)
112
+ return faviconHeadFromConfig(opts.favicon, opts.base);
113
+ return defaultFaviconHead(opts.base);
114
+ }
115
+ export function faviconHtmlTags(tagsOrBase) {
116
+ const tags = typeof tagsOrBase === "string" ? defaultFaviconHead(tagsOrBase) : tagsOrBase;
117
+ return tags
118
+ .filter((tag) => tag[0] === "link" &&
119
+ typeof tag[1].rel === "string" &&
120
+ ["icon", "shortcut icon", "apple-touch-icon", "mask-icon", "manifest"].includes(tag[1].rel))
30
121
  .map(([name, attrs]) => {
31
122
  const rendered = Object.entries(attrs)
32
- .map(([key, value]) => `${key}="${String(value).replaceAll('"', "&quot;")}"`)
123
+ .filter(([, value]) => value != null && value !== false)
124
+ .map(([key, value]) => value === true ? key : `${key}="${String(value).replaceAll('"', "&quot;")}"`)
33
125
  .join(" ");
34
- return `<${name} ${rendered}>`;
126
+ return `<${name}${rendered ? ` ${rendered}` : ""}>`;
35
127
  })
36
128
  .join("\n ");
37
129
  }
@@ -44,7 +136,7 @@ export async function copyFavicons(outDir) {
44
136
  export function faviconRequestPaths(base) {
45
137
  return new Set(FAVICON_FILES.map((file) => faviconPublicUrl(base, file)));
46
138
  }
47
- export function createFaviconMiddleware(base) {
139
+ export function createFaviconMiddleware(base, publicDir) {
48
140
  const paths = faviconRequestPaths(base);
49
141
  const byPath = new Map(FAVICON_FILES.map((file) => [faviconPublicUrl(base, file), path.join(FAVICON_DIR, file)]));
50
142
  const types = {
@@ -58,16 +150,30 @@ export function createFaviconMiddleware(base) {
58
150
  const filePath = byPath.get(url);
59
151
  if (!filePath)
60
152
  return next();
61
- const ext = path.extname(filePath);
153
+ const publicFilePath = publicDir ? path.join(publicDir, path.basename(filePath)) : undefined;
154
+ const responsePath = publicFilePath ?? filePath;
155
+ const ext = path.extname(responsePath);
62
156
  void fs
63
- .readFile(filePath)
157
+ .readFile(publicFilePath ?? filePath)
64
158
  .then((body) => {
65
159
  res.statusCode = 200;
66
160
  res.setHeader("Content-Type", types[ext] ?? "application/octet-stream");
67
161
  res.setHeader("Cache-Control", "public, max-age=86400");
68
162
  res.end(body);
69
163
  })
70
- .catch(() => next());
164
+ .catch(() => {
165
+ if (!publicFilePath)
166
+ return next();
167
+ void fs
168
+ .readFile(filePath)
169
+ .then((body) => {
170
+ res.statusCode = 200;
171
+ res.setHeader("Content-Type", types[path.extname(filePath)] ?? "application/octet-stream");
172
+ res.setHeader("Cache-Control", "public, max-age=86400");
173
+ res.end(body);
174
+ })
175
+ .catch(() => next());
176
+ });
71
177
  };
72
178
  }
73
179
  //# sourceMappingURL=favicon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"favicon.js","sourceRoot":"","sources":["../../src/node/favicon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"favicon.js","sourceRoot":"","sources":["../../src/node/favicon.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/node/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAUlD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,OAAO,EAAE,CAsCZ;AA2BD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BlB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDlB;AA8CD,+EAA+E;AAC/E,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,GACA,OAAO,CAAC,MAAM,CAAC,CAyDjB"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/node/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAOnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAelD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,OAAO,EAAE,CAsCZ;AA2BD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAUD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BlB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0DlB;AA4CD,+EAA+E;AAC/E,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,GACA,OAAO,CAAC,MAAM,CAAC,CA0DjB"}
package/dist/node/html.js CHANGED
@@ -4,6 +4,7 @@ import { PREACTPRESS_THEME_SCRIPT } from "../shared/theme.js";
4
4
  import { canonicalUrl, publicUrl } from "../shared/url.js";
5
5
  import { escapeAttr, escapeHtml } from "../shared/escapeHtml.js";
6
6
  import { localizedRouteForLocale, localeFromRoute, siteForRoute } from "../shared/locale.js";
7
+ import { injectPageReadyShell, renderStylesheetLinks as renderSharedStylesheetLinks, } from "../shared/pageReady.js";
7
8
  export { publicUrl } from "../shared/url.js";
8
9
  export { escapeAttr, escapeHtml } from "../shared/escapeHtml.js";
9
10
  export function absoluteUrl(site, route) {
@@ -11,6 +12,11 @@ export function absoluteUrl(site, route) {
11
12
  }
12
13
  export function renderHeadTag(tag) {
13
14
  const [name, attrs, content] = tag;
15
+ if (name === "link" && attrs.rel === "stylesheet" && typeof attrs.href === "string") {
16
+ return renderSharedStylesheetLinks([attrs.href], {
17
+ crossorigin: attrs.crossorigin === true || attrs.crossorigin === "anonymous",
18
+ });
19
+ }
14
20
  const renderedAttrs = Object.entries(attrs)
15
21
  .filter(([, value]) => value != null && value !== false)
16
22
  .map(([key, value]) => (value === true ? key : `${key}="${escapeAttr(String(value))}"`))
@@ -76,7 +82,12 @@ function buildAlternateHeadTags(site, route) {
76
82
  return tags;
77
83
  }
78
84
  export function renderStylesheetLinks(hrefs) {
79
- return hrefs.map((href) => `<link rel="stylesheet" href="${escapeHtml(href)}">`).join("\n ");
85
+ return renderSharedStylesheetLinks(hrefs);
86
+ }
87
+ function removeFaviconLinks(head) {
88
+ head
89
+ .querySelectorAll('link[rel="icon"], link[rel="shortcut icon"], link[rel="apple-touch-icon"], link[rel="mask-icon"], link[rel="manifest"]')
90
+ .forEach((el) => el.remove());
80
91
  }
81
92
  export async function collectHeadTags(opts) {
82
93
  const { site, route, title, description, tags = [], image, pageType, pageData } = opts;
@@ -129,7 +140,7 @@ export async function pageHtml(opts) {
129
140
  const mpaAttr = site.mpa
130
141
  ? ` data-preactpress-mpa="${pageData?.kind === "mdx" ? "mdx" : "markdown"}"`
131
142
  : "";
132
- return `<!DOCTYPE html>
143
+ return injectPageReadyShell(`<!DOCTYPE html>
133
144
  <html lang="${escapeAttr(activeSite.lang)}"${mpaAttr}>
134
145
  <head>
135
146
  <meta charset="UTF-8">
@@ -144,15 +155,10 @@ export async function pageHtml(opts) {
144
155
  <div id="app">${body}</div>${clientScript}
145
156
  </body>
146
157
  </html>
147
- `;
158
+ `, site.pageReady);
148
159
  }
149
160
  function renderProductionStylesheetLinks(mainCss, base) {
150
- return mainCss
151
- .map((c) => {
152
- const href = publicUrl(base, `${c}`);
153
- return `<link rel="stylesheet" crossorigin href="${escapeHtml(href)}">`;
154
- })
155
- .join("\n ");
161
+ return renderSharedStylesheetLinks(mainCss.map((c) => publicUrl(base, `${c}`)), { crossorigin: true });
156
162
  }
157
163
  function resolveHeadImage(site, image) {
158
164
  if (!image)
@@ -197,7 +203,7 @@ export async function injectDevPageDocument(html, opts) {
197
203
  pageData,
198
204
  });
199
205
  const devCssTags = devStylesheets?.length && !devStylesheets.every((href) => html.includes(href))
200
- ? renderStylesheetLinks(devStylesheets.filter((href) => !html.includes(href)))
206
+ ? renderSharedStylesheetLinks(devStylesheets.filter((href) => !html.includes(href)))
201
207
  : "";
202
208
  const activeSite = siteForRoute(site.site, route, site.i18n);
203
209
  const lang = escapeAttr(activeSite.lang);
@@ -214,6 +220,7 @@ export async function injectDevPageDocument(html, opts) {
214
220
  else
215
221
  head.insertAdjacentHTML("beforeend", ` <title>${escapeHtml(title)}</title>\n`);
216
222
  head.querySelectorAll('meta[name="description"]').forEach((el) => el.remove());
223
+ removeFaviconLinks(head);
217
224
  if (headInject)
218
225
  head.insertAdjacentHTML("beforeend", ` ${headInject}\n`);
219
226
  }
@@ -228,6 +235,6 @@ export async function injectDevPageDocument(html, opts) {
228
235
  if (app) {
229
236
  app.set_content(body);
230
237
  }
231
- return doc.toString();
238
+ return injectPageReadyShell(doc.toString(), site.pageReady);
232
239
  }
233
240
  //# sourceMappingURL=html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/node/html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/node/html.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ export { preview } from "./serve.js";
7
7
  export { init } from "./init.js";
8
8
  export { check } from "./check.js";
9
9
  export { preactPressPlugin, mdFileToRoute, listMarkdownRoutes } from "./plugin.js";
10
- export type { BuildConfig, BuildEndContext, HeadTag, SiteConfig, TransformHtmlContext, TransformPageDataContext, UserConfig, ThemeConfig, SiteData, } from "./siteConfig.js";
10
+ export type { BuildConfig, BuildEndContext, FaviconConfig, HeadTag, PageReadyConfig, ResolvedPageReadyConfig, SiteConfig, TransformHtmlContext, TransformPageDataContext, UserConfig, ThemeConfig, SiteData, } from "./siteConfig.js";
11
11
  export type { ArticleFrontmatter, ArticlePost, Author, ContentCategory, PageFrontmatter, PageLayout, PageMetaInput, } from "../shared/index.js";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EACV,WAAW,EACX,eAAe,EACf,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/node/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMlD,OAAO,EAEL,aAAa,EAId,MAAM,cAAc,CAAC;AAatB,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ5E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAuR1D"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/node/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMlD,OAAO,EAEL,aAAa,EAId,MAAM,cAAc,CAAC;AAatB,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ5E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CA0R1D"}
@@ -214,8 +214,9 @@ export function preactPressPlugin(site) {
214
214
  transformIndexHtml(html) {
215
215
  if (!html.includes("</head>"))
216
216
  return html;
217
+ const faviconTags = faviconHtmlTags(site.head);
217
218
  const tags = [
218
- faviconHtmlTags(site.site.base),
219
+ ...(faviconTags ? [faviconTags] : []),
219
220
  `<script src="${site.site.base === "/" ? "" : site.site.base}/${PREACTPRESS_THEME_SCRIPT}"></script>`,
220
221
  ];
221
222
  const inject = html.includes('rel="icon"') || html.includes("rel='icon'") ? tags.slice(1) : tags;
@@ -226,7 +227,7 @@ export function preactPressPlugin(site) {
226
227
  },
227
228
  configureServer(server) {
228
229
  server.middlewares.use(createDevSsrMiddleware(site, server));
229
- server.middlewares.use(createFaviconMiddleware(site.site.base));
230
+ server.middlewares.use(createFaviconMiddleware(site.site.base, path.join(site.srcDir, "public")));
230
231
  server.middlewares.use((req, res, next) => {
231
232
  const pathname = req.url?.split("?")[0] ?? "";
232
233
  const base = site.site.base === "/" ? "" : site.site.base;