@softure-ai/blog 0.1.8 → 0.1.9

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 (75) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +21 -0
  3. package/dist/index.d.ts +21 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/messages/en.d.ts +2 -0
  7. package/dist/messages/en.d.ts.map +1 -1
  8. package/dist/messages/en.js +2 -0
  9. package/dist/messages/en.js.map +1 -1
  10. package/dist/messages/index.d.ts +2 -0
  11. package/dist/messages/index.d.ts.map +1 -1
  12. package/dist/messages/pl.d.ts +2 -0
  13. package/dist/messages/pl.d.ts.map +1 -1
  14. package/dist/messages/pl.js +2 -0
  15. package/dist/messages/pl.js.map +1 -1
  16. package/dist/next/context.d.ts.map +1 -1
  17. package/dist/next/context.js +1 -0
  18. package/dist/next/context.js.map +1 -1
  19. package/dist/next/discovery.js +2 -2
  20. package/dist/next/discovery.js.map +1 -1
  21. package/dist/next/json-ld.d.ts.map +1 -1
  22. package/dist/next/json-ld.js +11 -3
  23. package/dist/next/json-ld.js.map +1 -1
  24. package/dist/next/metadata.d.ts +1 -1
  25. package/dist/next/metadata.d.ts.map +1 -1
  26. package/dist/next/metadata.js +8 -6
  27. package/dist/next/metadata.js.map +1 -1
  28. package/dist/next/pages.js +1 -1
  29. package/dist/next/pages.js.map +1 -1
  30. package/dist/options.d.ts +30 -0
  31. package/dist/options.d.ts.map +1 -1
  32. package/dist/options.js +35 -0
  33. package/dist/options.js.map +1 -1
  34. package/dist/pages/index.d.ts +2 -2
  35. package/dist/pages/index.d.ts.map +1 -1
  36. package/dist/pages/index.js +2 -2
  37. package/dist/pages/index.js.map +1 -1
  38. package/dist/pages/json-ld.d.ts +11 -0
  39. package/dist/pages/json-ld.d.ts.map +1 -1
  40. package/dist/pages/json-ld.js +14 -7
  41. package/dist/pages/json-ld.js.map +1 -1
  42. package/dist/pages/listing.d.ts +9 -3
  43. package/dist/pages/listing.d.ts.map +1 -1
  44. package/dist/pages/listing.js +7 -5
  45. package/dist/pages/listing.js.map +1 -1
  46. package/dist/server/index.d.ts +1 -1
  47. package/dist/server/index.d.ts.map +1 -1
  48. package/dist/server/index.js +1 -1
  49. package/dist/server/index.js.map +1 -1
  50. package/dist/server/options.d.ts +9 -1
  51. package/dist/server/options.d.ts.map +1 -1
  52. package/dist/server/options.js +6 -0
  53. package/dist/server/options.js.map +1 -1
  54. package/dist/ui/blog-listing.js +2 -2
  55. package/dist/ui/blog-listing.js.map +1 -1
  56. package/dist/ui/page-context.d.ts +2 -0
  57. package/dist/ui/page-context.d.ts.map +1 -1
  58. package/module.json +1 -1
  59. package/package.json +1 -1
  60. package/src/index.ts +1 -1
  61. package/src/messages/en.ts +2 -0
  62. package/src/messages/pl.ts +2 -0
  63. package/src/next/context.ts +1 -0
  64. package/src/next/discovery.ts +2 -2
  65. package/src/next/json-ld.ts +11 -3
  66. package/src/next/metadata.ts +9 -7
  67. package/src/next/pages.tsx +1 -1
  68. package/src/options.ts +42 -0
  69. package/src/pages/index.ts +3 -1
  70. package/src/pages/json-ld.ts +29 -8
  71. package/src/pages/listing.ts +18 -5
  72. package/src/server/index.ts +1 -1
  73. package/src/server/options.ts +14 -1
  74. package/src/ui/blog-listing.tsx +2 -2
  75. package/src/ui/page-context.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ Newest first. Each version lists what changed for an app that uses `@softure-ai/
4
4
  production, the version gets a line `verified in: <app>@<commit>` ([docs/05](../../docs/05-adoption-playbook.md),
5
5
  "Definition of done"). Versions before the first one below are described in their GitHub Releases (`blog@x.y.z`).
6
6
 
7
+ ## 0.1.9
8
+
9
+ - `og:locale` of articles and terms is an Open Graph locale now: `en_US` / `pl_PL` by default, not the bare
10
+ `en` / `pl` (which Open Graph does not accept). `locales: { pl: { openGraph } }` sets another.
11
+ - `locales` (`blog({ ... })`): per locale, `bcp47` (JSON-LD `inLanguage` and the feed's `<language>`, default the
12
+ bare code as before) and `openGraph` (`og:locale`). `getBlogLocaleTags(config)` (`/server`) resolves them.
13
+ - `jsonLd: { ids: { article, term, glossary } }`: the JSON-LD `@id` fragments, default `article`, `term`,
14
+ `glossary` as before. `JsonLdContext` takes optional `ids` and `language`.
15
+ - `anchors: { cluster }`: the listing's cluster anchor prefix, default `cluster` as before; also the target of an
16
+ article's middle breadcrumb. `getClusterAnchor(cluster, prefix?)`, `getArticleCrumbs(…, { clusterAnchorPrefix })`
17
+ and the optional `BlogPageContext.clusterAnchorPrefix` carry it.
18
+ - Message `glossary.termTitleWithBrand` titles a glossary term's page (default `{title} | {brand}`, as before).
19
+
7
20
  ## 0.1.8
8
21
 
9
22
  - `externalLinkMarker` (`blog({ ... })`) and `renderArticle({ externalMarker })`: `"icon-and-text"`
package/README.md CHANGED
@@ -87,6 +87,15 @@ blog({
87
87
  // What follows an external link in a body: "icon-and-text" (a ↗ hidden from screen readers and a
88
88
  // visually hidden "opens in a new tab"), "text" (the hidden words only) or "none". Default: "icon-and-text".
89
89
  externalLinkMarker: "icon-and-text",
90
+ // The `@id` fragments of the JSON-LD nodes (no `#`): `<url>#article`, `<term url>#term`,
91
+ // `<glossary url>#glossary`. An app that already published other fragments keeps them here.
92
+ jsonLd: { ids: { article: "article", term: "term", glossary: "glossary" } },
93
+ // The listing's cluster sections are `<cluster>-<key>`; an article's middle breadcrumb points there.
94
+ // Default: { cluster: "cluster" }.
95
+ anchors: { cluster: "cluster" },
96
+ // The language tags per locale: `bcp47` for JSON-LD inLanguage and the feed's <language> (default:
97
+ // the bare code, "en" or "pl"), `openGraph` for og:locale (language_TERRITORY; default "en_US" / "pl_PL").
98
+ locales: { pl: { bcp47: "pl-PL", openGraph: "pl_PL" } },
90
99
  // The 410 page of a withdrawn text: extra links, or the app's own body (§4). Default: one link to the listing.
