Skip to content

Commit 9cfd745

Browse files
BoDonkeyboutell
andauthored
Moves JSON-LD changes from old repo to new repo (#5206)
* Moves JSON-LD changes from old repo to new repo * package.json changes for monorepo * Adds back the seo module for tests * Blog to workspace * Revert CHANGELOG * Adds changeset to repo and changes for current code updates * remove changeset from repo * Add proper changeset * Fixes patch level --------- Co-authored-by: Tom Boutell <tom@apostrophecms.com>
1 parent f0f278c commit 9cfd745

File tree

26 files changed

+11599
-285
lines changed

26 files changed

+11599
-285
lines changed

.changeset/giant-moles-check.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
"@apostrophecms/seo": minor
3+
---
4+
5+
- Adds Structured data and the related fields to page and piece types.
6+
- Adds basic organization information to all pages.
7+
- Adds unit tests.
8+
An empty message aborts the editor.

packages/seo/README.md

Lines changed: 1677 additions & 101 deletions
Large diffs are not rendered by default.

packages/seo/i18n/de.json

Lines changed: 376 additions & 24 deletions
Large diffs are not rendered by default.

packages/seo/i18n/en.json

Lines changed: 376 additions & 25 deletions
Large diffs are not rendered by default.

packages/seo/i18n/es.json

Lines changed: 377 additions & 25 deletions
Large diffs are not rendered by default.

packages/seo/i18n/fr.json

Lines changed: 376 additions & 24 deletions
Large diffs are not rendered by default.

packages/seo/i18n/it.json

Lines changed: 375 additions & 23 deletions
Large diffs are not rendered by default.

packages/seo/i18n/pt-BR.json

Lines changed: 375 additions & 24 deletions
Large diffs are not rendered by default.

packages/seo/i18n/sk.json

Lines changed: 377 additions & 25 deletions
Large diffs are not rendered by default.

packages/seo/index.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,29 @@ module.exports = {
2121
self.appendNodes('head', 'tagManagerHead');
2222
self.prependNodes('body', 'tagManagerBody');
2323
},
24-
methods(self) {
24+
methods(self, options) {
2525
return {
2626
metaHead(req) {
27-
return getMetaHead(req.data);
27+
return getMetaHead(req.data, options);
2828
},
2929
tagManagerHead(req) {
3030
return getTagManagerHead(req.data);
3131
},
3232
tagManagerBody(req) {
3333
return getTagManagerBody(req.data);
34+
},
35+
// Register a custom JSON-LD schema generator
36+
// schemaType: string - the schema type name (e.g., 'Book', 'SoftwareApplication')
37+
// schemaGenerator: function(data) - function that returns a schema object or null
38+
registerSchema(schemaType, schemaGenerator) {
39+
if (!self.customSchemas) {
40+
self.customSchemas = {};
41+
}
42+
self.customSchemas[schemaType] = schemaGenerator;
43+
},
44+
// Get all registered custom schemas
45+
getCustomSchemas() {
46+
return self.customSchemas || {};
3447
}
3548
};
3649
}

0 commit comments

Comments
 (0)