@se-studio/core-ui 1.39.0 → 1.41.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @se-studio/core-ui
2
2
 
3
+ ## 1.41.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 58a4876: `buildPageMetadata`: article Open Graph and a person title suffix switch (#407, #205).
8
+
9
+ - Articles now send `og:type=article` instead of `website`, with `article:published_time` from the article `date`, `article:modified_time` from `lastUpdated`, and `article:author` for each CMS author who has a page (their page URL, which the Open Graph spec requires; an author without a page is left out). Anything unknown or an invalid date is omitted, and an article with no CMS author declares none (the site default author is not used). Note `lastUpdated` is not set by the article converters today, so `modified_time` appears only for a site that supplies it. People stay `profile` and other pages `website`. Eagle's wrapper around `generateArticleMetadata` that merges `{ type: 'article', publishedTime }` can be deleted. This is a visible change to article social cards for every site.
10
+ - New `IBuildInformation.personTitleSuffix` (default `true`, so nothing changes unless a site opts in). Person titles get ` | ${customerName}` in the document title and, as today, in `og:title` and `twitter:title`. A site whose root layout has a `title.template` such as `%s | Site` gets `Name | Site | Site`; setting `personTitleSuffix: false` gives the bare title in all three, with the layout template adding the suffix to `<title>`. At the time of writing, pedestal, headwater, hsd and highlander have such a template; se2026, brightline, om1, pointme and eagle did not show one, so they probably rely on the default. Changing the default is a separate, breaking decision.
11
+
12
+ ## 1.40.0
13
+
14
+ ### Minor Changes
15
+
16
+ - eef8565: Breadcrumb labels and article type index links (#413, #414).
17
+
18
+ - `resolveBreadcrumbSegments` now uses the page `title` when there is no `breadcrumbLabel`, as its docs always said, before falling back to the slug-derived label (#414). The lookup already carried `title`; the resolver ignored it. An empty or whitespace `breadcrumbLabel` or `title` counts as unset. A site that relied on slug-derived labels will now see page titles, so set `breadcrumbTitle` on any page whose title is too long for a breadcrumb.
19
+ - New option `articleTypeRoutes` (`BreadcrumbArticleTypeRoute[]`, the `{ articlePath, indexPath }` shape of a site's `ARTICLE_TYPE_ROUTES`). A step whose path is a type's `articlePath` links to its `indexPath` and takes that page's label, instead of linking to a folder that is a 404 when the index lives elsewhere (`/letter/` vs `/letters/`). The bad URL also reached the BreadcrumbList JSON-LD, which is built from the same segments. Types whose folder is the index are unchanged, the last step is never redirected, and without the option nothing changes (#413). Sites can delete a workaround such as Eagle's `pointArticleTypeStepsAtIndex` once they pass it. `noLinkPaths` still wins, so a site that listed an article folder there only to hide the 404 link should remove that entry. The simple fallback inside `buildStructuredDataContext` (used when `resolvedBreadcrumbs` is not passed) still links every path prefix; pass the segments from `resolveBreadcrumbSegments` to get the fix in the JSON-LD.
20
+
3
21
  ## 1.39.0
4
22
 
5
23
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -108,7 +108,7 @@ export * from './showcase';
108
108
  export type { AgentDiscoveryLinkOptions } from './utils/agent-ready';
109
109
  export { apiPathNeedingTrailingSlash, appendAgentDiscoveryLinkHeaders, buildAgentDiscoveryLinkValues, htmlPathToMarkdownPath, prefersMarkdownAccept, resolveMarkdownNegotiationPath, } from './utils/agent-ready';
110
110
  export { assertValidSiteBaseUrl } from './utils/assertValidSiteBaseUrl';
111
- export type { BreadcrumbLookup, BreadcrumbLookupEntry, BreadcrumbSegment, ResolveBreadcrumbSegmentsOptions, } from './utils/breadcrumbUtils';
111
+ export type { BreadcrumbArticleTypeRoute, BreadcrumbLookup, BreadcrumbLookupEntry, BreadcrumbSegment, ResolveBreadcrumbSegmentsOptions, } from './utils/breadcrumbUtils';
112
112
  export { normalizeBreadcrumbPath, resolveBreadcrumbSegments, } from './utils/breadcrumbUtils';
113
113
  export type { IBuildInformation, LocaleConfig, SiteGeneratorAttribution, } from './utils/buildPageMetadata';
114
114
  export { buildPageMetadata, calculateTitleAndDescription, formatSiteGeneratorContent, getLocalizedPath, resolveMetadataAuthors, } from './utils/buildPageMetadata';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -25,10 +25,36 @@ export interface BreadcrumbSegment {
25
25
  * Normalizes a URL path for comparison (ensures trailing slash).
26
26
  */
27
27
  export declare function normalizeBreadcrumbPath(path: string): string;
28
+ /**
29
+ * An article type's two URLs: the folder its articles live under and its index page. They differ
30
+ * when the index is not the folder (articles at `/letter/{slug}/`, index at `/letters/`). Same
31
+ * shape as a site's `ARTICLE_TYPE_ROUTES` entries.
32
+ */
33
+ export interface BreadcrumbArticleTypeRoute {
34
+ /** Folder articles live under, e.g. `/letter/`. */
35
+ articlePath: string;
36
+ /** The article type's index page, e.g. `/letters/`. */
37
+ indexPath: string;
38
+ }
28
39
  /**
29
40
  * Options for resolveBreadcrumbSegments.
30
41
  */
31
42
  export interface ResolveBreadcrumbSegmentsOptions {
43
+ /**
44
+ * Article type routes. A breadcrumb step whose path is a type's `articlePath` links to its
45
+ * `indexPath` instead, and takes the label of the index page when the lookup has one (else a
46
+ * label from the index path's own slug). Without this, that step links to the bare folder, which
47
+ * is a 404 when the index lives elsewhere (and the bad URL also lands in the BreadcrumbList
48
+ * JSON-LD, which is built from these segments). Types whose folder is the index are unchanged.
49
+ *
50
+ * `noLinkPaths` still wins: a step whose folder or index path is listed there stays unlinked.
51
+ * A site that listed a folder only to hide the 404 link should remove that entry.
52
+ *
53
+ * Only this resolver knows the routes. `buildStructuredDataContext` called without
54
+ * `resolvedBreadcrumbs` falls back to its own simple builder, which links every path prefix, so
55
+ * pass the segments from here to get the fix in the JSON-LD.
56
+ */
57
+ articleTypeRoutes?: readonly BreadcrumbArticleTypeRoute[];
32
58
  /**
33
59
  * Set of normalized paths (with trailing slash) for which the breadcrumb segment
34
60
  * should not be a link. JSON-LD BreadcrumbList omits these intermediates entirely
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbUtils.d.ts","sourceRoot":"","sources":["../../src/utils/breadcrumbUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,OAAO,CAAC,EAAE,gCAAgC,GACzC,iBAAiB,EAAE,GAAG,IAAI,CAmC5B"}
1
+ {"version":3,"file":"breadcrumbUtils.d.ts","sourceRoot":"","sources":["../../src/utils/breadcrumbUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,OAAO,CAAC,EAAE,gCAAgC,GACzC,iBAAiB,EAAE,GAAG,IAAI,CAiD5B"}
@@ -13,6 +13,21 @@ export function normalizeBreadcrumbPath(path) {
13
13
  return '/';
14
14
  return trimmed.endsWith('/') ? trimmed : `${trimmed}/`;
15
15
  }
16
+ /** A route path as the resolver compares it: leading and trailing slash, so `letter` matches `/letter/`. */
17
+ function normalizeRoutePath(path) {
18
+ const trimmed = path.trim();
19
+ return normalizeBreadcrumbPath(trimmed.startsWith('/') ? trimmed : `/${trimmed}`);
20
+ }
21
+ function lastSegment(path) {
22
+ return (path
23
+ .split('/')
24
+ .filter((part) => part.length > 0)
25
+ .pop() ?? '');
26
+ }
27
+ /** `breadcrumbLabel` if set, otherwise `title`; an empty string counts as unset. */
28
+ function labelFor(entry) {
29
+ return entry?.breadcrumbLabel?.trim() || entry?.title?.trim() || undefined;
30
+ }
16
31
  /**
17
32
  * Resolves a URL path to breadcrumb segments using a CMS lookup map.
18
33
  * For each path segment, looks up the cumulative path in the map and uses
@@ -48,6 +63,15 @@ export function resolveBreadcrumbSegments(path, lookup, slugToTitle, options) {
48
63
  return null;
49
64
  }
50
65
  const noLinkPaths = options?.noLinkPaths;
66
+ // Folder path -> index path, only where they differ.
67
+ const indexForFolder = new Map();
68
+ for (const route of options?.articleTypeRoutes ?? []) {
69
+ const folder = normalizeRoutePath(route.articlePath);
70
+ const index = normalizeRoutePath(route.indexPath);
71
+ if (folder !== index) {
72
+ indexForFolder.set(folder, index);
73
+ }
74
+ }
51
75
  const result = [];
52
76
  let cumulativePath = '/';
53
77
  for (let i = 0; i < segments.length; i++) {
@@ -55,17 +79,21 @@ export function resolveBreadcrumbSegments(path, lookup, slugToTitle, options) {
55
79
  if (!segment)
56
80
  continue;
57
81
  cumulativePath += `${segment}/`;
58
- const entry = lookup.get(cumulativePath);
59
- const label = entry?.breadcrumbLabel ?? slugToTitle(segment);
60
82
  const isLast = i === segments.length - 1;
83
+ // A folder that is not its type's index links to the index (never for the last step: that
84
+ // is the current page).
85
+ const indexPath = isLast ? undefined : indexForFolder.get(cumulativePath);
86
+ const targetPath = indexPath ?? cumulativePath;
87
+ // The label describes the page the step links to: its lookup entry, else its own slug.
88
+ const label = labelFor(lookup.get(targetPath)) ?? slugToTitle(indexPath ? lastSegment(indexPath) : segment);
61
89
  if (isLast) {
62
90
  result.push({ label });
63
91
  }
64
- else if (noLinkPaths?.has(cumulativePath)) {
92
+ else if (noLinkPaths?.has(cumulativePath) || noLinkPaths?.has(targetPath)) {
65
93
  result.push({ label });
66
94
  }
67
95
  else {
68
- result.push({ label, href: cumulativePath });
96
+ result.push({ label, href: targetPath });
69
97
  }
70
98
  }
71
99
  return result.length > 0 ? result : null;
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbUtils.js","sourceRoot":"","sources":["../../src/utils/breadcrumbUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IACzB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;AACzD,CAAC;AAcD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,MAAwB,EACxB,WAAqC,EACrC,OAA0C;IAE1C,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;IACzC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,cAAc,GAAG,GAAG,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,cAAc,IAAI,GAAG,OAAO,GAAG,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,EAAE,eAAe,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"breadcrumbUtils.js","sourceRoot":"","sources":["../../src/utils/breadcrumbUtils.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export interface SiteGeneratorAttribution {
14
14
  */
15
15
  type PageMetadataModel = Pick<IBaseModel, 'title' | 'metaTitle' | 'description' | 'featuredImage' | 'indexed' | 'hidden'> & Partial<ArticleAuthorFields> & {
16
16
  type?: string;
17
+ /** Article publish date. Read for `og:type=article` (`article:published_time`). */
18
+ date?: string | Date | null;
19
+ /** Last CMS update. Read for `article:modified_time` on articles. */
20
+ lastUpdated?: string | Date | null;
17
21
  };
18
22
  /**
19
23
  * Optional locale configuration for multi-language sites.
@@ -53,6 +57,14 @@ export interface IBuildInformation {
53
57
  localeConfig?: LocaleConfig;
54
58
  /** Base path for OG image URLs (default: '/og'). Set if your app mounts the OG route elsewhere (e.g. '/marketing/og'). */
55
59
  ogImagePath?: string;
60
+ /**
61
+ * Append ` | ${customerName}` to person page titles (document, `og:title` and `twitter:title`).
62
+ * Default `true`, the behaviour sites have today. Set `false` when the root layout has a
63
+ * `title.template` such as `%s | Site`, which would otherwise render `Name | Site | Site`; the
64
+ * social titles are then the bare page title. A title that already contains the customer name
65
+ * is never suffixed.
66
+ */
67
+ personTitleSuffix?: boolean;
56
68
  /**
57
69
  * Site builder attribution for `<meta name="generator">`.
58
70
  * Pass a string for full control, `{ name, url }` parts (defaults to Something Else + se.studio),
@@ -121,7 +133,7 @@ export declare function resolveMetadataAuthors(model: Partial<ArticleAuthorField
121
133
  * }
122
134
  * ```
123
135
  */
124
- export declare function buildPageMetadata(model: PageMetadataModel, path: string, { baseUrl, isProduction, customerName, applicationName, localeConfig, ogImagePath, siteGenerator, }: IBuildInformation, _parent: ResolvingMetadata, markdownAlternate?: boolean, localeAlternates?: Record<string, string>): Metadata;
136
+ export declare function buildPageMetadata(model: PageMetadataModel, path: string, { baseUrl, isProduction, customerName, applicationName, localeConfig, ogImagePath, personTitleSuffix, siteGenerator, }: IBuildInformation, _parent: ResolvingMetadata, markdownAlternate?: boolean, localeAlternates?: Record<string, string>): Metadata;
125
137
  export declare function calculateTitleAndDescription({ articleType, customType, tag, person, article, }: {
126
138
  articleType?: IBaseArticleType | null;
127
139
  customType?: IBaseCustomType | null;
@@ -1 +1 @@
1
- {"version":3,"file":"buildPageMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildPageMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getPrimaryArticleAuthor, } from '@se-studio/core-data-types';
1
+ import { getArticleAuthors, getPrimaryArticleAuthor, } from '@se-studio/core-data-types';
2
2
  import { notFound } from 'next/navigation';
3
3
  const DEFAULT_SITE_GENERATOR = {
4
4
  name: 'Something Else',
@@ -35,6 +35,39 @@ export function formatSiteGeneratorContent(siteGenerator) {
35
35
  const url = siteGenerator?.url ?? DEFAULT_SITE_GENERATOR.url;
36
36
  return url ? `${name} (${url})` : name;
37
37
  }
38
+ /** An ISO 8601 string for a valid date value, otherwise `undefined`. */
39
+ function toIsoDate(value) {
40
+ if (!value) {
41
+ return undefined;
42
+ }
43
+ const date = value instanceof Date ? value : new Date(value);
44
+ return Number.isNaN(date.getTime()) ? undefined : date.toISOString();
45
+ }
46
+ /**
47
+ * Open Graph article fields: `article:published_time` from the article `date`,
48
+ * `article:modified_time` from `lastUpdated`, and `article:author` for every CMS author that has a
49
+ * page. Each is omitted when unknown.
50
+ *
51
+ * - `lastUpdated` is not set by the article converters today, so `modified_time` appears only for
52
+ * a site that supplies it. (The JSON-LD `dateModified` falls back to `date` in that case; this
53
+ * does not claim a modification time it does not have.)
54
+ * - The Open Graph spec makes `article:author` a profile URL, so an author without a page is
55
+ * omitted here rather than emitted as a bare name that crawlers reject. The JSON-LD and the HTML
56
+ * `author` meta still carry names. The site default author is never used: an article with no CMS
57
+ * author has none to declare.
58
+ */
59
+ function articleOpenGraph(model, baseUrl) {
60
+ const publishedTime = toIsoDate(model.date);
61
+ const modifiedTime = toIsoDate(model.lastUpdated);
62
+ const authors = getArticleAuthors(model).flatMap((author) =>
63
+ // `new URL` copes with an absolute href and a baseUrl with a trailing slash.
64
+ author.href ? [new URL(author.href, baseUrl).toString()] : []);
65
+ return {
66
+ ...(publishedTime && { publishedTime }),
67
+ ...(modifiedTime && { modifiedTime }),
68
+ ...(authors.length > 0 && { authors }),
69
+ };
70
+ }
38
71
  /**
39
72
  * Resolves HTML author metadata: primary CMS article author, else site default.
40
73
  * Only meaningful when the model includes article author fields (article `generateMetadata` routes).
@@ -93,16 +126,17 @@ export function resolveMetadataAuthors(model, { customerName, baseUrl }) {
93
126
  * }
94
127
  * ```
95
128
  */
96
- export function buildPageMetadata(model, path, { baseUrl, isProduction, customerName, applicationName, localeConfig, ogImagePath, siteGenerator, }, _parent, markdownAlternate, localeAlternates) {
129
+ export function buildPageMetadata(model, path, { baseUrl, isProduction, customerName, applicationName, localeConfig, ogImagePath, personTitleSuffix = true, siteGenerator, }, _parent, markdownAlternate, localeAlternates) {
97
130
  if (isProduction && model.hidden === true) {
98
131
  notFound();
99
132
  }
100
133
  const { title: displayTitle, metaTitle, description, featuredImage, indexed: indexedValue, type, } = model;
101
134
  const indexed = isProduction ? indexedValue : false;
102
135
  const isPerson = type === 'Person';
136
+ const isArticle = type === 'Article';
103
137
  const trimmedMetaTitle = metaTitle?.trim();
104
138
  const rawTitle = trimmedMetaTitle ? trimmedMetaTitle : displayTitle;
105
- const title = isPerson && customerName && rawTitle && !rawTitle.includes(customerName)
139
+ const title = personTitleSuffix && isPerson && customerName && rawTitle && !rawTitle.includes(customerName)
106
140
  ? `${rawTitle} | ${customerName}`
107
141
  : rawTitle;
108
142
  const featuredImageId = featuredImage?.id;
@@ -150,7 +184,8 @@ export function buildPageMetadata(model, path, { baseUrl, isProduction, customer
150
184
  images: opengraphImageUrl,
151
185
  },
152
186
  openGraph: {
153
- type: isPerson ? 'profile' : 'website',
187
+ type: isPerson ? 'profile' : isArticle ? 'article' : 'website',
188
+ ...(isArticle && articleOpenGraph(model, baseUrl)),
154
189
  url: path,
155
190
  title,
156
191
  description: description ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"buildPageMetadata.js","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildPageMetadata.js","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,uBAAuB,GAOxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAU3C,MAAM,sBAAsB,GAAuC;IACjE,IAAI,EAAE,gBAAgB;IACtB,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AA0EF;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,MAAc,EACd,YAAkC;IAElC,IAAI,CAAC,YAAY,IAAI,MAAM,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5D,OAAO,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAwD;IAExD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,sBAAsB,CAAC,IAAI,CAAC;IAChE,MAAM,GAAG,GAAG,aAAa,EAAE,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC;IAC7D,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,wEAAwE;AACxE,SAAS,SAAS,CAAC,KAAuC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,KAAwB,EACxB,OAAe;IAEf,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IAC1D,6EAA6E;IAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC9D,CAAC;IACF,OAAO;QACL,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;QACvC,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmC,EACnC,EAAE,YAAY,EAAE,OAAO,EAAuD;IAE9E,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,IAAI,aAAa,EAAE,KAAK,CAAC;IAC/D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E;SACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAwB,EACxB,IAAY,EACZ,EACE,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,iBAAiB,GAAG,IAAI,EACxB,aAAa,GACK,EACpB,OAA0B,EAC1B,iBAA2B,EAC3B,gBAAyC;IAEzC,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1C,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,MAAM,EACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EACT,WAAW,EACX,aAAa,EACb,OAAO,EAAE,YAAY,EACrB,IAAI,GACL,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC;IACrC,MAAM,gBAAgB,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC;IACpE,MAAM,KAAK,GACT,iBAAiB,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3F,CAAC,CAAC,GAAG,QAAQ,MAAM,YAAY,EAAE;QACjC,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,eAAe,GAAG,aAAa,EAAE,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,WAAW,IAAI,KAAK,CAAC;IACpC,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,eAAe,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,MAAM,SAAS,GACb,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE;QACzB,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,SAAS,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAa;QACvB,YAAY,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC;QAC9B,eAAe,EAAE,eAAe,IAAI,YAAY;QAChD,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QACjE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,WAAW,EAAE;YACX,KAAK,EAAE,eAAe,IAAI,YAAY;SACvC;QACD,UAAU,EAAE;YACV,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,iBAAiB,IAAI;gBACvB,KAAK,EAAE;oBACL,eAAe,EACb,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;iBAC9E;aACF,CAAC;SACH;QACD,MAAM,EAAE;YACN,KAAK,EAAE,OAAO,KAAK,KAAK;YACxB,MAAM,EAAE,OAAO,KAAK,KAAK;SAC1B;QACD,KAAK;QACL,WAAW;QACX,OAAO,EAAE;YACP,IAAI,EAAE,qBAAqB;YAC3B,KAAK;YACL,WAAW,EAAE,WAAW,IAAI,SAAS;YACrC,MAAM,EAAE,iBAAiB;SAC1B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9D,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,GAAG,EAAE,IAAI;YACT,KAAK;YACL,WAAW,EAAE,WAAW,IAAI,SAAS;YACrC,MAAM,EAAE,iBAAiB;SAC1B;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY;SAC7C;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,WAA6B;IAC3D,OAAQ,WAAiC,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,UAA2B;IACxD,OAAQ,UAAgC,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,GAAa;IAClC,OAAQ,GAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAa,EAAE,QAAgB;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,GAAG,IAAI,QAAQ,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,gFAAgF;AAChF,SAAS,wBAAwB,CAAC,GAAa,EAAE,MAAc;IAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAC3C,WAAW,EACX,UAAU,EACV,GAAG,EACH,MAAM,EACN,OAAO,GAOR;IACC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;SAC9C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;SAC/C,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO;YACL,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,MAAM,QAAQ,EAAE;YACnC,SAAS,EAAE,wBAAwB,CAAC,GAAG,EAAE,QAAQ,CAAC;YAClD,WAAW,EAAE,qBAAqB,CAChC,GAAG,EACH,qBAAqB,QAAQ,CAAC,WAAW,EAAE,yBAAyB,aAAa,CAAC,GAAG,CAAC,GAAG,CAC1F;SACF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO;YACL,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,kBAAkB;YACrC,SAAS,EAAE,wBAAwB,CAAC,GAAG,EAAE,eAAe,CAAC;YACzD,WAAW,EAAE,qBAAqB,CAChC,GAAG,EACH,qBAAqB,QAAQ,CAAC,WAAW,EAAE,yBAAyB,aAAa,CAAC,GAAG,CAAC,GAAG,CAC1F;SACF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAC9D,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC;SACnD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC"}
package/docs/llms.md CHANGED
@@ -236,6 +236,9 @@ export async function generateMetadata(): Promise<Metadata> {
236
236
 
237
237
  - **Article authors:** only article `generateMetadata` passes `author` / `authors` on the model; other routes omit those fields and get the site default.
238
238
  - **Generator override:** `siteGenerator` on `IBuildInformation` — full string, `{ name, url }` parts, or `null` to omit the tag.
239
+ - **Author sources differ on purpose:** the HTML `<meta name="author">` falls back to the site default author (above), but `article:author` never does, and an author with no page is left out of it because the Open Graph spec wants a profile URL. JSON-LD carries author names.
240
+ - **Open Graph by page type:** articles send `og:type=article` with `article:published_time` (from `date`), `article:modified_time` (from `lastUpdated`) and `article:author` (the page URL of each CMS author who has one; omitted otherwise). People send `profile`; everything else `website`.
241
+ - **Person title suffix:** `personTitleSuffix` on `IBuildInformation` (default `true`) appends ` | ${customerName}` to person titles in the document title, `og:title` and `twitter:title`. Set it `false` when the root layout has a `title.template` (`%s | Site`), which would otherwise give `Name | Site | Site`; the social titles are then the bare page title.
239
242
  - **Helpers:** `resolveMetadataAuthors`, `formatSiteGeneratorContent`, `SiteGeneratorAttribution`.
240
243
 
241
244
  JSON-LD (`buildStructuredDataContext`) remains the primary signal for multi-author articles and person entities.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/core-ui",
3
- "version": "1.39.0",
3
+ "version": "1.41.0",
4
4
  "description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
5
5
  "repository": {
6
6
  "type": "git",