91
100
  gonePage: { links: [] },
92
101
  // Which images bodies may show: site paths and https images on these hosts (subdomains included),
@@ -337,6 +346,18 @@ The builders: `buildBlogIndexMetadata(config, { isEmpty })`, `buildArticleMetada
337
346
  `<script>`. `getCrumbLabels(config)` gives the breadcrumb names for `getArticleCrumbs`/`getTermCrumbs`
338
347
  (`/server`); `getPageContext`, `renderPageBody` and `getRelatedArticles` render the rest.
339
348
 
349
+ What the builders write, so an app moving published pages onto them can match its old output:
350
+
351
+ - the JSON-LD `@id` fragments, the cluster anchor and the language tags come from `jsonLd`, `anchors` and
352
+ `locales` (above);
353
+ - a page title is `pages.titleWithBrand` (`{title} | {brand}`), a glossary term's
354
+ `glossary.termTitleWithBrand`; override either message per locale;
355
+ - canonical, Open Graph and JSON-LD URLs are absolute on the site origin (`@softure-ai/seo`'s when listed);
356
+ - articles and terms carry `og:published_time` and `og:modified_time`, the days the page shows;
357
+ - `buildGlossaryJsonLd` gives `null` without terms (an empty `DefinedTermSet` says nothing).
358
+
359
+ Any field can still be replaced by spreading the result: `{ ...buildTermMetadata(config, term), title }`.
360
+
340
361
  The commands:
341
362
 
342
363
  ```bash
package/dist/index.d.ts CHANGED
@@ -68,6 +68,7 @@ export declare const blog: import("@softure-ai/core").ModuleFactory<{
68
68
  };
