{"action":"created","comment":{"url":"https://api.github.com/repos/WordPress/gutenberg/pulls/comments/235139873","pull_request_review_id":176938094,"id":235139873,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNTEzOTg3Mw==","diff_hunk":"@@ -304,3 +304,235 @@ function gutenberg_warn_classic_about_blocks() {\n \t\t</script>\n \t<?php\n }\n+\n+/**\n+ * Add 'actual_size' to the prepared attachment data for the Media Library.\n+ *\n+ * Needed as `wp_prepare_attachment_for_js()` (for the media modal) constrains the image sizes\n+ * to the theme's `$content_width`.\n+ *\n+ * @param array   $response   Array of prepared attachment data.\n+ * @param WP_Post $attachment Attachment object.\n+ * @param array   $meta       Array of attachment meta data.\n+ * @return array Array of prepared attachment data.\n+ */\n+function gutenberg_prepare_attachment_for_js( $response, $attachment, $meta ) {\n+\tif ( ! empty( $response['type'] ) && $response['type'] === 'image' && ! empty( $response['sizes'] ) ) {\n+\t\tforeach ( $response['sizes'] as $size_name => $size ) {\n+\t\t\tif ( array_key_exists( $size_name, $meta['sizes'] ) ) {\n+\t\t\t\t$response['sizes'][ $size_name ]['actual_size'] = array(\n+\t\t\t\t\t'width' => (int) $meta['sizes'][ $size_name ]['width'],\n+\t\t\t\t\t'height' => (int) $meta['sizes'][ $size_name ]['height'],\n+\t\t\t\t);\n+\t\t\t}\n+\t\t}\n+\t}\n+\n+\treturn $response;\n+}\n+add_filter( 'wp_prepare_attachment_for_js', 'gutenberg_prepare_attachment_for_js', 10, 3 );\n+\n+/**\n+ * Warm the object cache with post and meta information for all found\n+ * image blocks to avoid making individual database calls\n+ * (similarly to `wp_make_content_images_responsive()`).\n+ *\n+ * @access private\n+ * @since 4.x.x\n+ *\n+ * @param string $content The post content.\n+ * @return string $content Unchanged post content.\n+ */\n+function _gutenberg_cache_images_meta( $content ) {\n+\t// Need to find all image blocks and get the attachment IDs from them BEFORE the parser is run\n+\t// so we can get the image attachments meta all at once from the DB.\n+\tif ( preg_match_all( '/^<!-- wp:image {.*\"id\":(\\d+),.*} -->$/m', $content, $matches ) ) {\n+\t\t_prime_post_caches( $matches[1], false, true );\n+\t}\n+\n+\treturn $content;\n+}\n+\n+// Run before blocks are parsed.\n+add_filter( 'the_content', '_gutenberg_cache_images_meta', 3 );\n+\n+/**\n+ * Calculates the image width and height based on $block_witdh and the `editWidth` block attribute.\n+ *\n+ * @since 4.x.x\n+ *\n+ * @param array $block_attributes The block attributes.\n+ * @param array $image_meta Optional. The image attachment meta data.\n+ * @return array|bool An array of the image width and height, in that order, or false if the image data is missing from $block_attributes.\n+ */\n+function gutenberg_get_image_width_height( $block_attributes, $image_meta = null ) {\n+\tif ( ! empty( $block_attributes['width'] ) && ! empty( $block_attributes['height'] ) ) {\n+\t\t// The image was resized.\n+\t\t$image_dimensions = array(\n+\t\t\t$block_attributes['width'],\n+\t\t\t$block_attributes['height'],\n+\t\t);\n+\n+\t\t/*\n+\t\t * Here we can use `$block_attributes['editWidth']` to scale the image\n+\t\t * if we know the theme's \"expected width\" (in pixels).\n+\t\t *\n+\t\t * Note that if the `$block_attributes['userSet']` is set/true, the user has entered\n+\t\t * the width and height by hand, they shouldn't probably be changed.\n+\t\t *\n+\t\t * Something like:\n+\t\t *\tif ( empty( $block_attributes['userSet'] ) && ! empty( $block_attributes['editWidth'] ) && $content_width <> $block_attributes['editWidth'] ) {\n+\t\t *\t\t// Scale the image if the block width in the editor was different than the current theme width.\n+\t\t *\t\t$scale = $content_width / $block_attributes['editWidth'];\n+\t\t *\t\t$image_width = round( $block_attributes['width'] * $scale );\n+\t\t *\t}\n+\t\t *\t$image_dimensions = wp_constrain_dimensions( $image_file_width, $image_file_height, $image_width );\n+\t\t */\n+\t} elseif ( ! empty( $block_attributes['fileWidth'] ) && ! empty( $block_attributes['fileHeight'] ) ) {\n+\t\t$image_dimensions = array(\n+\t\t\t$block_attributes['fileWidth'],\n+\t\t\t$block_attributes['fileHeight'],\n+\t\t);\n+\t} else {\n+\t\treturn false;\n+\t}\n+\n+\t/*\n+\t * Do not constrain images with \"wide\" and \"full\" allignment to the \"large\" image size.\n+\t * TODO: To reduce (fix) the need for upscaling or using the \"full\" size images\n+\t * add \"xlarge\" image size generated by default!\n+\t */\n+\tif ( ! empty( $image_meta ) &&\n+\t\t( $block_attributes['align'] === 'wide' || $block_attributes['align'] === 'full' ) &&\n+\t\t! empty( $block_attributes['fileWidth'] ) &&\n+\t\t$block_attributes['fileWidth'] < $image_meta['width'] &&\n+\t\tmax( (int) $image_meta['width'], (int) $image_meta['height'] ) < 4300 && // max 12 MP photo (that's still may be over 3MB, consider reducing).\n+\t\t! empty( $image_meta['sizes']['large'] ) &&\n+\t\t$block_attributes['fileWidth'] === (int) $image_meta['sizes']['large']['width'] &&\n+\t\twp_image_matches_ratio( $block_attributes['fileWidth'], $block_attributes['fileHeight'], $image_meta['width'], $image_meta['height'] )\n+\t) {\n+\t\t$image_dimensions = array(\n+\t\t\t$image_meta['width'],\n+\t\t\t$image_meta['height'],\n+\t\t);\n+\t}\n+\n+\t/**\n+\t * Filters the image size for the image block.\n+\t *\n+\t * @since 4.x.x\n+\t *\n+\t * @param array $image_size The calculated image size width and height (in that order).\n+\t * @param array $block_attributes The block attributes.\n+\t * @param array $image_meta The image attachment meta data.\n+\t */\n+\treturn apply_filters( 'block_core_image_get_width_height', $image_dimensions, $block_attributes, $image_meta );\n+}\n+\n+function gutenberg_render_block_core_image( $html, $block ) {\n+\t\t// Old post or... something's wrong.\n+\tif ( empty( $html ) || empty( $block['attrs'] ) ) {\n+\t\treturn $html;\n+\t}\n+\n+\t$defaults = array(\n+\t\t'url' => '',\n+\t\t'alt' => '',\n+\t\t'id' => 0,\n+\t\t'align' => '',\n+\t);\n+\n+\t$block_attributes = wp_parse_args( $block['attrs'], $defaults );\n+\n+\tif ( empty( $block_attributes['url'] ) ) {\n+\t\t// We don't have enough data to construct new img tag. Fall back to the existing HTML.\n+\t\treturn $html;\n+\t}\n+\n+\tif ( ! empty( $block_attributes['id'] ) ) {\n+\t\t$attachment_id = (int) $block_attributes['id'];\n+\t\t$image_meta = wp_get_attachment_metadata( $attachment_id );\n+\t} else {\n+\t\t$image_meta = null;\n+\t\t$attachment_id = 0;\n+\t}\n+\n+\t$image_dimensions = gutenberg_get_image_width_height( $block_attributes, $image_meta );\n+\t$image_src = '';\n+\t$srcset = '';\n+\t$sizes = '';\n+\n+\tif ( empty( $image_dimensions ) ) {\n+\t\t// We don't have enough data to construct new img tag. Fall back to the existing HTML.\n+\t\treturn $html;\n+\t}\n+\n+\t$image_src = $block_attributes['url'];\n+\n+\t$image_attributes = array(\n+\t\t'src' => $image_src,\n+\t\t'alt' => empty( $block_attributes['alt'] ) ? '' : $block_attributes['alt'],\n+\t\t'width' => $image_dimensions[0],\n+\t\t'height' => $image_dimensions[1],\n+\t);\n+\n+\tif ( $image_meta ) {\n+\t\t// TODO: pass `$block_attributes` to the filter.\n+\t\t$srcset = wp_calculate_image_srcset( $image_dimensions, $image_src, $image_meta, $attachment_id );\n+\n+\t\tif ( ! empty( $srcset ) ) {\n+\t\t\t// TODO: pass `$block_attributes` to the filter. This will let themes generate better `sizes` attribute.\n+\t\t\t$sizes = wp_calculate_image_sizes( $image_dimensions, $image_src, $image_meta, $attachment_id );\n+\t\t}\n+\n+\t\tif ( $srcset && $sizes ) {\n+\t\t\t$image_attributes['srcset'] = $srcset;\n+\t\t\t$image_attributes['sizes'] = $sizes;\n+\t\t}\n+\t}\n+\n+\t/**\n+\t * Filters the image tag attributes when rendering the core image block.\n+\t *\n+\t * @since 4.x.x\n+\t *\n+\t * @param array $image_attributes The (recalculated) image attributes.\n+\t *                                Note: expects valid HTML 5.0 attribute names.\n+\t * @param array $block_attributes The image block attributes.\n+\t * @param string $html The image block HTML coming from the editor. The img tag will be replaced.\n+\t */\n+\t$image_attributes = apply_filters( 'render_block_core_image_tag_attributes', $image_attributes, $block_attributes, $html );\n+\n+\t$attr = '';\n+\tforeach ( $image_attributes as $name => $value ) {\n+\t\t// Sanitize for valid HTML 5.0 attribute names, see: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes.\n+\t\t$name = preg_replace( '/[^a-z0-9-]+/', '', strtolower( $name ) );","path":"lib/compat.php","position":null,"original_position":206,"commit_id":"4d2d9598581dd113a8df7512b2a417bd762f4486","original_commit_id":"03444d7bdda0d79dcc540d0fbfa5141c2a14de78","user":{"login":"aduth","id":1779930,"node_id":"MDQ6VXNlcjE3Nzk5MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/1779930?v=4","gravatar_id":"","url":"https://api.github.com/users/aduth","html_url":"https://github.com/aduth","followers_url":"https://api.github.com/users/aduth/followers","following_url":"https://api.github.com/users/aduth/following{/other_user}","gists_url":"https://api.github.com/users/aduth/gists{/gist_id}","starred_url":"https://api.github.com/users/aduth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aduth/subscriptions","organizations_url":"https://api.github.com/users/aduth/orgs","repos_url":"https://api.github.com/users/aduth/repos","events_url":"https://api.github.com/users/aduth/events{/privacy}","received_events_url":"https://api.github.com/users/aduth/received_events","type":"User","site_admin":false},"body":"> > The only exception (well, more of a limitation) may be for data-* attribute names\r\n> \r\n> If we want to conform to the HTML spec we can do just that - it's not hard\r\n\r\nSame RegExp exists in `escape-html` as well\r\n\r\nhttps://github.com/WordPress/gutenberg/blob/563ef41c663f163a725c2ef7e961b11ea6981f6e/packages/escape-html/src/index.js#L12","created_at":"2018-11-20T19:30:06Z","updated_at":"2018-11-20T19:30:06Z","html_url":"https://github.com/WordPress/gutenberg/pull/11973#discussion_r235139873","pull_request_url":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/WordPress/gutenberg/pulls/comments/235139873"},"html":{"href":"https://github.com/WordPress/gutenberg/pull/11973#discussion_r235139873"},"pull_request":{"href":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973"}},"in_reply_to_id":234857948},"pull_request":{"url":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973","id":231513025,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxNTEzMDI1","html_url":"https://github.com/WordPress/gutenberg/pull/11973","diff_url":"https://github.com/WordPress/gutenberg/pull/11973.diff","patch_url":"https://github.com/WordPress/gutenberg/pull/11973.patch","issue_url":"https://api.github.com/repos/WordPress/gutenberg/issues/11973","number":11973,"state":"open","locked":false,"title":"Add more data about the image as block props in the image block","user":{"login":"azaozz","id":743931,"node_id":"MDQ6VXNlcjc0MzkzMQ==","avatar_url":"https://avatars0.githubusercontent.com/u/743931?v=4","gravatar_id":"","url":"https://api.github.com/users/azaozz","html_url":"https://github.com/azaozz","followers_url":"https://api.github.com/users/azaozz/followers","following_url":"https://api.github.com/users/azaozz/following{/other_user}","gists_url":"https://api.github.com/users/azaozz/gists{/gist_id}","starred_url":"https://api.github.com/users/azaozz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azaozz/subscriptions","organizations_url":"https://api.github.com/users/azaozz/orgs","repos_url":"https://api.github.com/users/azaozz/repos","events_url":"https://api.github.com/users/azaozz/events{/privacy}","received_events_url":"https://api.github.com/users/azaozz/received_events","type":"User","site_admin":false},"body":"This is the second \"chunk\" split from #11377. It contains:\r\n1. Adds `fileWidth`, `fileHeight`, `editWidth`, `userSet` block attributes. These would allow us to add width and height, and the themes to generate better `sizes` attributes on the front-end.\r\n    - `fileWidth` and `fileHeight` are the image file dimensions at the time when the image was inserted. For \"local\" images they can also be \"extracted\" from the image meta, however there are edge cases where that meta may have changed since the post was published. Also needed for non-resized external images where we don't know the width and height.\r\n     - `editWidth` holds the block width inside the editor at the moment the post was created/edited. Can be used to scale images on the front-end when the block widths don't match (in themes with fluid width or after changing the theme).\r\n      - `userSet` indicated when the user has set the width and height manually. In these cases the theme should (probably) honor the settings when scaling.\r\n2. Fixes the 25, 50, 75, 100% buttons to scale the image relative to the block width. This makes it \"visual\". Works well in combination with `editWidth` when scaling images on the front-end. Also images \"line-up\" when setting them to the same scale.\r\n3. Fixes resizing by dragging to prevent upscaling.\r\n4. Fixes direct input resizing to display values only when they were entered by the user.\r\n5. Makes the image block non-dynamic (compared to #11377) and uses the new `render_block` filter to add attributes to the img tag on the front-end, including `srcset` and `sizes`.\r\n\r\n","created_at":"2018-11-16T12:21:09Z","updated_at":"2018-11-20T19:30:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d8ba38114ad16959e5001859495e42e5c4dbaf0a","assignee":null,"assignees":[],"requested_reviewers":[{"login":"joemcgill","id":801097,"node_id":"MDQ6VXNlcjgwMTA5Nw==","avatar_url":"https://avatars1.githubusercontent.com/u/801097?v=4","gravatar_id":"","url":"https://api.github.com/users/joemcgill","html_url":"https://github.com/joemcgill","followers_url":"https://api.github.com/users/joemcgill/followers","following_url":"https://api.github.com/users/joemcgill/following{/other_user}","gists_url":"https://api.github.com/users/joemcgill/gists{/gist_id}","starred_url":"https://api.github.com/users/joemcgill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joemcgill/subscriptions","organizations_url":"https://api.github.com/users/joemcgill/orgs","repos_url":"https://api.github.com/users/joemcgill/repos","events_url":"https://api.github.com/users/joemcgill/events{/privacy}","received_events_url":"https://api.github.com/users/joemcgill/received_events","type":"User","site_admin":false},{"login":"jasmussen","id":1204802,"node_id":"MDQ6VXNlcjEyMDQ4MDI=","avatar_url":"https://avatars3.githubusercontent.com/u/1204802?v=4","gravatar_id":"","url":"https://api.github.com/users/jasmussen","html_url":"https://github.com/jasmussen","followers_url":"https://api.github.com/users/jasmussen/followers","following_url":"https://api.github.com/users/jasmussen/following{/other_user}","gists_url":"https://api.github.com/users/jasmussen/gists{/gist_id}","starred_url":"https://api.github.com/users/jasmussen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasmussen/subscriptions","organizations_url":"https://api.github.com/users/jasmussen/orgs","repos_url":"https://api.github.com/users/jasmussen/repos","events_url":"https://api.github.com/users/jasmussen/events{/privacy}","received_events_url":"https://api.github.com/users/jasmussen/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1101518360,"node_id":"MDU6TGFiZWwxMTAxNTE4MzYw","url":"https://api.github.com/repos/WordPress/gutenberg/labels/[Block]%20Image","name":"[Block] Image","color":"6767e5","default":false}],"milestone":{"url":"https://api.github.com/repos/WordPress/gutenberg/milestones/77","html_url":"https://github.com/WordPress/gutenberg/milestone/77","labels_url":"https://api.github.com/repos/WordPress/gutenberg/milestones/77/labels","id":3823975,"node_id":"MDk6TWlsZXN0b25lMzgyMzk3NQ==","number":77,"title":"4.5","description":"Last Gutenberg release before WordPress 5.0.","creator":{"login":"youknowriad","id":272444,"node_id":"MDQ6VXNlcjI3MjQ0NA==","avatar_url":"https://avatars3.githubusercontent.com/u/272444?v=4","gravatar_id":"","url":"https://api.github.com/users/youknowriad","html_url":"https://github.com/youknowriad","followers_url":"https://api.github.com/users/youknowriad/followers","following_url":"https://api.github.com/users/youknowriad/following{/other_user}","gists_url":"https://api.github.com/users/youknowriad/gists{/gist_id}","starred_url":"https://api.github.com/users/youknowriad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/youknowriad/subscriptions","organizations_url":"https://api.github.com/users/youknowriad/orgs","repos_url":"https://api.github.com/users/youknowriad/repos","events_url":"https://api.github.com/users/youknowriad/events{/privacy}","received_events_url":"https://api.github.com/users/youknowriad/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":74,"state":"open","created_at":"2018-11-15T10:13:29Z","updated_at":"2018-11-20T17:18:18Z","due_on":"2018-11-19T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973/commits","review_comments_url":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973/comments","review_comment_url":"https://api.github.com/repos/WordPress/gutenberg/pulls/comments{/number}","comments_url":"https://api.github.com/repos/WordPress/gutenberg/issues/11973/comments","statuses_url":"https://api.github.com/repos/WordPress/gutenberg/statuses/4d2d9598581dd113a8df7512b2a417bd762f4486","head":{"label":"WordPress:fix/image-block-add-props","ref":"fix/image-block-add-props","sha":"4d2d9598581dd113a8df7512b2a417bd762f4486","user":{"login":"WordPress","id":276006,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI3NjAwNg==","avatar_url":"https://avatars0.githubusercontent.com/u/276006?v=4","gravatar_id":"","url":"https://api.github.com/users/WordPress","html_url":"https://github.com/WordPress","followers_url":"https://api.github.com/users/WordPress/followers","following_url":"https://api.github.com/users/WordPress/following{/other_user}","gists_url":"https://api.github.com/users/WordPress/gists{/gist_id}","starred_url":"https://api.github.com/users/WordPress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WordPress/subscriptions","organizations_url":"https://api.github.com/users/WordPress/orgs","repos_url":"https://api.github.com/users/WordPress/repos","events_url":"https://api.github.com/users/WordPress/events{/privacy}","received_events_url":"https://api.github.com/users/WordPress/received_events","type":"Organization","site_admin":false},"repo":{"id":80862584,"node_id":"MDEwOlJlcG9zaXRvcnk4MDg2MjU4NA==","name":"gutenberg","full_name":"WordPress/gutenberg","private":false,"owner":{"login":"WordPress","id":276006,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI3NjAwNg==","avatar_url":"https://avatars0.githubusercontent.com/u/276006?v=4","gravatar_id":"","url":"https://api.github.com/users/WordPress","html_url":"https://github.com/WordPress","followers_url":"https://api.github.com/users/WordPress/followers","following_url":"https://api.github.com/users/WordPress/following{/other_user}","gists_url":"https://api.github.com/users/WordPress/gists{/gist_id}","starred_url":"https://api.github.com/users/WordPress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WordPress/subscriptions","organizations_url":"https://api.github.com/users/WordPress/orgs","repos_url":"https://api.github.com/users/WordPress/repos","events_url":"https://api.github.com/users/WordPress/events{/privacy}","received_events_url":"https://api.github.com/users/WordPress/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/WordPress/gutenberg","description":"Printing since 1440. Development hub for the editor focus in core. Plugin is available from the official WordPress repository.","fork":false,"url":"https://api.github.com/repos/WordPress/gutenberg","forks_url":"https://api.github.com/repos/WordPress/gutenberg/forks","keys_url":"https://api.github.com/repos/WordPress/gutenberg/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WordPress/gutenberg/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WordPress/gutenberg/teams","hooks_url":"https://api.github.com/repos/WordPress/gutenberg/hooks","issue_events_url":"https://api.github.com/repos/WordPress/gutenberg/issues/events{/number}","events_url":"https://api.github.com/repos/WordPress/gutenberg/events","assignees_url":"https://api.github.com/repos/WordPress/gutenberg/assignees{/user}","branches_url":"https://api.github.com/repos/WordPress/gutenberg/branches{/branch}","tags_url":"https://api.github.com/repos/WordPress/gutenberg/tags","blobs_url":"https://api.github.com/repos/WordPress/gutenberg/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WordPress/gutenberg/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WordPress/gutenberg/git/refs{/sha}","trees_url":"https://api.github.com/repos/WordPress/gutenberg/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WordPress/gutenberg/statuses/{sha}","languages_url":"https://api.github.com/repos/WordPress/gutenberg/languages","stargazers_url":"https://api.github.com/repos/WordPress/gutenberg/stargazers","contributors_url":"https://api.github.com/repos/WordPress/gutenberg/contributors","subscribers_url":"https://api.github.com/repos/WordPress/gutenberg/subscribers","subscription_url":"https://api.github.com/repos/WordPress/gutenberg/subscription","commits_url":"https://api.github.com/repos/WordPress/gutenberg/commits{/sha}","git_commits_url":"https://api.github.com/repos/WordPress/gutenberg/git/commits{/sha}","comments_url":"https://api.github.com/repos/WordPress/gutenberg/comments{/number}","issue_comment_url":"https://api.github.com/repos/WordPress/gutenberg/issues/comments{/number}","contents_url":"https://api.github.com/repos/WordPress/gutenberg/contents/{+path}","compare_url":"https://api.github.com/repos/WordPress/gutenberg/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WordPress/gutenberg/merges","archive_url":"https://api.github.com/repos/WordPress/gutenberg/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WordPress/gutenberg/downloads","issues_url":"https://api.github.com/repos/WordPress/gutenberg/issues{/number}","pulls_url":"https://api.github.com/repos/WordPress/gutenberg/pulls{/number}","milestones_url":"https://api.github.com/repos/WordPress/gutenberg/milestones{/number}","notifications_url":"https://api.github.com/repos/WordPress/gutenberg/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WordPress/gutenberg/labels{/name}","releases_url":"https://api.github.com/repos/WordPress/gutenberg/releases{/id}","deployments_url":"https://api.github.com/repos/WordPress/gutenberg/deployments","created_at":"2017-02-03T19:34:19Z","updated_at":"2018-11-20T19:23:52Z","pushed_at":"2018-11-20T19:27:02Z","git_url":"git://github.com/WordPress/gutenberg.git","ssh_url":"git@github.com:WordPress/gutenberg.git","clone_url":"https://github.com/WordPress/gutenberg.git","svn_url":"https://github.com/WordPress/gutenberg","homepage":"https://wordpress.org/plugins/gutenberg/","size":34655,"stargazers_count":3764,"watchers_count":3764,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1047,"mirror_url":null,"archived":false,"open_issues_count":1566,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1047,"open_issues":1566,"watchers":3764,"default_branch":"master"}},"base":{"label":"WordPress:master","ref":"master","sha":"5a8c012de43780f7187eecf7ac796e6f57a04c4f","user":{"login":"WordPress","id":276006,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI3NjAwNg==","avatar_url":"https://avatars0.githubusercontent.com/u/276006?v=4","gravatar_id":"","url":"https://api.github.com/users/WordPress","html_url":"https://github.com/WordPress","followers_url":"https://api.github.com/users/WordPress/followers","following_url":"https://api.github.com/users/WordPress/following{/other_user}","gists_url":"https://api.github.com/users/WordPress/gists{/gist_id}","starred_url":"https://api.github.com/users/WordPress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WordPress/subscriptions","organizations_url":"https://api.github.com/users/WordPress/orgs","repos_url":"https://api.github.com/users/WordPress/repos","events_url":"https://api.github.com/users/WordPress/events{/privacy}","received_events_url":"https://api.github.com/users/WordPress/received_events","type":"Organization","site_admin":false},"repo":{"id":80862584,"node_id":"MDEwOlJlcG9zaXRvcnk4MDg2MjU4NA==","name":"gutenberg","full_name":"WordPress/gutenberg","private":false,"owner":{"login":"WordPress","id":276006,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI3NjAwNg==","avatar_url":"https://avatars0.githubusercontent.com/u/276006?v=4","gravatar_id":"","url":"https://api.github.com/users/WordPress","html_url":"https://github.com/WordPress","followers_url":"https://api.github.com/users/WordPress/followers","following_url":"https://api.github.com/users/WordPress/following{/other_user}","gists_url":"https://api.github.com/users/WordPress/gists{/gist_id}","starred_url":"https://api.github.com/users/WordPress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WordPress/subscriptions","organizations_url":"https://api.github.com/users/WordPress/orgs","repos_url":"https://api.github.com/users/WordPress/repos","events_url":"https://api.github.com/users/WordPress/events{/privacy}","received_events_url":"https://api.github.com/users/WordPress/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/WordPress/gutenberg","description":"Printing since 1440. Development hub for the editor focus in core. Plugin is available from the official WordPress repository.","fork":false,"url":"https://api.github.com/repos/WordPress/gutenberg","forks_url":"https://api.github.com/repos/WordPress/gutenberg/forks","keys_url":"https://api.github.com/repos/WordPress/gutenberg/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WordPress/gutenberg/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WordPress/gutenberg/teams","hooks_url":"https://api.github.com/repos/WordPress/gutenberg/hooks","issue_events_url":"https://api.github.com/repos/WordPress/gutenberg/issues/events{/number}","events_url":"https://api.github.com/repos/WordPress/gutenberg/events","assignees_url":"https://api.github.com/repos/WordPress/gutenberg/assignees{/user}","branches_url":"https://api.github.com/repos/WordPress/gutenberg/branches{/branch}","tags_url":"https://api.github.com/repos/WordPress/gutenberg/tags","blobs_url":"https://api.github.com/repos/WordPress/gutenberg/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WordPress/gutenberg/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WordPress/gutenberg/git/refs{/sha}","trees_url":"https://api.github.com/repos/WordPress/gutenberg/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WordPress/gutenberg/statuses/{sha}","languages_url":"https://api.github.com/repos/WordPress/gutenberg/languages","stargazers_url":"https://api.github.com/repos/WordPress/gutenberg/stargazers","contributors_url":"https://api.github.com/repos/WordPress/gutenberg/contributors","subscribers_url":"https://api.github.com/repos/WordPress/gutenberg/subscribers","subscription_url":"https://api.github.com/repos/WordPress/gutenberg/subscription","commits_url":"https://api.github.com/repos/WordPress/gutenberg/commits{/sha}","git_commits_url":"https://api.github.com/repos/WordPress/gutenberg/git/commits{/sha}","comments_url":"https://api.github.com/repos/WordPress/gutenberg/comments{/number}","issue_comment_url":"https://api.github.com/repos/WordPress/gutenberg/issues/comments{/number}","contents_url":"https://api.github.com/repos/WordPress/gutenberg/contents/{+path}","compare_url":"https://api.github.com/repos/WordPress/gutenberg/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WordPress/gutenberg/merges","archive_url":"https://api.github.com/repos/WordPress/gutenberg/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WordPress/gutenberg/downloads","issues_url":"https://api.github.com/repos/WordPress/gutenberg/issues{/number}","pulls_url":"https://api.github.com/repos/WordPress/gutenberg/pulls{/number}","milestones_url":"https://api.github.com/repos/WordPress/gutenberg/milestones{/number}","notifications_url":"https://api.github.com/repos/WordPress/gutenberg/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WordPress/gutenberg/labels{/name}","releases_url":"https://api.github.com/repos/WordPress/gutenberg/releases{/id}","deployments_url":"https://api.github.com/repos/WordPress/gutenberg/deployments","created_at":"2017-02-03T19:34:19Z","updated_at":"2018-11-20T19:23:52Z","pushed_at":"2018-11-20T19:27:02Z","git_url":"git://github.com/WordPress/gutenberg.git","ssh_url":"git@github.com:WordPress/gutenberg.git","clone_url":"https://github.com/WordPress/gutenberg.git","svn_url":"https://github.com/WordPress/gutenberg","homepage":"https://wordpress.org/plugins/gutenberg/","size":34655,"stargazers_count":3764,"watchers_count":3764,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1047,"mirror_url":null,"archived":false,"open_issues_count":1566,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1047,"open_issues":1566,"watchers":3764,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973"},"html":{"href":"https://github.com/WordPress/gutenberg/pull/11973"},"issue":{"href":"https://api.github.com/repos/WordPress/gutenberg/issues/11973"},"comments":{"href":"https://api.github.com/repos/WordPress/gutenberg/issues/11973/comments"},"review_comments":{"href":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973/comments"},"review_comment":{"href":"https://api.github.com/repos/WordPress/gutenberg/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/WordPress/gutenberg/pulls/11973/commits"},"statuses":{"href":"https://api.github.com/repos/WordPress/gutenberg/statuses/4d2d9598581dd113a8df7512b2a417bd762f4486"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"aduth"}}