@rathnasgala2/schemas 3.11.0 → 3.12.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/THIRD_PARTY_LICENSES.json +1 -1
- package/diagnostics/diagnostic-map.json +30 -0
- package/docs/catalogs/schema-inventory.json +4 -4
- package/examples/valid/build-input/rules.json +41 -0
- package/examples/valid/content-frontmatter/rules.json +41 -0
- package/fixtures/boundary/build-input/rules.json +51 -0
- package/fixtures/boundary/content-frontmatter/rules.json +51 -0
- package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +22 -0
- package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +9 -0
- package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +20 -0
- package/fixtures/invalid/content-frontmatter/GRAPHEME_LENGTH_INVALID/cases.json +22 -0
- package/fixtures/invalid/content-frontmatter/REQUEST_FIELD_UNKNOWN/cases.json +11 -0
- package/fixtures/invalid/content-frontmatter/SCHEMA_TYPE_INVALID/cases.json +20 -0
- package/fixtures/manifest.json +234 -4
- package/fixtures/unknown-field/build-input/rules.json +15 -0
- package/fixtures/unknown-field/content-frontmatter/rules.json +15 -0
- package/generated/browser/validator-core.mjs +3 -3
- package/generated/typescript/contracts/build-input.d.ts +8 -0
- package/generated/typescript/contracts/content-frontmatter.d.ts +8 -0
- package/openapi/http-catalog.json +2 -2
- package/openapi/openapi.yaml +228 -3
- package/package.json +1 -1
- package/sbom.cdx.json +23 -23
- package/schemas/build-input.schema.json +20 -1
- package/schemas/content-frontmatter.schema.json +19 -0
|
@@ -146,6 +146,7 @@ export type BuildInputContentFrontmatterNormalized = Readonly<{
|
|
|
146
146
|
readonly publishedAt: BuildInputRfc3339;
|
|
147
147
|
readonly redirects: ReadonlyArray<BuildInputCanonicalRoute>;
|
|
148
148
|
readonly route?: BuildInputCanonicalRoute;
|
|
149
|
+
readonly seo?: BuildInputContentSeo;
|
|
149
150
|
readonly series?: BuildInputPlainLabel;
|
|
150
151
|
readonly seriesOrder?: number;
|
|
151
152
|
readonly slug: BuildInputSlug;
|
|
@@ -157,6 +158,13 @@ export type BuildInputContentFrontmatterNormalized = Readonly<{
|
|
|
157
158
|
}> &
|
|
158
159
|
unknown;
|
|
159
160
|
|
|
161
|
+
export type BuildInputContentSeo = Readonly<{
|
|
162
|
+
readonly canonicalUrl?: BuildInputUrlHttps;
|
|
163
|
+
readonly description?: BuildInputPlainText;
|
|
164
|
+
readonly noindex?: boolean;
|
|
165
|
+
readonly title?: BuildInputPlainText;
|
|
166
|
+
}>;
|
|
167
|
+
|
|
160
168
|
export type BuildInputDestinationCapabilityProfile = Readonly<{
|
|
161
169
|
readonly adapter: BuildInputAuthoredAdapterIdentity;
|
|
162
170
|
readonly baseUrl: BuildInputUrlHttps;
|
|
@@ -17,6 +17,13 @@ export type ContentFrontmatterContentEdition = Readonly<{
|
|
|
17
17
|
readonly sourceDigest: ContentFrontmatterDigest;
|
|
18
18
|
}>;
|
|
19
19
|
|
|
20
|
+
export type ContentFrontmatterContentSeo = Readonly<{
|
|
21
|
+
readonly canonicalUrl?: ContentFrontmatterUrlHttps;
|
|
22
|
+
readonly description?: ContentFrontmatterPlainText;
|
|
23
|
+
readonly noindex?: boolean;
|
|
24
|
+
readonly title?: ContentFrontmatterPlainText;
|
|
25
|
+
}>;
|
|
26
|
+
|
|
20
27
|
export type ContentFrontmatterDigest = string;
|
|
21
28
|
|
|
22
29
|
export type ContentFrontmatterExtensionKey = string;
|
|
@@ -78,6 +85,7 @@ export type ContentFrontmatterDocument = Readonly<{
|
|
|
78
85
|
readonly route?: ContentFrontmatterCanonicalRoute;
|
|
79
86
|
readonly schemaId: 'urn:gala:schema:content-frontmatter:2.0.0';
|
|
80
87
|
readonly schemaVersion: '2.0.0';
|
|
88
|
+
readonly seo?: ContentFrontmatterContentSeo;
|
|
81
89
|
readonly series?: ContentFrontmatterPlainLabel;
|
|
82
90
|
readonly seriesOrder?: number;
|
|
83
91
|
readonly slug: ContentFrontmatterSlug;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "2.0.0",
|
|
3
3
|
"sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
|
|
4
|
-
"openApiDigest": "sha256:
|
|
4
|
+
"openApiDigest": "sha256:ced018280539ba1489140480f22f9d4d559bfffc0fc383979d96ce6bdbd511db",
|
|
5
5
|
"operations": [
|
|
6
6
|
{
|
|
7
7
|
"operationId": "getInternalHealth",
|
|
@@ -2157,5 +2157,5 @@
|
|
|
2157
2157
|
"sourceFragment": "workloads"
|
|
2158
2158
|
}
|
|
2159
2159
|
],
|
|
2160
|
-
"digest": "sha256:
|
|
2160
|
+
"digest": "sha256:abdb9d0b55df0c670b75a6bb175ef2cf8bd0b6566ceffb54e2683037072ee0ea"
|
|
2161
2161
|
}
|
package/openapi/openapi.yaml
CHANGED
|
@@ -1081,9 +1081,20 @@ components:
|
|
|
1081
1081
|
optional: the author's publication palette, written as
|
|
1082
1082
|
`gala/appearance.json`'s `tokens`; when absent the file's `tokens`
|
|
1083
1083
|
are preserved unchanged, and `{}` resets to the theme's own colours.
|
|
1084
|
+
`brandMark` (SCHEMA-3.12.0) is optional: a repository-relative path
|
|
1085
|
+
under `assets/brand/`, written as `gala/appearance.json`'s
|
|
1086
|
+
`brandMark` (the site icon); `null` clears it and an absent member
|
|
1087
|
+
preserves the file's value. The App uploads the image file as an
|
|
1088
|
+
ordinary `assets[]` entry in the same plan.
|
|
1084
1089
|
properties:
|
|
1085
1090
|
attribution:
|
|
1086
1091
|
$ref: "#/components/schemas/PortableAppearanceAttribution"
|
|
1092
|
+
brandMark:
|
|
1093
|
+
oneOf:
|
|
1094
|
+
- allOf:
|
|
1095
|
+
- $ref: "#/components/schemas/PortableAppearanceRepoRelativePath"
|
|
1096
|
+
- pattern: ^assets/brand/
|
|
1097
|
+
- type: "null"
|
|
1087
1098
|
colorModeDefault:
|
|
1088
1099
|
$ref: "#/components/schemas/AppearanceColorMode"
|
|
1089
1100
|
themeId:
|
|
@@ -1208,6 +1219,55 @@ components:
|
|
|
1208
1219
|
- path
|
|
1209
1220
|
- action
|
|
1210
1221
|
type: object
|
|
1222
|
+
ContentChangePublicationProfileEntry:
|
|
1223
|
+
additionalProperties: false
|
|
1224
|
+
description: |
|
|
1225
|
+
SCHEMA-3.12.0: site-level settings inside a batch
|
|
1226
|
+
`content-changes:plan` request, the same lifecycle and capability as
|
|
1227
|
+
`appearance` (a pending change that goes live on Publish). The
|
|
1228
|
+
server loads `gala/publication.json` at `baseRevision`, applies the
|
|
1229
|
+
members that are present, validates the result against
|
|
1230
|
+
`publication.schema.json`, and plans one `PUT` of
|
|
1231
|
+
`gala/publication.json`. An absent member is preserved. `null`
|
|
1232
|
+
resets `description` to the publication title (the file requires a
|
|
1233
|
+
description); `null` clears `defaultImageRef` and `crawlers`.
|
|
1234
|
+
`title`, `defaultLanguage` and `socialLinks` cannot be cleared.
|
|
1235
|
+
`socialLinks` (max 32, the publication file's own limit) replaces
|
|
1236
|
+
the whole list. `canonicalBase` is never client-settable: it changes
|
|
1237
|
+
only through domain attach and detach. A profile that changes nothing is
|
|
1238
|
+
`422 VALIDATION_FAILED` pointed at `/publicationProfile`; member
|
|
1239
|
+
failures point at `/publicationProfile/<member>`.
|
|
1240
|
+
properties:
|
|
1241
|
+
crawlers:
|
|
1242
|
+
oneOf:
|
|
1243
|
+
- $ref: "#/components/schemas/PortablePublicationCrawlers"
|
|
1244
|
+
- type: "null"
|
|
1245
|
+
defaultImageRef:
|
|
1246
|
+
oneOf:
|
|
1247
|
+
- allOf:
|
|
1248
|
+
- $ref: "#/components/schemas/PortablePublicationRepoRelativePath"
|
|
1249
|
+
- pattern: ^assets/brand/
|
|
1250
|
+
- type: "null"
|
|
1251
|
+
defaultLanguage:
|
|
1252
|
+
$ref: "#/components/schemas/PortablePublicationBcp47"
|
|
1253
|
+
description:
|
|
1254
|
+
oneOf:
|
|
1255
|
+
- $ref: "#/components/schemas/PortablePublicationPlainText"
|
|
1256
|
+
x-gala-graphemeLength:
|
|
1257
|
+
maximum: 300
|
|
1258
|
+
minimum: 1
|
|
1259
|
+
- type: "null"
|
|
1260
|
+
socialLinks:
|
|
1261
|
+
items:
|
|
1262
|
+
$ref: "#/components/schemas/PortablePublicationSocialLink"
|
|
1263
|
+
maxItems: 32
|
|
1264
|
+
type: array
|
|
1265
|
+
title:
|
|
1266
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
1267
|
+
x-gala-graphemeLength:
|
|
1268
|
+
maximum: 120
|
|
1269
|
+
minimum: 1
|
|
1270
|
+
type: object
|
|
1211
1271
|
ContentFrontmatter:
|
|
1212
1272
|
$ref: "#/components/schemas/PortableContentFrontmatterDocument"
|
|
1213
1273
|
ContentInventoryItem:
|
|
@@ -1345,14 +1405,36 @@ components:
|
|
|
1345
1405
|
$ref: "#/components/schemas/ContentPublicationAuthorSummary"
|
|
1346
1406
|
maxItems: 200
|
|
1347
1407
|
type: array
|
|
1408
|
+
crawlers:
|
|
1409
|
+
$ref: "#/components/schemas/PortablePublicationCrawlers"
|
|
1410
|
+
defaultImageRef:
|
|
1411
|
+
$ref: "#/components/schemas/PortablePublicationRepoRelativePath"
|
|
1348
1412
|
defaultLanguage:
|
|
1349
1413
|
$ref: "#/components/schemas/PortablePublicationBcp47"
|
|
1414
|
+
description:
|
|
1415
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
1416
|
+
x-gala-graphemeLength:
|
|
1417
|
+
maximum: 500
|
|
1418
|
+
minimum: 1
|
|
1419
|
+
socialLinks:
|
|
1420
|
+
items:
|
|
1421
|
+
$ref: "#/components/schemas/PortablePublicationSocialLink"
|
|
1422
|
+
maxItems: 32
|
|
1423
|
+
type: array
|
|
1350
1424
|
theme:
|
|
1351
1425
|
$ref: "#/components/schemas/PortableAppearancePackageRange"
|
|
1426
|
+
title:
|
|
1427
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
1428
|
+
x-gala-graphemeLength:
|
|
1429
|
+
maximum: 200
|
|
1430
|
+
minimum: 1
|
|
1352
1431
|
required:
|
|
1353
1432
|
- defaultLanguage
|
|
1354
1433
|
- theme
|
|
1355
1434
|
- authors
|
|
1435
|
+
- title
|
|
1436
|
+
- description
|
|
1437
|
+
- socialLinks
|
|
1356
1438
|
type: object
|
|
1357
1439
|
DefaultBranchUpdateState:
|
|
1358
1440
|
description: |
|
|
@@ -7070,6 +7152,15 @@ components:
|
|
|
7070
7152
|
minLength: 3
|
|
7071
7153
|
pattern: ^(?:@[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?/[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?|[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?)@(?:\S+|\S+ \S+)$
|
|
7072
7154
|
type: string
|
|
7155
|
+
PortableAppearanceRepoRelativePath:
|
|
7156
|
+
description: NFC UTF-8 repository-relative path using slash separators, with no leading slash, dot segment, NUL, backslash, or percent-decoded traversal.
|
|
7157
|
+
format: gala-repository-relative-path
|
|
7158
|
+
maxLength: 512
|
|
7159
|
+
minLength: 1
|
|
7160
|
+
pattern: ^(?!/)(?!.*\\)(?!.*\u0000).+$
|
|
7161
|
+
type: string
|
|
7162
|
+
x-gala-utf8ByteLength:
|
|
7163
|
+
maximum: 512
|
|
7073
7164
|
PortableAppearanceSemanticTokens:
|
|
7074
7165
|
additionalProperties: false
|
|
7075
7166
|
description: "SCHEMA-3.10.0: the author's publication palette. Each role (accent, canvas, text) is optional; when present it carries both light and dark as opaque lowercase #rrggbb. An absent role uses the theme's default; `{}` selects the theme's default palette entirely."
|
|
@@ -7172,6 +7263,26 @@ components:
|
|
|
7172
7263
|
- generation
|
|
7173
7264
|
- approvedAt
|
|
7174
7265
|
type: object
|
|
7266
|
+
PortableContentFrontmatterContentSeo:
|
|
7267
|
+
additionalProperties: false
|
|
7268
|
+
description: "SCHEMA-3.12.0: optional search overrides for one document. `title` replaces the page title in search results (the site suffix is still appended on non-home pages), `description` replaces the search description, `canonicalUrl` is an absolute HTTPS canonical for syndicated or moved content, and `noindex: true` keeps a listed document out of search engines. Every member is optional; absent members fall back to the document's own title and description."
|
|
7269
|
+
properties:
|
|
7270
|
+
canonicalUrl:
|
|
7271
|
+
$ref: "#/components/schemas/PortableContentFrontmatterUrlHttps"
|
|
7272
|
+
description:
|
|
7273
|
+
$ref: "#/components/schemas/PortableContentFrontmatterPlainText"
|
|
7274
|
+
x-gala-graphemeLength:
|
|
7275
|
+
maximum: 300
|
|
7276
|
+
minimum: 1
|
|
7277
|
+
noindex:
|
|
7278
|
+
type: boolean
|
|
7279
|
+
title:
|
|
7280
|
+
$ref: "#/components/schemas/PortableContentFrontmatterPlainText"
|
|
7281
|
+
x-gala-graphemeLength:
|
|
7282
|
+
maximum: 70
|
|
7283
|
+
minimum: 1
|
|
7284
|
+
required: []
|
|
7285
|
+
type: object
|
|
7175
7286
|
PortableContentFrontmatterDigest:
|
|
7176
7287
|
pattern: ^sha256:[0-9a-f]{64}$
|
|
7177
7288
|
type: string
|
|
@@ -7268,6 +7379,8 @@ components:
|
|
|
7268
7379
|
pattern: ^2\.0\.0$
|
|
7269
7380
|
type: string
|
|
7270
7381
|
x-gala-const: 2.0.0
|
|
7382
|
+
seo:
|
|
7383
|
+
$ref: "#/components/schemas/PortableContentFrontmatterContentSeo"
|
|
7271
7384
|
series:
|
|
7272
7385
|
$ref: "#/components/schemas/PortableContentFrontmatterPlainLabel"
|
|
7273
7386
|
seriesOrder:
|
|
@@ -7398,6 +7511,11 @@ components:
|
|
|
7398
7511
|
description: Lowercase canonical UUIDv7. Once published, it is immutable; its time ordering conveys neither chronology nor authority.
|
|
7399
7512
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
7400
7513
|
type: string
|
|
7514
|
+
PortableContentFrontmatterUrlHttps:
|
|
7515
|
+
description: Absolute HTTPS URL without embedded credentials.
|
|
7516
|
+
format: uri
|
|
7517
|
+
pattern: ^https://(?![^/?#]*@)
|
|
7518
|
+
type: string
|
|
7401
7519
|
PortableDeploymentIntentAdapterIdentity:
|
|
7402
7520
|
additionalProperties: false
|
|
7403
7521
|
properties:
|
|
@@ -12953,6 +13071,84 @@ components:
|
|
|
12953
13071
|
x-gala-utf8ByteLength:
|
|
12954
13072
|
maximum: 255
|
|
12955
13073
|
minimum: 1
|
|
13074
|
+
PortablePublicationCrawlers:
|
|
13075
|
+
additionalProperties: false
|
|
13076
|
+
properties:
|
|
13077
|
+
ai:
|
|
13078
|
+
enum:
|
|
13079
|
+
- allow
|
|
13080
|
+
- block
|
|
13081
|
+
required:
|
|
13082
|
+
- ai
|
|
13083
|
+
type: object
|
|
13084
|
+
PortablePublicationPlainLabel:
|
|
13085
|
+
description: Normalized Unicode plain text without markup, controls, or bidi overrides.
|
|
13086
|
+
format: gala-plain-label
|
|
13087
|
+
type: string
|
|
13088
|
+
x-gala-graphemeLength:
|
|
13089
|
+
maximum: 80
|
|
13090
|
+
minimum: 1
|
|
13091
|
+
PortablePublicationPlainText:
|
|
13092
|
+
description: NFC Unicode text without disallowed C0/C1 controls or bidi override/isolate controls.
|
|
13093
|
+
format: gala-plain-text
|
|
13094
|
+
type: string
|
|
13095
|
+
PortablePublicationRepoRelativePath:
|
|
13096
|
+
description: NFC UTF-8 repository-relative path using slash separators, with no leading slash, dot segment, NUL, backslash, or percent-decoded traversal.
|
|
13097
|
+
format: gala-repository-relative-path
|
|
13098
|
+
maxLength: 512
|
|
13099
|
+
minLength: 1
|
|
13100
|
+
pattern: ^(?!/)(?!.*\\)(?!.*\u0000).+$
|
|
13101
|
+
type: string
|
|
13102
|
+
x-gala-utf8ByteLength:
|
|
13103
|
+
maximum: 512
|
|
13104
|
+
PortablePublicationSocialLink:
|
|
13105
|
+
additionalProperties: false
|
|
13106
|
+
allOf:
|
|
13107
|
+
- else:
|
|
13108
|
+
properties:
|
|
13109
|
+
uri:
|
|
13110
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
13111
|
+
if:
|
|
13112
|
+
properties:
|
|
13113
|
+
type:
|
|
13114
|
+
pattern: ^email$
|
|
13115
|
+
type: string
|
|
13116
|
+
x-gala-const: email
|
|
13117
|
+
required:
|
|
13118
|
+
- type
|
|
13119
|
+
then:
|
|
13120
|
+
properties:
|
|
13121
|
+
uri:
|
|
13122
|
+
format: uri
|
|
13123
|
+
pattern: "^mailto:"
|
|
13124
|
+
type: string
|
|
13125
|
+
properties:
|
|
13126
|
+
label:
|
|
13127
|
+
$ref: "#/components/schemas/PortablePublicationPlainLabel"
|
|
13128
|
+
type:
|
|
13129
|
+
enum:
|
|
13130
|
+
- website
|
|
13131
|
+
- email
|
|
13132
|
+
- github
|
|
13133
|
+
- linkedin
|
|
13134
|
+
- mastodon
|
|
13135
|
+
- bluesky
|
|
13136
|
+
- x
|
|
13137
|
+
- youtube
|
|
13138
|
+
- other
|
|
13139
|
+
uri:
|
|
13140
|
+
maxLength: 2048
|
|
13141
|
+
minLength: 1
|
|
13142
|
+
type: string
|
|
13143
|
+
required:
|
|
13144
|
+
- type
|
|
13145
|
+
- uri
|
|
13146
|
+
type: object
|
|
13147
|
+
PortablePublicationUrlHttps:
|
|
13148
|
+
description: Absolute HTTPS URL without embedded credentials.
|
|
13149
|
+
format: uri
|
|
13150
|
+
pattern: ^https://(?![^/?#]*@)
|
|
13151
|
+
type: string
|
|
12956
13152
|
PostAuthenticationGithubTransactionsRequest:
|
|
12957
13153
|
additionalProperties: false
|
|
12958
13154
|
properties:
|
|
@@ -13731,13 +13927,15 @@ components:
|
|
|
13731
13927
|
Two request shapes, both accepted. The 2.13.0 single-document shape
|
|
13732
13928
|
(`path`, `contentDigest`, `expectedHead`) plans one document write
|
|
13733
13929
|
against the exact expected head. The additive batch shape
|
|
13734
|
-
(`baseRevision` and at least one of `documents`/`assets`/`appearance
|
|
13930
|
+
(`baseRevision` and at least one of `documents`/`assets`/`appearance`/
|
|
13931
|
+
`publicationProfile`)
|
|
13735
13932
|
plans up to 20 documents and 20 assets -- each `PUT` with its own
|
|
13736
13933
|
text or bytes and digest, each `DELETE` naming only its path -- and
|
|
13737
13934
|
optionally one theme selection in one change, against the exact
|
|
13738
13935
|
expected main-branch head asserted as `baseRevision`. A request
|
|
13739
13936
|
mixing the two shapes, or a batch request naming none of
|
|
13740
|
-
`documents`, `assets` and `
|
|
13937
|
+
`documents`, `assets`, `appearance` and `publicationProfile`, is
|
|
13938
|
+
`422 VALIDATION_FAILED`.
|
|
13741
13939
|
`appearance` names a catalog theme and a default colour mode, and
|
|
13742
13940
|
optionally the footer `attribution` (SCHEMA-3.3.0); the server
|
|
13743
13941
|
writes `gala/appearance.json` (only `theme`, `colorMode.default` and,
|
|
@@ -13747,6 +13945,10 @@ components:
|
|
|
13747
13945
|
selection (theme, default colour mode and, when sent, attribution)
|
|
13748
13946
|
is `422 VALIDATION_FAILED` pointed at `/appearance`. Document paths
|
|
13749
13947
|
under `gala/` and `gala.lock.json` remain forbidden.
|
|
13948
|
+
`publicationProfile` (SCHEMA-3.12.0) is a further batch member beside
|
|
13949
|
+
`appearance`, counting as one of the named members: it edits
|
|
13950
|
+
`gala/publication.json` through one planned `PUT` (see
|
|
13951
|
+
`ContentChangePublicationProfileEntry`).
|
|
13750
13952
|
Assets are images only (PNG, JPEG, WebP, GIF, AVIF; SVG is refused):
|
|
13751
13953
|
at most 20 per change, each at most 5 MiB and together at most
|
|
13752
13954
|
20 MiB, measured on the decoded bytes -- `assets[].bytesBase64` is
|
|
@@ -13779,6 +13981,8 @@ components:
|
|
|
13779
13981
|
maxLength: 512
|
|
13780
13982
|
minLength: 1
|
|
13781
13983
|
type: string
|
|
13984
|
+
publicationProfile:
|
|
13985
|
+
$ref: "#/components/schemas/ContentChangePublicationProfileEntry"
|
|
13782
13986
|
required: []
|
|
13783
13987
|
type: object
|
|
13784
13988
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdContentChangesPlanResponse:
|
|
@@ -14606,7 +14810,16 @@ components:
|
|
|
14606
14810
|
- $ref: "#/components/schemas/PublicationTransfer"
|
|
14607
14811
|
PostOrganizationsByOrganizationIdPublicationsRequest:
|
|
14608
14812
|
additionalProperties: false
|
|
14813
|
+
description: |
|
|
14814
|
+
`description` (SCHEMA-3.12.0) is the optional site tagline, written
|
|
14815
|
+
as `gala/publication.json`'s `description`. When absent the server
|
|
14816
|
+
keeps its fallback (the site name).
|
|
14609
14817
|
properties:
|
|
14818
|
+
description:
|
|
14819
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
14820
|
+
x-gala-graphemeLength:
|
|
14821
|
+
maximum: 300
|
|
14822
|
+
minimum: 1
|
|
14610
14823
|
name:
|
|
14611
14824
|
maxLength: 80
|
|
14612
14825
|
minLength: 1
|
|
@@ -15812,10 +16025,19 @@ components:
|
|
|
15812
16025
|
(SCHEMA-3.3.0, optional) is the file's footer attribution switch;
|
|
15813
16026
|
absent means the file has none, which renders as shown. `tokens`
|
|
15814
16027
|
(SCHEMA-3.10.0, optional) is the file's publication palette as read;
|
|
15815
|
-
absent or `{}` means the theme's own colours.
|
|
16028
|
+
absent or `{}` means the theme's own colours. `brandMark`
|
|
16029
|
+
(SCHEMA-3.12.0, optional): the publication's brand mark as currently
|
|
16030
|
+
committed, absent when none.
|
|
15816
16031
|
properties:
|
|
15817
16032
|
attribution:
|
|
15818
16033
|
$ref: "#/components/schemas/PortableAppearanceAttribution"
|
|
16034
|
+
brandMark:
|
|
16035
|
+
description: "SCHEMA-3.12.0: the publication's brand mark as currently committed, absent when none"
|
|
16036
|
+
oneOf:
|
|
16037
|
+
- allOf:
|
|
16038
|
+
- $ref: "#/components/schemas/PortableAppearanceRepoRelativePath"
|
|
16039
|
+
- pattern: ^assets/brand/
|
|
16040
|
+
- type: "null"
|
|
15819
16041
|
colorModeDefault:
|
|
15820
16042
|
$ref: "#/components/schemas/AppearanceColorMode"
|
|
15821
16043
|
themeId:
|
|
@@ -30308,7 +30530,10 @@ paths:
|
|
|
30308
30530
|
- displayName: Example Author
|
|
30309
30531
|
id: 018f0000-0000-7000-8000-000000000001
|
|
30310
30532
|
defaultLanguage: en
|
|
30533
|
+
description: Example tagline
|
|
30534
|
+
socialLinks: []
|
|
30311
30535
|
theme: "@rathnasgala2/theme-default@^4.0.0"
|
|
30536
|
+
title: Example
|
|
30312
30537
|
setUp: true
|
|
30313
30538
|
schema:
|
|
30314
30539
|
$ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdContentResponse"
|
package/package.json
CHANGED
package/sbom.cdx.json
CHANGED
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
"type": "library",
|
|
98
98
|
"name": "schemas",
|
|
99
99
|
"group": "@rathnasgala2",
|
|
100
|
-
"version": "3.
|
|
101
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
100
|
+
"version": "3.12.0",
|
|
101
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0",
|
|
102
102
|
"description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
|
|
103
103
|
"licenses": [
|
|
104
104
|
{
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
],
|
|
111
|
-
"purl": "pkg:npm/%40rathnasgala2/schemas@3.
|
|
111
|
+
"purl": "pkg:npm/%40rathnasgala2/schemas@3.12.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
|
|
112
112
|
"externalReferences": [
|
|
113
113
|
{
|
|
114
114
|
"url": "https://github.com/rathnasgala2/schema/issues",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"type": "library",
|
|
154
154
|
"name": "ajv-formats",
|
|
155
155
|
"version": "3.0.1",
|
|
156
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
156
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0|ajv-formats@3.0.1",
|
|
157
157
|
"licenses": [
|
|
158
158
|
{
|
|
159
159
|
"license": {
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
"type": "library",
|
|
188
188
|
"name": "ajv",
|
|
189
189
|
"version": "8.20.0",
|
|
190
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
190
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0|ajv@8.20.0",
|
|
191
191
|
"licenses": [
|
|
192
192
|
{
|
|
193
193
|
"license": {
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
"type": "library",
|
|
222
222
|
"name": "fast-deep-equal",
|
|
223
223
|
"version": "3.1.3",
|
|
224
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
224
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0|fast-deep-equal@3.1.3",
|
|
225
225
|
"licenses": [
|
|
226
226
|
{
|
|
227
227
|
"license": {
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
"type": "library",
|
|
256
256
|
"name": "fast-uri",
|
|
257
257
|
"version": "3.1.8",
|
|
258
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
258
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0|fast-uri@3.1.8",
|
|
259
259
|
"licenses": [
|
|
260
260
|
{
|
|
261
261
|
"license": {
|
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
"type": "library",
|
|
290
290
|
"name": "json-schema-traverse",
|
|
291
291
|
"version": "1.0.0",
|
|
292
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
292
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0|json-schema-traverse@1.0.0",
|
|
293
293
|
"licenses": [
|
|
294
294
|
{
|
|
295
295
|
"license": {
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
"type": "library",
|
|
324
324
|
"name": "require-from-string",
|
|
325
325
|
"version": "2.0.2",
|
|
326
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
326
|
+
"bom-ref": "@rathnasgala2/schemas@3.12.0|require-from-string@2.0.2",
|
|
327
327
|
"licenses": [
|
|
328
328
|
{
|
|
329
329
|
"license": {
|
|
@@ -1064,10 +1064,10 @@
|
|
|
1064
1064
|
],
|
|
1065
1065
|
"dependencies": [
|
|
1066
1066
|
{
|
|
1067
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1067
|
+
"ref": "@rathnasgala2/schemas@3.12.0",
|
|
1068
1068
|
"dependsOn": [
|
|
1069
|
-
"@rathnasgala2/schemas@3.
|
|
1070
|
-
"@rathnasgala2/schemas@3.
|
|
1069
|
+
"@rathnasgala2/schemas@3.12.0|ajv-formats@3.0.1",
|
|
1070
|
+
"@rathnasgala2/schemas@3.12.0|ajv@8.20.0",
|
|
1071
1071
|
"pkg:npm/semver@7.8.5",
|
|
1072
1072
|
"urn:gala:source-data:iana-ipv4-special-registry",
|
|
1073
1073
|
"urn:gala:source-data:iana-ipv6-special-registry",
|
|
@@ -1089,31 +1089,31 @@
|
|
|
1089
1089
|
]
|
|
1090
1090
|
},
|
|
1091
1091
|
{
|
|
1092
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1092
|
+
"ref": "@rathnasgala2/schemas@3.12.0|ajv-formats@3.0.1",
|
|
1093
1093
|
"dependsOn": [
|
|
1094
|
-
"@rathnasgala2/schemas@3.
|
|
1094
|
+
"@rathnasgala2/schemas@3.12.0|ajv@8.20.0"
|
|
1095
1095
|
]
|
|
1096
1096
|
},
|
|
1097
1097
|
{
|
|
1098
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1098
|
+
"ref": "@rathnasgala2/schemas@3.12.0|ajv@8.20.0",
|
|
1099
1099
|
"dependsOn": [
|
|
1100
|
-
"@rathnasgala2/schemas@3.
|
|
1101
|
-
"@rathnasgala2/schemas@3.
|
|
1102
|
-
"@rathnasgala2/schemas@3.
|
|
1103
|
-
"@rathnasgala2/schemas@3.
|
|
1100
|
+
"@rathnasgala2/schemas@3.12.0|fast-deep-equal@3.1.3",
|
|
1101
|
+
"@rathnasgala2/schemas@3.12.0|fast-uri@3.1.8",
|
|
1102
|
+
"@rathnasgala2/schemas@3.12.0|json-schema-traverse@1.0.0",
|
|
1103
|
+
"@rathnasgala2/schemas@3.12.0|require-from-string@2.0.2"
|
|
1104
1104
|
]
|
|
1105
1105
|
},
|
|
1106
1106
|
{
|
|
1107
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1107
|
+
"ref": "@rathnasgala2/schemas@3.12.0|fast-deep-equal@3.1.3"
|
|
1108
1108
|
},
|
|
1109
1109
|
{
|
|
1110
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1110
|
+
"ref": "@rathnasgala2/schemas@3.12.0|fast-uri@3.1.8"
|
|
1111
1111
|
},
|
|
1112
1112
|
{
|
|
1113
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1113
|
+
"ref": "@rathnasgala2/schemas@3.12.0|json-schema-traverse@1.0.0"
|
|
1114
1114
|
},
|
|
1115
1115
|
{
|
|
1116
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1116
|
+
"ref": "@rathnasgala2/schemas@3.12.0|require-from-string@2.0.2"
|
|
1117
1117
|
},
|
|
1118
1118
|
{
|
|
1119
1119
|
"ref": "pkg:npm/semver@7.8.5"
|
|
@@ -867,7 +867,8 @@
|
|
|
867
867
|
"maxItems": 32,
|
|
868
868
|
"uniqueItems": true
|
|
869
869
|
},
|
|
870
|
-
"edition": { "$ref": "#/$defs/contentEdition" }
|
|
870
|
+
"edition": { "$ref": "#/$defs/contentEdition" },
|
|
871
|
+
"seo": { "$ref": "#/$defs/contentSeo" }
|
|
871
872
|
},
|
|
872
873
|
"additionalProperties": false,
|
|
873
874
|
"dependentRequired": { "seriesOrder": ["series"] },
|
|
@@ -905,6 +906,24 @@
|
|
|
905
906
|
"additionalProperties": false,
|
|
906
907
|
"description": "Prism edition of the article whose slug is `of`. `sourceDigest` is the digest of that article body the edition was generated from; an edition whose `sourceDigest` differs from the current article body digest is stale and is not rendered."
|
|
907
908
|
},
|
|
909
|
+
"contentSeo": {
|
|
910
|
+
"type": "object",
|
|
911
|
+
"required": [],
|
|
912
|
+
"properties": {
|
|
913
|
+
"title": {
|
|
914
|
+
"$ref": "#/$defs/plainText",
|
|
915
|
+
"x-gala-graphemeLength": { "minimum": 1, "maximum": 70 }
|
|
916
|
+
},
|
|
917
|
+
"description": {
|
|
918
|
+
"$ref": "#/$defs/plainText",
|
|
919
|
+
"x-gala-graphemeLength": { "minimum": 1, "maximum": 300 }
|
|
920
|
+
},
|
|
921
|
+
"canonicalUrl": { "$ref": "#/$defs/urlHttps" },
|
|
922
|
+
"noindex": { "type": "boolean" }
|
|
923
|
+
},
|
|
924
|
+
"additionalProperties": false,
|
|
925
|
+
"description": "SCHEMA-3.12.0: optional search overrides for one document. `title` replaces the page title in search results (the site suffix is still appended on non-home pages), `description` replaces the search description, `canonicalUrl` is an absolute HTTPS canonical for syndicated or moved content, and `noindex: true` keeps a listed document out of search engines. Every member is optional; absent members fall back to the document's own title and description."
|
|
926
|
+
},
|
|
908
927
|
"contentBuildMediaFile": {
|
|
909
928
|
"type": "object",
|
|
910
929
|
"required": ["path", "sourceDigest", "mediaType", "byteLength"],
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"newsletter": { "enum": ["ineligible", "eligible"] },
|
|
66
66
|
"edition": { "$ref": "#/$defs/contentEdition" },
|
|
67
|
+
"seo": { "$ref": "#/$defs/contentSeo" },
|
|
67
68
|
"extensions": { "$ref": "#/$defs/extensionMap" }
|
|
68
69
|
},
|
|
69
70
|
"additionalProperties": false,
|
|
@@ -233,6 +234,24 @@
|
|
|
233
234
|
"additionalProperties": false,
|
|
234
235
|
"description": "Prism edition of the article whose slug is `of`. `sourceDigest` is the digest of that article body the edition was generated from; an edition whose `sourceDigest` differs from the current article body digest is stale and is not rendered."
|
|
235
236
|
},
|
|
237
|
+
"contentSeo": {
|
|
238
|
+
"type": "object",
|
|
239
|
+
"required": [],
|
|
240
|
+
"properties": {
|
|
241
|
+
"title": {
|
|
242
|
+
"$ref": "#/$defs/plainText",
|
|
243
|
+
"x-gala-graphemeLength": { "minimum": 1, "maximum": 70 }
|
|
244
|
+
},
|
|
245
|
+
"description": {
|
|
246
|
+
"$ref": "#/$defs/plainText",
|
|
247
|
+
"x-gala-graphemeLength": { "minimum": 1, "maximum": 300 }
|
|
248
|
+
},
|
|
249
|
+
"canonicalUrl": { "$ref": "#/$defs/urlHttps" },
|
|
250
|
+
"noindex": { "type": "boolean" }
|
|
251
|
+
},
|
|
252
|
+
"additionalProperties": false,
|
|
253
|
+
"description": "SCHEMA-3.12.0: optional search overrides for one document. `title` replaces the page title in search results (the site suffix is still appended on non-home pages), `description` replaces the search description, `canonicalUrl` is an absolute HTTPS canonical for syndicated or moved content, and `noindex: true` keeps a listed document out of search engines. Every member is optional; absent members fall back to the document's own title and description."
|
|
254
|
+
},
|
|
236
255
|
"extensionMap": {
|
|
237
256
|
"type": "object",
|
|
238
257
|
"maxProperties": 32,
|