69
69
  glossary: {
70
70
  title: string;
71
+ termTitleWithBrand: string;
71
72
  description: string;
72
73
  empty: string;
73
74
  explainedIn: string;
@@ -140,6 +141,26 @@ export declare const blog: import("@softure-ai/core").ModuleFactory<{
140
141
  hosts: import("zod").ZodDefault<import("zod").ZodReadonly<import("zod").ZodArray<import("zod").ZodString>>>;
141
142
  dimensions: import("zod").ZodCustom<(src: string) => import("./render/images.js").ImageDimensions | null, (src: string) => import("./render/images.js").ImageDimensions | null>;
142
143
  }, import("zod/v4/core").$strict>>;
144
+ jsonLd: import("zod").ZodDefault<import("zod").ZodObject<{
145
+ ids: import("zod").ZodDefault<import("zod").ZodObject<{
146
+ article: import("zod").ZodDefault<import("zod").ZodString>;
147
+ term: import("zod").ZodDefault<import("zod").ZodString>;
148
+ glossary: import("zod").ZodDefault<import("zod").ZodString>;
149
+ }, import("zod/v4/core").$strict>>;
150
+ }, import("zod/v4/core").$strict>>;
151
+ anchors: import("zod").ZodDefault<import("zod").ZodObject<{
152
+ cluster: import("zod").ZodDefault<import("zod").ZodString>;
153
+ }, import("zod/v4/core").$strict>>;
154
+ locales: import("zod").ZodDefault<import("zod").ZodObject<{
155
+ en: import("zod").ZodOptional<import("zod").ZodObject<{
156
+ bcp47: import("zod").ZodOptional<import("zod").ZodString>;
157
+ openGraph: import("zod").ZodOptional<import("zod").ZodString>;
158
+ }, import("zod/v4/core").$strict>>;
159
+ pl: import("zod").ZodOptional<import("zod").ZodObject<{
160
+ bcp47: import("zod").ZodOptional<import("zod").ZodString>;
161
+ openGraph: import("zod").ZodOptional<import("zod").ZodString>;
162
+ }, import("zod/v4/core").$strict>>;
163
+ }, import("zod/v4/core").$strict>>;
143
164
  gonePage: import("zod").ZodDefault<import("zod").ZodObject<{
144
165
  links: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
145
166
  href: import("zod").ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;CAE1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoCf,CAAC;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,2FAA2F;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;CAE1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoCf,CAAC;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,2FAA2F;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ export const BLOG_RATE_LIMIT_BUCKETS = {
26
26
  export const blog = defineModule({
27
27
  manifest: {
28
28
  id: MODULE_ID,
29
- version: "0.1.8",
29
+ version: "0.1.9",
30
30
  // seo is optional: with it the sitemap lists the texts and a publish pings IndexNow. security is
31
31
  // optional too: only the cache refresh route needs it, for its rate limit.
32
32
  dependsOn: { seo: "^0.1.0?", security: "^0.1.0?" },
@@ -47,6 +47,8 @@ export declare const en: {
47
47
  };
48
48
  glossary: {
49
49
  title: string;
50
+ /** A glossary term's page title with the brand: `{title}` the term, `{brand}` the site. */
51
+ termTitleWithBrand: string;
50
52
  description: string;
51
53
  empty: string;
52
54
  explainedIn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/messages/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;;;;;;;;QAYX,uCAAuC;;;;;;;;;QASvC,2EAA2E;;;;;QAK3E,2FAA2F;;QAE3F,uDAAuD;;;;;;;;;;;QAWvD,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoCxE,kEAAkE;;;;;;CAMrE,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/messages/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;;;;;;;;QAYX,uCAAuC;;;;;;;;;QASvC,2EAA2E;;;;;QAK3E,2FAA2F;;QAE3F,uDAAuD;;;;;;;;;;;QAWvD,wEAAwE;;;;;;;;;;QAUxE,2FAA2F;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4B3F,kEAAkE;;;;;;CAMrE,CAAC"}
@@ -47,6 +47,8 @@ export const en = {
47
47
  },
48
48
  glossary: {
49
49
  title: "Glossary",
50
+ /** A glossary term's page title with the brand: `{title}` the term, `{brand}` the site. */
51
+ termTitleWithBrand: "{title} | {brand}",
50
52
  description: "Short definitions of the terms the texts use, each with the day it was checked and its sources.",
51
53
  empty: "The first definitions are on their way.",
52
54
  explainedIn: "Explained in these texts",
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/messages/en.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,eAAe;KACtB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,WAAW;KACvB;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,OAAO;QACzB,uCAAuC;QACvC,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,sBAAsB;QACrC,eAAe,EAAE,UAAU;KAC5B;IACD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,gGAAgG;QACjH,2EAA2E;QAC3E,cAAc,EAAE,mBAAmB;QACnC,KAAK,EAAE,mCAAmC;QAC1C,YAAY,EAAE,aAAa;QAC3B,SAAS,EAAE,YAAY;QACvB,2FAA2F;QAC3F,WAAW,EAAE,oBAAoB;QACjC,uDAAuD;QACvD,SAAS,EAAE,gBAAgB;QAC3B,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,eAAe;QAC5B,gBAAgB,EAAE,cAAc;QAChC,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,UAAU;QACnB,GAAG,EAAE,uBAAuB;QAC5B,OAAO,EAAE,SAAS;QAClB,wEAAwE;QACxE,SAAS,EAAE,wBAAwB;QACnC,UAAU,EAAE,wBAAwB;QACpC,eAAe,EAAE,YAAY;QAC7B,YAAY,EAAE,UAAU;QACxB,cAAc,EAAE,+CAA+C;QAC/D,QAAQ,EAAE,WAAW;KACtB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,iGAAiG;QAC9G,KAAK,EAAE,yCAAyC;QAChD,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,WAAW;KACtB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,iGAAiG;QAC9G,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,mFAAmF;QAC5F,UAAU,EAAE,2BAA2B;QACvC,SAAS,EAAE,kJAAkJ;QAC7J,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,oHAAoH;QACjI,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,sIAAsI;QAClJ,gBAAgB,EAAE,aAAa;QAC/B,eAAe,EAAE,4GAA4G;KAC9H;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,8DAA8D;QACpE,IAAI,EAAE,iCAAiC;KACxC;IACD,IAAI,EAAE;QACJ,kEAAkE;QAClE,WAAW,EAAE,mEAAmE;KACjF;IACD,EAAE,EAAE;QACF,GAAG,EAAE,0BAA0B;KAChC;CACF,CAAC"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/messages/en.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,eAAe;KACtB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,WAAW;KACvB;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,OAAO;QACzB,uCAAuC;QACvC,aAAa,EAAE,mBAAmB;QAClC,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,sBAAsB;QACrC,eAAe,EAAE,UAAU;KAC5B;IACD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,gGAAgG;QACjH,2EAA2E;QAC3E,cAAc,EAAE,mBAAmB;QACnC,KAAK,EAAE,mCAAmC;QAC1C,YAAY,EAAE,aAAa;QAC3B,SAAS,EAAE,YAAY;QACvB,2FAA2F;QAC3F,WAAW,EAAE,oBAAoB;QACjC,uDAAuD;QACvD,SAAS,EAAE,gBAAgB;QAC3B,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,eAAe;QAC5B,gBAAgB,EAAE,cAAc;QAChC,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,UAAU;QACnB,GAAG,EAAE,uBAAuB;QAC5B,OAAO,EAAE,SAAS;QAClB,wEAAwE;QACxE,SAAS,EAAE,wBAAwB;QACnC,UAAU,EAAE,wBAAwB;QACpC,eAAe,EAAE,YAAY;QAC7B,YAAY,EAAE,UAAU;QACxB,cAAc,EAAE,+CAA+C;QAC/D,QAAQ,EAAE,WAAW;KACtB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,2FAA2F;QAC3F,kBAAkB,EAAE,mBAAmB;QACvC,WAAW,EAAE,iGAAiG;QAC9G,KAAK,EAAE,yCAAyC;QAChD,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,WAAW;KACtB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,iGAAiG;QAC9G,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,mFAAmF;QAC5F,UAAU,EAAE,2BAA2B;QACvC,SAAS,EAAE,kJAAkJ;QAC7J,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,oHAAoH;QACjI,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,sIAAsI;QAClJ,gBAAgB,EAAE,aAAa;QAC/B,eAAe,EAAE,4GAA4G;KAC9H;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,8DAA8D;QACpE,IAAI,EAAE,iCAAiC;KACxC;IACD,IAAI,EAAE;QACJ,kEAAkE;QAClE,WAAW,EAAE,mEAAmE;KACjF;IACD,EAAE,EAAE;QACF,GAAG,EAAE,0BAA0B;KAChC;CACF,CAAC"}
@@ -46,6 +46,7 @@ export declare const blogMessages: {
46
46
  };
47
47
  glossary: {
48
48
  title: string;
49
+ termTitleWithBrand: string;
49
50
  description: string;
50
51
  empty: string;
51
52
  explainedIn: string;
@@ -122,6 +123,7 @@ export declare const blogMessages: {
122
123
  };
123
124
  glossary: {
124
125
  title: string;
126
+ termTitleWithBrand: string;
125
127
  description: string;
126
128
  empty: string;
127
129
  explainedIn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,MAAM,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;AAErC,6EAA6E;AAC7E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,MAAM,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;AAErC,6EAA6E;AAC7E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC"}
@@ -42,6 +42,8 @@ export declare const pl: {
42
42
  };
43
43
  glossary: {
44
44
  title: string;
45
+ /** A glossary term's page title with the brand: `{title}` the term, `{brand}` the site. */
46
+ termTitleWithBrand: string;
45
47
  description: string;
46
48
  empty: string;
47
49
  explainedIn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pl.d.ts","sourceRoot":"","sources":["../../src/messages/pl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsEX,kEAAkE;;;;;;CAMrE,CAAC"}
1
+ {"version":3,"file":"pl.d.ts","sourceRoot":"","sources":["../../src/messages/pl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4CX,2FAA2F;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4B3F,kEAAkE;;;;;;CAMrE,CAAC"}
@@ -42,6 +42,8 @@ export const pl = {
42
42
  },
43
43
  glossary: {
44
44
  title: "Słownik pojęć",
45
+ /** A glossary term's page title with the brand: `{title}` the term, `{brand}` the site. */
46
+ termTitleWithBrand: "{title} | {brand}",
45
47
  description: "Krótkie definicje pojęć, których używają teksty, każda z datą sprawdzenia i źródłami.",
46
48
  empty: "Pierwsze definicje są w drodze.",
47
49
  explainedIn: "Rozwijamy w tekstach",
@@ -1 +1 @@
1
- {"version":3,"file":"pl.js","sourceRoot":"","sources":["../../src/messages/pl.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,oBAAoB;KAC3B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,UAAU;KACtB;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,UAAU;QAC5B,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,gBAAgB;QAC5B,aAAa,EAAE,8BAA8B;QAC7C,eAAe,EAAE,aAAa;KAC/B;IACD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,sFAAsF;QACvG,cAAc,EAAE,mBAAmB;QACnC,KAAK,EAAE,8BAA8B;QACrC,YAAY,EAAE,kBAAkB;QAChC,SAAS,EAAE,iBAAiB;QAC5B,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,uBAAuB;QAClC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,eAAe;QACjC,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,WAAW;QACpB,GAAG,EAAE,sBAAsB;QAC3B,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,qBAAqB;QACjC,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,kDAAkD;QAClE,QAAQ,EAAE,gBAAgB;KAC3B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,uFAAuF;QACpG,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,mBAAmB;KAC9B;IACD,MAAM,EAAE;QACN,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,4FAA4F;QACzG,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,qEAAqE;QAC9E,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,uJAAuJ;QAClK,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,+HAA+H;QAC5I,WAAW,EAAE,8BAA8B;QAC3C,UAAU,EAAE,uJAAuJ;QACnK,gBAAgB,EAAE,UAAU;QAC5B,eAAe,EAAE,4GAA4G;KAC9H;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,uDAAuD;QAC7D,IAAI,EAAE,kCAAkC;KACzC;IACD,IAAI,EAAE;QACJ,kEAAkE;QAClE,WAAW,EAAE,mEAAmE;KACjF;IACD,EAAE,EAAE;QACF,GAAG,EAAE,iBAAiB;KACvB;CACF,CAAC"}
1
+ {"version":3,"file":"pl.js","sourceRoot":"","sources":["../../src/messages/pl.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,oBAAoB;KAC3B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,UAAU;KACtB;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,UAAU;QAC5B,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,gBAAgB;QAC5B,aAAa,EAAE,8BAA8B;QAC7C,eAAe,EAAE,aAAa;KAC/B;IACD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,sFAAsF;QACvG,cAAc,EAAE,mBAAmB;QACnC,KAAK,EAAE,8BAA8B;QACrC,YAAY,EAAE,kBAAkB;QAChC,SAAS,EAAE,iBAAiB;QAC5B,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,uBAAuB;QAClC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,eAAe;QACjC,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,WAAW;QACpB,GAAG,EAAE,sBAAsB;QAC3B,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,qBAAqB;QACjC,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,kDAAkD;QAClE,QAAQ,EAAE,gBAAgB;KAC3B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,2FAA2F;QAC3F,kBAAkB,EAAE,mBAAmB;QACvC,WAAW,EAAE,uFAAuF;QACpG,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,mBAAmB;KAC9B;IACD,MAAM,EAAE;QACN,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,4FAA4F;QACzG,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,qEAAqE;QAC9E,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,uJAAuJ;QAClK,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,+HAA+H;QAC5I,WAAW,EAAE,8BAA8B;QAC3C,UAAU,EAAE,uJAAuJ;QACnK,gBAAgB,EAAE,UAAU;QAC5B,eAAe,EAAE,4GAA4G;KAC9H;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,uDAAuD;QAC7D,IAAI,EAAE,kCAAkC;KACzC;IACD,IAAI,EAAE;QACJ,kEAAkE;QAClE,WAAW,EAAE,mEAAmE;KACjF;IACD,EAAE,EAAE;QACF,GAAG,EAAE,iBAAiB;KACvB;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/next/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wBAAsB,cAAc,CAAC,MAAM,GAAE,aAAkC,GAAG,OAAO,CAAC,WAAW,CAAC,CAOrG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAWrE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/next/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wBAAsB,cAAc,CAAC,MAAM,GAAE,aAAkC,GAAG,OAAO,CAAC,WAAW,CAAC,CAOrG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAYrE"}
@@ -22,6 +22,7 @@ export function getPageContext(config) {
22
22
  methodPath: options.methodPage ? routes.method : null,
23
23
  brand: options.brand?.name ?? null,
24
24
  disclaimer: options.disclaimer === undefined ? null : (options.disclaimer[config.locale] ?? options.disclaimer.en),
25
+ clusterAnchorPrefix: options.anchors.cluster,
25
26
  };
26
27
  }
27
28
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/next/context.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,uFAAuF;AACvF,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGtF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAwB,gBAAgB,EAAE;IAC7E,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,wEAAwE;QACxE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM;QACN,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACrD,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;KACnH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/next/context.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,uFAAuF;AACvF,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGtF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAwB,gBAAgB,EAAE;IAC7E,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,wEAAwE;QACxE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM;QACN,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACrD,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAClH,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;KAC7C,CAAC;AACJ,CAAC"}
@@ -7,7 +7,7 @@ import { errorLogLabel, formatMessage, getSiteUrls } from "@softure-ai/core";
7
7
  import { getSoftureConfig } from "@softure-ai/core/next";
8
8
  import { buildBlogRss } from "../discovery/rss.js";
9
9
  import { getClusterLabel } from "../pages/listing.js";
10
- import { getBlogOptions } from "../server/options.js";
10
+ import { getBlogLocaleTags, getBlogOptions } from "../server/options.js";
11
11
  import { getPageContext } from "./context.js";
12
12
  import { getPublishedArticles, getPublishedTerms } from "./data.js";
13
13
  /** Seconds a feed reader should wait after a 503: the cache's own lifetime is a fair guess. */
@@ -32,7 +32,7 @@ export async function serveBlogRss() {
32
32
  channel: {
33
33
  title: context.brand === null ? copy.pages.blogTitle : formatMessage(copy.pages.titleWithBrand, { title: copy.pages.blogTitle, brand: context.brand }),
34
34
  description: copy.pages.blogDescription,
35
- language: config.locale,
35
+ language: getBlogLocaleTags(config).bcp47,
36
36
  },
37
37
  getCategory: (text) => (text.kind === "term" ? copy.glossary.title : text.cluster === null ? null : getClusterLabel(text.cluster, clusters, config.locale)),
38
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/next/discovery.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wGAAwG;AACxG,EAAE;AACF,6FAA6F;AAC7F,wEAAwE;AACxE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpE,+FAA+F;AAC/F,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9B,MAAM,GAAG,GAAG,YAAY,CAAC;YACvB,QAAQ;YACR,KAAK;YACL,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtJ,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;gBACvC,QAAQ,EAAE,MAAM,CAAC,MAAM;aACxB;YACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5J,CAAC,CAAC;QACH,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;YACrD,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;SACrG,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/next/discovery.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wGAAwG;AACxG,EAAE;AACF,6FAA6F;AAC7F,wEAAwE;AACxE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpE,+FAA+F;AAC/F,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9B,MAAM,GAAG,GAAG,YAAY,CAAC;YACvB,QAAQ;YACR,KAAK;YACL,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtJ,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;gBACvC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK;aAC1C;YACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5J,CAAC,CAAC;QACH,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;YACrD,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;SACrG,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../../src/next/json-ld.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAA+D,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,eAAwC,GAAG,WAAW,CAOpH;AAMD,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAItF;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAIhF;AAED,wHAAwH;AACxH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,GAAG,IAAI,CAIvG"}
1
+ {"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../../src/next/json-ld.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAA+D,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,eAAwC,GAAG,WAAW,CAOpH;AAcD,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAItF;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAIhF;AAED,wHAAwH;AACxH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,GAAG,IAAI,CAIvG"}
@@ -6,7 +6,7 @@
6
6
  import { getSiteUrls } from "@softure-ai/core";
7
7
  import { getArticleJsonLd, getGlossaryJsonLd, getTermJsonLd, serializeJsonLd } from "../pages/json-ld.js";
8
8
  import { getArticleCrumbs, getClusterLabel, getTermCrumbs, sortTerms } from "../pages/listing.js";
9
- import { getBlogOptions } from "../server/options.js";
9
+ import { getBlogLocaleTags, getBlogOptions } from "../server/options.js";
10
10
  import { getPageContext } from "./context.js";
11
11
  /** The breadcrumb names the pages show: the blog, the glossary and the clusters' display names. */
12
12
  export function getCrumbLabels(config, context = getPageContext(config)) {
@@ -18,12 +18,20 @@ export function getCrumbLabels(config, context = getPageContext(config)) {
18
18
  };
19
19
  }
20
20
  function getJsonLdContext(config, context) {
21
- return { urls: getSiteUrls(config), routes: context.routes, locale: config.locale, timezone: config.timezone, brand: context.brand };
21
+ return {
22
+ urls: getSiteUrls(config),
23
+ routes: context.routes,
24
+ locale: config.locale,
25
+ language: getBlogLocaleTags(config).bcp47,
26
+ ids: getBlogOptions(config).jsonLd.ids,
27
+ timezone: config.timezone,
28
+ brand: context.brand,
29
+ };
22
30
  }
23
31
  /** An article's `BlogPosting`, breadcrumbs and FAQ, serialized. */
24
32
  export function buildArticleJsonLd(config, article) {
25
33
  const context = getPageContext(config);
26
- const crumbs = getArticleCrumbs(article, context.routes, getCrumbLabels(config, context));
34
+ const crumbs = getArticleCrumbs(article, context.routes, getCrumbLabels(config, context), { clusterAnchorPrefix: context.clusterAnchorPrefix });
27
35
  return serializeJsonLd(getArticleJsonLd(article, crumbs, getJsonLdContext(config, context)));
28
36
  }
29
37
  /** A glossary term's `DefinedTerm` and breadcrumbs, serialized. */
@@ -1 +1 @@
1
- {"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../../src/next/json-ld.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,mGAAmG;AACnG,oGAAoG;AACpG,EAAE;AACF,oHAAoH;AACpH,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,MAAqB,EAAE,UAA2B,cAAc,CAAC,MAAM,CAAC;IACrG,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACzC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB,EAAE,OAAwB;IACvE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AACvI,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,MAAqB,EAAE,OAAoB;IAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1F,OAAO,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,eAAe,CAAC,MAAqB,EAAE,IAAiB;IACtE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpF,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1H,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,mBAAmB,CAAC,MAAqB,EAAE,KAA6B;IACtF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACjJ,CAAC"}
1
+ {"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../../src/next/json-ld.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare function buildBlogIndexMetadata(config: SoftureConfig, { isEmpty
11
11
  export declare function buildArticleMetadata(config: SoftureConfig, article: BlogArticle): Metadata;
12
12
  /** The glossary index's metadata. */
13
13
  export declare function buildGlossaryIndexMetadata(config: SoftureConfig, { isEmpty }: ListingMetadataInput): Metadata;
14
- /** A glossary term's metadata. The caller checks the text is a published term. */
14
+ /** A glossary term's metadata, titled by `glossary.termTitleWithBrand`. The caller checks the text is a published term. */
15
15
  export declare function buildTermMetadata(config: SoftureConfig, term: BlogArticle): Metadata;
16
16
  /** The method page's metadata. */
17
17
  export declare function buildMethodMetadata(config: SoftureConfig): Metadata;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/next/metadata.ts"],"names":[],"mappings":"AAWA,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AA+CD,kDAAkD;AAClD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,oBAAoB,GAAG,QAAQ,CAIzG;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,CAG1F;AAED,qCAAqC;AACrC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,oBAAoB,GAAG,QAAQ,CAI7G;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,QAAQ,CAGpF;AAED,kCAAkC;AAClC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAInE"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/next/metadata.ts"],"names":[],"mappings":"AAWA,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAOlD,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAgDD,kDAAkD;AAClD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,oBAAoB,GAAG,QAAQ,CAIzG;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,CAG1F;AAED,qCAAqC;AACrC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,oBAAoB,GAAG,QAAQ,CAI7G;AAED,2HAA2H;AAC3H,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,QAAQ,CAGpF;AAED,kCAAkC;AAClC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAInE"}
@@ -12,9 +12,11 @@
12
12
  import { formatMessage, getSiteUrls } from "@softure-ai/core";
13
13
  import { getArticleDates } from "../pages/dates.js";
14
14
  import { getArticlePath, getTermPath } from "../pages/paths.js";
15
+ import { getBlogLocaleTags } from "../server/options.js";
15
16
  import { getPageContext } from "./context.js";
16
- function withBrand(title, context) {
17
- return context.brand === null ? title : formatMessage(context.messages.pages.titleWithBrand, { title, brand: context.brand });
17
+ /** `pattern`: the page kind's title message (`pages.titleWithBrand`, or `glossary.termTitleWithBrand` for a term). */
18
+ function withBrand(title, context, pattern = context.messages.pages.titleWithBrand) {
19
+ return context.brand === null ? title : formatMessage(pattern, { title, brand: context.brand });
18
20
  }
19
21
  /** A page's canonical URL: seo's host and trailing-slash rule when the app lists seo, else on `appOrigin`. */
20
22
  function getCanonicalUrl(config, path) {
@@ -37,7 +39,7 @@ function getTextMetadata(config, context, text, path, options = {}) {
37
39
  const dates = getArticleDates(text, config.timezone);
38
40
  const url = getCanonicalUrl(config, path);
39
41
  return {
40
- title: withBrand(text.title, context),
42
+ title: withBrand(text.title, context, options.titlePattern),
41
43
  description: text.description,
42
44
  robots: { index: true, follow: true },
43
45
  alternates: { canonical: url, ...(options.hasFeed === true ? { types: getFeedAlternates(config, context) } : {}) },
@@ -46,7 +48,7 @@ function getTextMetadata(config, context, text, path, options = {}) {
46
48
  title: text.title,
47
49
  description: text.description,
48
50
  url,
49
- locale: config.locale,
51
+ locale: getBlogLocaleTags(config).openGraph,
50
52
  publishedTime: dates.published,
51
53
  modifiedTime: dates.updated ?? dates.published,
52
54
  ...(context.brand === null ? {} : { siteName: context.brand }),
@@ -70,10 +72,10 @@ export function buildGlossaryIndexMetadata(config, { isEmpty }) {
70
72
  const copy = context.messages.glossary;
71
73
  return getStaticMetadata(config, context, { title: copy.title, description: copy.description, path: context.routes.glossary, isEmpty });
72
74
  }
73
- /** A glossary term's metadata. The caller checks the text is a published term. */
75
+ /** A glossary term's metadata, titled by `glossary.termTitleWithBrand`. The caller checks the text is a published term. */
74
76
  export function buildTermMetadata(config, term) {
75
77
  const context = getPageContext(config);
76
- return getTextMetadata(config, context, term, getTermPath(context.routes, term.slug));
78
+ return getTextMetadata(config, context, term, getTermPath(context.routes, term.slug), { titlePattern: context.messages.glossary.termTitleWithBrand });
77
79
  }
78
80
  /** The method page's metadata. */
79
81
  export function buildMethodMetadata(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/next/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/next/metadata.ts"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ export async function BlogArticlePage({ params, cta, afterArticle }) {
77
77
  const context = getPageContext(config);
78
78
  const [terms, published] = await Promise.all([getPublishedTerms(config), getPublishedArticles(config)]);
79
79
  const body = renderPageBody(article, getBodyOptions(config, context, terms));
80
- const crumbs = getArticleCrumbs(article, context.routes, getCrumbLabels(config, context));
80
+ const crumbs = getArticleCrumbs(article, context.routes, getCrumbLabels(config, context), { clusterAnchorPrefix: context.clusterAnchorPrefix });
81
81
  const jsonLd = buildArticleJsonLd(config, article);
82
82
  return (_jsx(BlogArticleView, { context: context, article: article, dates: getArticleDates(article, config.timezone), body: body, crumbs: crumbs, jsonLd: jsonLd, cta: cta, afterArticle: afterArticle, related: getRelatedArticles(article, published) }));
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/next/pages.tsx"],"names":[],"mappings":";AAAA,uFAAuF;AACvF,EAAE;AACF,wJAAwJ;AACxJ,+EAA+E;AAC/E,0MAA0M;AAC1M,sEAAsE;AACtE,iGAAiG;AACjG,oHAAoH;AACpH,kHAAkH;AAClH,uFAAuF;AACvF,EAAE;AACF,kGAAkG;AAClG,iGAAiG;AACjG,gGAAgG;AAChG,oGAAoG;AACpG,mDAAmD;AACnD,EAAE;AACF,mGAAmG;AACnG,sGAAsG;AACtG,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAsBjJ,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,IAAwB,EAAE,IAAyB;IACtE,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB,EAAE,OAAwB,EAAE,KAA6B;IACpG,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACvI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,sBAAsB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,GAAG,KAAyB,EAAE;IAClE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7F,OAAO,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AAC7H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAE,MAAM,EAAmC;IACvF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAwB;IACvF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;QAAE,QAAQ,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,cAAc,CAAY,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,CACL,KAAC,eAAe,IACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAChD,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,GAC/C,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,0BAA0B,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAE,MAAM,EAAmC;IACpF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,mHAAmH;AACnH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAyB;IAC3E,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,QAAQ,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,CACL,KAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAC7C,IAAI,EAAE,cAAc,CAAY,IAAI,EAAE,WAAW,CAAC,EAClD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EACnE,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;QAAE,QAAQ,EAAE,CAAC;IAC5C,OAAO,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/next/pages.tsx"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -54,6 +54,16 @@ declare const skillSectionSchema: z.ZodObject<{
54
54
  body: z.ZodString;
55
55
  }, z.core.$strict>;
56
56
  export type BlogSkillSection = z.output<typeof skillSectionSchema>;
57
+ /** The Open Graph locale of a language when the app sets none: `og:locale` is `language_TERRITORY`. */
58
+ export declare const DEFAULT_OPEN_GRAPH_LOCALES: {
59
+ readonly en: "en_US";
60
+ readonly pl: "pl_PL";
61
+ };
62
+ declare const localeTagsSchema: z.ZodObject<{
63
+ bcp47: z.ZodOptional<z.ZodString>;
64
+ openGraph: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strict>;
66
+ export type BlogLocaleTagsInput = z.output<typeof localeTagsSchema>;
57
67
  export declare const blogOptionsSchema: z.ZodObject<{
58
68
  contentDir: z.ZodDefault<z.ZodString>;
59
69
  reservedSlugs: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -95,6 +105,26 @@ export declare const blogOptionsSchema: z.ZodObject<{
95
105
  hosts: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
96
106
  dimensions: z.ZodCustom<(src: string) => import("./render/images.js").ImageDimensions | null, (src: string) => import("./render/images.js").ImageDimensions | null>;
97
107
  }, z.core.$strict>>;
108
+ jsonLd: z.ZodDefault<z.ZodObject<{
109
+ ids: z.ZodDefault<z.ZodObject<{
110
+ article: z.ZodDefault<z.ZodString>;
111
+ term: z.ZodDefault<z.ZodString>;
112
+ glossary: z.ZodDefault<z.ZodString>;
113
+ }, z.core.$strict>>;
114
+ }, z.core.$strict>>;
115
+ anchors: z.ZodDefault<z.ZodObject<{
116
+ cluster: z.ZodDefault<z.ZodString>;
117
+ }, z.core.$strict>>;
118
+ locales: z.ZodDefault<z.ZodObject<{
119
+ en: z.ZodOptional<z.ZodObject<{
120
+ bcp47: z.ZodOptional<z.ZodString>;
121
+ openGraph: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strict>>;
123
+ pl: z.ZodOptional<z.ZodObject<{
124
+ bcp47: z.ZodOptional<z.ZodString>;
125
+ openGraph: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strict>>;
127
+ }, z.core.$strict>>;
98
128
  gonePage: z.ZodDefault<z.ZodObject<{
99
129
  links: z.ZodDefault<z.ZodArray<z.ZodObject<{
100
130
  href: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAErF,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,+JAenB,CAAC;AAEX,iEAAiE;AACjE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAErJ;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,qBAAqB,CAAC;CAC/D;AAoBD,wGAAwG;AACxG,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,uFAAuF;AACvF,QAAA,MAAM,mBAAmB;;;kBAGvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMjE,gFAAgF;AAChF,eAAO,MAAM,eAAe,wDAAyD,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAc5D,QAAA,MAAM,YAAY;;;;;;;;kBAchB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAyCzD,uGAAuG;AACvG,QAAA,MAAM,kBAAkB;;;kBAYtB,CAAC;AA8BH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AASnE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAvBH,mBAAmB,KAAK,MAAM,UAA9B,mBAAmB,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsErD,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAErF,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,+JAenB,CAAC;AAEX,iEAAiE;AACjE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAErJ;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,qBAAqB,CAAC;CAC/D;AAoBD,wGAAwG;AACxG,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,uFAAuF;AACvF,QAAA,MAAM,mBAAmB;;;kBAGvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMjE,gFAAgF;AAChF,eAAO,MAAM,eAAe,wDAAyD,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAc5D,QAAA,MAAM,YAAY;;;;;;;;kBAchB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAyCzD,uGAAuG;AACvG,QAAA,MAAM,kBAAkB;;;kBAYtB,CAAC;AA8BH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AA2BnE,uGAAuG;AACvG,eAAO,MAAM,0BAA0B;;;CAAwC,CAAC;AAEhF,QAAA,MAAM,gBAAgB;;;kBAWpB,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA3DH,mBAAmB,KAAK,MAAM,UAA9B,mBAAmB,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgHrD,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
package/dist/options.js CHANGED
@@ -158,6 +158,35 @@ const imagePolicySchema = z.strictObject({
158
158
  /** `(src) => ({ width, height })` in pixels, or `null` for an unknown image. */
159
159
  dimensions: z.custom((value) => typeof value === "function", "must be a function: (src) => ({ width, height }) or null"),
160
160
  });
161
+ /** A URL fragment or HTML id part, without `#`: a JSON-LD node id or the cluster anchor prefix. */
162
+ const fragmentSchema = z
163
+ .string()
164
+ .max(40)
165
+ .regex(/^[A-Za-z][A-Za-z0-9_-]*$/, "must be a letter followed by letters, digits, - or _, without #, e.g. article");
166
+ const jsonLdSchema = z.strictObject({
167
+ /** The `@id` fragments of the nodes: `<url>#<article>`, `<url>#<term>`, `<glossary url>#<glossary>`. */
168
+ ids: z
169
+ .strictObject({ article: fragmentSchema.default("article"), term: fragmentSchema.default("term"), glossary: fragmentSchema.default("glossary") })
170
+ .default({ article: "article", term: "term", glossary: "glossary" }),
171
+ });
172
+ const anchorsSchema = z.strictObject({
173
+ /** A cluster's section on the listing is `<cluster>-<key>`, the breadcrumb of its articles points there. */
174
+ cluster: fragmentSchema.default("cluster"),
175
+ });
176
+ /** The Open Graph locale of a language when the app sets none: `og:locale` is `language_TERRITORY`. */
177
+ export const DEFAULT_OPEN_GRAPH_LOCALES = { en: "en_US", pl: "pl_PL" };
178
+ const localeTagsSchema = z.strictObject({
179
+ /** The content's language as a BCP-47 tag: JSON-LD `inLanguage` and the feed's `<language>`; the bare code by default. */
180
+ bcp47: z
181
+ .string()
182
+ .regex(/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/, "must be a BCP-47 tag, e.g. pl-PL")
183
+ .optional(),
184
+ /** `og:locale` (`language_TERRITORY`); `en_US` or `pl_PL` by default. */
185
+ openGraph: z
186
+ .string()
187
+ .regex(/^[a-z]{2,3}_[A-Z]{2}$/, "must be an Open Graph locale (language_TERRITORY), e.g. pl_PL")
188
+ .optional(),
189
+ });
161
190
  export const blogOptionsSchema = z
162
191
  .strictObject({
163
192
  /** The folder with the article files, relative to the app's root. */
@@ -190,6 +219,12 @@ export const blogOptionsSchema = z
190
219
  * quality gate; without it every image renders as its alt text and the gate refuses it.
191
220
  */
192
221
  images: imagePolicySchema.optional(),
222
+ /** The JSON-LD node ids; an app that already published other fragments keeps them here. */
223
+ jsonLd: jsonLdSchema.default({ ids: { article: "article", term: "term", glossary: "glossary" } }),
224
+ /** The anchors the pages write; an app whose listing already used another prefix keeps it here. */
225
+ anchors: anchorsSchema.default({ cluster: "cluster" }),
226
+ /** The language tags per app locale: BCP-47 for the content, Open Graph for `og:locale`. */
227
+ locales: z.strictObject({ en: localeTagsSchema.optional(), pl: localeTagsSchema.optional() }).default({}),
193
228
  /** The page a withdrawn text answers with (410): extra links, or the app's own body. */
194
229
  gonePage: gonePageSchema.default({ links: [] }),
195
230
  /** How long the listing and glossary cache their reads; keep it equal to the pages' `revalidate`. */
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}