From b5724aff043acbb5f0eecf8ef263b208ecbd7ac8 Mon Sep 17 00:00:00 2001 From: Ryan Welcher Date: Mon, 22 Nov 2021 13:28:53 -0500 Subject: [PATCH 1/5] Separate out all settings properties by section. --- schemas/json/theme.json | 558 +++++++++++++++++++++------------------- 1 file changed, 295 insertions(+), 263 deletions(-) diff --git a/schemas/json/theme.json b/schemas/json/theme.json index c10b50e4ee2f19..5b5d33c6ec2f96 100644 --- a/schemas/json/theme.json +++ b/schemas/json/theme.json @@ -7,7 +7,7 @@ "createTheme": "https://developer.wordpress.org/block-editor/how-to-guides/themes/create-block-theme/", "reference": "https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/" }, - "settingsProperties": { + "settingsPropertiesBorder": { "properties": { "appearanceTools": { "description": "Setting that enables the following UI tools:\n\n- border: color, radius, style, width\n- color: link\n- spacing: blockGap, margin, padding\n- typography: lineHeight", @@ -40,7 +40,11 @@ } }, "additionalProperties": false - }, + } + } + }, + "settingsPropertiesColor": { + "properties": { "color": { "description": "Settings related to colors.", "type": "object", @@ -160,7 +164,12 @@ } }, "additionalProperties": false - }, + } + + } + }, + "settingsPropertiesLayout": { + "properties": { "layout": { "description": "Settings related to layout.", "type": "object", @@ -175,7 +184,12 @@ } }, "additionalProperties": false - }, + } + } + }, + + "settingsPropertiesSpacing":{ + "properties": { "spacing": { "description": "Settings related to spacing.", "type": "object", @@ -208,7 +222,11 @@ } }, "additionalProperties": false - }, + } + } + }, + "settingsPropertiesTypography":{ + "properties": { "typography": { "description": "Settings related to typography.", "type": "object", @@ -299,13 +317,27 @@ } }, "additionalProperties": false - }, + } + } + }, + "settingsPropertiesCustom": { + "properties": { "custom": { "description": "Generate custom CSS custom properties of the form `--wp--custom--{key}--{nested-key}: {value};`. `camelCased` keys are transformed to `kebab-case` as to follow the CSS property naming schema. Keys at different depth levels are separated by `--`, so keys should not include `--` in the name.", "$ref": "#/definitions/settingsCustomAdditionalProperties" } } }, + "settingsProperties": { + "allOf":[ + { "$ref": "#/definitions/settingsPropertiesBorder" }, + { "$ref": "#/definitions/settingsPropertiesColor" }, + { "$ref": "#/definitions/settingsPropertiesLayout" }, + { "$ref": "#/definitions/settingsPropertiesSpacing" }, + { "$ref": "#/definitions/settingsPropertiesTypography" }, + { "$ref": "#/definitions/settingsPropertiesCustom" } + ] + }, "settingsPropertiesComplete": { "type": "object", "allOf": [ @@ -327,263 +359,263 @@ }, "settingsBlocksPropertiesComplete": { "type": "object", - "properties": { - "core/archives": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/audio": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/block": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/button": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/buttons": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/calendar": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/categories": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/code": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/column": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/columns": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-author-name": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-author-avatar": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-content": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-date": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-edit-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-reply-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-template": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comments-query-loop": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/cover": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/embed": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/file": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/freeform": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/gallery": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/group": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/heading": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/home-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/html": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/image": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/latest-comments": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/latest-posts": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/list": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/loginout": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/media-text": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/missing": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/more": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/navigation": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/navigation-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/nextpage": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/page-list": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/paragraph": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-author": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments-count": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments-form": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-content": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-date": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-excerpt": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-featured-image": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-navigation-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-template": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-terms": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-title": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/preformatted": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/pullquote": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination-next": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination-numbers": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination-previous": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-title": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/quote": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/rss": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/search": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/separator": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/shortcode": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/site-logo": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/site-tagline": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/site-title": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/social-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/social-links": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/spacer": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/table": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/table-of-contents": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/tag-cloud": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/template-part": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/term-description": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/text-columns": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/verse": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/video": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/widget-area": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/legacy-widget": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/widget-group": { - "$ref": "#/definitions/settingsPropertiesComplete" - } - }, - "patternProperties": { - "^[a-z][a-z0-9-]*/[a-z][a-z0-9-]*$": { - "$ref": "#/definitions/settingsPropertiesComplete" - } - }, - "additionalProperties": false + "properties": { + "core/archives": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/audio": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/block": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/button": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/buttons": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/calendar": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/categories": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/code": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/column": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/columns": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-author-name": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-author-avatar": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-content": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-date": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-edit-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-reply-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-template": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comments-query-loop": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/cover": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/embed": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/file": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/freeform": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/gallery": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/group": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/heading": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/home-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/html": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/image": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/latest-comments": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/latest-posts": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/list": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/loginout": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/media-text": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/missing": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/more": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/navigation": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/navigation-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/nextpage": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/page-list": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/paragraph": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-author": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments-count": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments-form": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-content": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-date": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-excerpt": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-featured-image": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-navigation-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-template": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-terms": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-title": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/preformatted": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/pullquote": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination-next": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination-numbers": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination-previous": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-title": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/quote": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/rss": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/search": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/separator": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/shortcode": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/site-logo": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/site-tagline": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/site-title": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/social-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/social-links": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/spacer": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/table": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/table-of-contents": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/tag-cloud": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/template-part": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/term-description": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/text-columns": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/verse": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/video": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/widget-area": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/legacy-widget": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/widget-group": { + "$ref": "#/definitions/settingsPropertiesComplete" + } + }, + "patternProperties": { + "^[a-z][a-z0-9-]*\/[a-z][a-z0-9-]*$": { + "$ref": "#/definitions/settingsPropertiesComplete" + } + }, + "additionalProperties": false }, "settingsCustomAdditionalProperties": { "type": "object", From f8dd8ed8fc25e16d996c91ddf2d9c4fd2999d8a9 Mon Sep 17 00:00:00 2001 From: Ryan Welcher Date: Mon, 22 Nov 2021 13:30:55 -0500 Subject: [PATCH 2/5] Remove "allOf" for settingsBlocksPropertiesComplete to allow us to override indivdual block settings. --- schemas/json/theme.json | 514 ++++++++++++++++++++-------------------- 1 file changed, 257 insertions(+), 257 deletions(-) diff --git a/schemas/json/theme.json b/schemas/json/theme.json index 5b5d33c6ec2f96..04c346fc8ea971 100644 --- a/schemas/json/theme.json +++ b/schemas/json/theme.json @@ -359,263 +359,263 @@ }, "settingsBlocksPropertiesComplete": { "type": "object", - "properties": { - "core/archives": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/audio": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/block": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/button": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/buttons": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/calendar": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/categories": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/code": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/column": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/columns": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-author-name": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-author-avatar": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-content": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-date": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-edit-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-reply-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comment-template": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/comments-query-loop": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/cover": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/embed": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/file": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/freeform": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/gallery": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/group": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/heading": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/home-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/html": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/image": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/latest-comments": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/latest-posts": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/list": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/loginout": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/media-text": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/missing": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/more": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/navigation": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/navigation-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/nextpage": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/page-list": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/paragraph": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-author": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments-count": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments-form": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-comments-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-content": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-date": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-excerpt": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-featured-image": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-navigation-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-template": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-terms": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/post-title": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/preformatted": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/pullquote": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination-next": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination-numbers": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-pagination-previous": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/query-title": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/quote": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/rss": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/search": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/separator": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/shortcode": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/site-logo": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/site-tagline": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/site-title": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/social-link": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/social-links": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/spacer": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/table": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/table-of-contents": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/tag-cloud": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/template-part": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/term-description": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/text-columns": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/verse": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/video": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/widget-area": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/legacy-widget": { - "$ref": "#/definitions/settingsPropertiesComplete" - }, - "core/widget-group": { - "$ref": "#/definitions/settingsPropertiesComplete" - } - }, - "patternProperties": { - "^[a-z][a-z0-9-]*\/[a-z][a-z0-9-]*$": { - "$ref": "#/definitions/settingsPropertiesComplete" - } - }, - "additionalProperties": false + "properties": { + "core/archives": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/audio": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/block": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/button": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/buttons": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/calendar": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/categories": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/code": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/column": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/columns": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-author-name": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-author-avatar": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-content": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-date": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-edit-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-reply-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comment-template": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/comments-query-loop": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/cover": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/embed": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/file": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/freeform": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/gallery": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/group": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/heading": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/home-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/html": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/image": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/latest-comments": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/latest-posts": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/list": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/loginout": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/media-text": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/missing": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/more": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/navigation": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/navigation-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/nextpage": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/page-list": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/paragraph": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-author": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments-count": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments-form": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-comments-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-content": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-date": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-excerpt": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-featured-image": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-navigation-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-template": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-terms": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/post-title": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/preformatted": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/pullquote": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination-next": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination-numbers": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-pagination-previous": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/query-title": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/quote": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/rss": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/search": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/separator": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/shortcode": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/site-logo": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/site-tagline": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/site-title": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/social-link": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/social-links": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/spacer": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/table": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/table-of-contents": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/tag-cloud": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/template-part": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/term-description": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/text-columns": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/verse": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/video": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/widget-area": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/legacy-widget": { + "$ref": "#/definitions/settingsPropertiesComplete" + }, + "core/widget-group": { + "$ref": "#/definitions/settingsPropertiesComplete" + } + }, + "patternProperties": { + "^[a-z][a-z0-9-]*\/[a-z][a-z0-9-]*$": { + "$ref": "#/definitions/settingsPropertiesComplete" + } + }, + "additionalProperties": false }, "settingsCustomAdditionalProperties": { "type": "object", From a7db6abaa6becf299c6f3d7a6180c24523aaceff Mon Sep 17 00:00:00 2001 From: Ryan Welcher Date: Mon, 22 Nov 2021 13:34:57 -0500 Subject: [PATCH 3/5] Add entry for core/button. --- schemas/json/theme.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/schemas/json/theme.json b/schemas/json/theme.json index 04c346fc8ea971..32b831689b30a4 100644 --- a/schemas/json/theme.json +++ b/schemas/json/theme.json @@ -370,7 +370,28 @@ "$ref": "#/definitions/settingsPropertiesComplete" }, "core/button": { - "$ref": "#/definitions/settingsPropertiesComplete" + "allOf":[ + { + "properties": { + "border": { + "description": "Settings related to borders.\nGutenberg plugin required.", + "type": "object", + "properties": { + "radius": { + "description": "Allow users to set custom border radius.\nGutenberg plugin required.", + "type": "boolean", + "default": false + } + } + } + } + }, + { "$ref": "#/definitions/settingsPropertiesColor" }, + { "$ref": "#/definitions/settingsPropertiesLayout" }, + { "$ref": "#/definitions/settingsPropertiesSpacing" }, + { "$ref": "#/definitions/settingsPropertiesTypography" }, + { "$ref": "#/definitions/settingsPropertiesCustom" } + ] }, "core/buttons": { "$ref": "#/definitions/settingsPropertiesComplete" From 02e60d09fd1efaa9b107e5d273e596e41b1e0091 Mon Sep 17 00:00:00 2001 From: Ryan Welcher Date: Wed, 5 Jan 2022 09:53:34 -0500 Subject: [PATCH 4/5] Run docs:build. --- docs/reference-guides/theme-json-reference.md | 95 ------------------- 1 file changed, 95 deletions(-) diff --git a/docs/reference-guides/theme-json-reference.md b/docs/reference-guides/theme-json-reference.md index b7e84eacb134fc..865e419a9fd99d 100644 --- a/docs/reference-guides/theme-json-reference.md +++ b/docs/reference-guides/theme-json-reference.md @@ -5,101 +5,6 @@ This reference guide lists the settings and style properties defined in the them ## Settings - -### appearanceTools - -Setting that enables the following UI tools: - -- border: color, radius, style, width -- color: link -- spacing: blockGap, margin, padding -- typography: lineHeight - - ---- - -### border - -Settings related to borders. - -| Property | Type | Default | Props | -| --- | --- | --- |--- | -| color | boolean | false | | -| radius | boolean | false | | -| style | boolean | false | | -| width | boolean | false | | - ---- - -### color - -Settings related to colors. - -| Property | Type | Default | Props | -| --- | --- | --- |--- | -| background | boolean | true | | -| custom | boolean | true | | -| customDuotone | boolean | true | | -| customGradient | boolean | true | | -| defaultGradients | boolean | true | | -| defaultPalette | boolean | true | | -| duotone | array | | colors, name, slug | -| gradients | array | | gradient, name, slug | -| link | boolean | false | | -| palette | array | | color, name, slug | -| text | boolean | true | | - ---- - -### layout - -Settings related to layout. - -| Property | Type | Default | Props | -| --- | --- | --- |--- | -| contentSize | string | | | -| wideSize | string | | | - ---- - -### spacing - -Settings related to spacing. - -| Property | Type | Default | Props | -| --- | --- | --- |--- | -| blockGap | undefined | null | | -| margin | boolean | false | | -| padding | boolean | false | | -| units | array | px,em,rem,vh,vw,% | | - ---- - -### typography - -Settings related to typography. - -| Property | Type | Default | Props | -| --- | --- | --- |--- | -| customFontSize | boolean | true | | -| fontStyle | boolean | true | | -| fontWeight | boolean | true | | -| letterSpacing | boolean | true | | -| lineHeight | boolean | false | | -| textDecoration | boolean | true | | -| textTransform | boolean | true | | -| dropCap | boolean | true | | -| fontSizes | array | | name, size, slug | -| fontFamilies | array | | fontFamily, name, slug | - ---- - -### custom - -Generate custom CSS custom properties of the form `--wp--custom--{key}--{nested-key}: {value};`. `camelCased` keys are transformed to `kebab-case` as to follow the CSS property naming schema. Keys at different depth levels are separated by `--`, so keys should not include `--` in the name. - - ---- ## Styles From 396d9cf655bebb16d4359f8b0e853f9ddacfe0fb Mon Sep 17 00:00:00 2001 From: Alex Lende Date: Wed, 5 Jan 2022 13:11:19 -0600 Subject: [PATCH 5/5] Update theme docgen for new theme.json structure --- bin/api-docs/gen-theme-reference.js | 10 +- docs/reference-guides/theme-json-reference.md | 95 +++++++++++++++++++ 2 files changed, 104 insertions(+), 1 deletion(-) diff --git a/bin/api-docs/gen-theme-reference.js b/bin/api-docs/gen-theme-reference.js index 2584b1fea2fc86..09c1d36802036f 100644 --- a/bin/api-docs/gen-theme-reference.js +++ b/bin/api-docs/gen-theme-reference.js @@ -148,7 +148,15 @@ ${ markupFn( data ) } let autogen = ''; // Settings -const settings = themejson.definitions.settingsProperties.properties; +const settings = Object.entries( themejson.definitions ) + .filter( ( [ settingsKey ] ) => + /^settingsProperties(?!Complete)\w+$/.test( settingsKey ) + ) + .reduce( + ( settingsObj, [ , { properties } ] ) => + Object.assign( settingsObj, properties ), + {} + ); const settingSections = keys( settings ); autogen += '## Settings' + '\n\n'; settingSections.forEach( ( section ) => { diff --git a/docs/reference-guides/theme-json-reference.md b/docs/reference-guides/theme-json-reference.md index 865e419a9fd99d..b7e84eacb134fc 100644 --- a/docs/reference-guides/theme-json-reference.md +++ b/docs/reference-guides/theme-json-reference.md @@ -5,6 +5,101 @@ This reference guide lists the settings and style properties defined in the them ## Settings + +### appearanceTools + +Setting that enables the following UI tools: + +- border: color, radius, style, width +- color: link +- spacing: blockGap, margin, padding +- typography: lineHeight + + +--- + +### border + +Settings related to borders. + +| Property | Type | Default | Props | +| --- | --- | --- |--- | +| color | boolean | false | | +| radius | boolean | false | | +| style | boolean | false | | +| width | boolean | false | | + +--- + +### color + +Settings related to colors. + +| Property | Type | Default | Props | +| --- | --- | --- |--- | +| background | boolean | true | | +| custom | boolean | true | | +| customDuotone | boolean | true | | +| customGradient | boolean | true | | +| defaultGradients | boolean | true | | +| defaultPalette | boolean | true | | +| duotone | array | | colors, name, slug | +| gradients | array | | gradient, name, slug | +| link | boolean | false | | +| palette | array | | color, name, slug | +| text | boolean | true | | + +--- + +### layout + +Settings related to layout. + +| Property | Type | Default | Props | +| --- | --- | --- |--- | +| contentSize | string | | | +| wideSize | string | | | + +--- + +### spacing + +Settings related to spacing. + +| Property | Type | Default | Props | +| --- | --- | --- |--- | +| blockGap | undefined | null | | +| margin | boolean | false | | +| padding | boolean | false | | +| units | array | px,em,rem,vh,vw,% | | + +--- + +### typography + +Settings related to typography. + +| Property | Type | Default | Props | +| --- | --- | --- |--- | +| customFontSize | boolean | true | | +| fontStyle | boolean | true | | +| fontWeight | boolean | true | | +| letterSpacing | boolean | true | | +| lineHeight | boolean | false | | +| textDecoration | boolean | true | | +| textTransform | boolean | true | | +| dropCap | boolean | true | | +| fontSizes | array | | name, size, slug | +| fontFamilies | array | | fontFamily, name, slug | + +--- + +### custom + +Generate custom CSS custom properties of the form `--wp--custom--{key}--{nested-key}: {value};`. `camelCased` keys are transformed to `kebab-case` as to follow the CSS property naming schema. Keys at different depth levels are separated by `--`, so keys should not include `--` in the name. + + +--- ## Styles