{"action":"closed","number":1478,"pull_request":{"url":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/1478","id":72640942,"html_url":"https://github.com/sparklemotion/nokogiri/pull/1478","diff_url":"https://github.com/sparklemotion/nokogiri/pull/1478.diff","patch_url":"https://github.com/sparklemotion/nokogiri/pull/1478.patch","issue_url":"https://api.github.com/repos/sparklemotion/nokogiri/issues/1478","number":1478,"state":"closed","locked":false,"title":"Double quotes in HTML attributes should be escaped as &quot; not %22","user":{"login":"donv","id":57275,"avatar_url":"https://avatars.githubusercontent.com/u/57275?v=3","gravatar_id":"","url":"https://api.github.com/users/donv","html_url":"https://github.com/donv","followers_url":"https://api.github.com/users/donv/followers","following_url":"https://api.github.com/users/donv/following{/other_user}","gists_url":"https://api.github.com/users/donv/gists{/gist_id}","starred_url":"https://api.github.com/users/donv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donv/subscriptions","organizations_url":"https://api.github.com/users/donv/orgs","repos_url":"https://api.github.com/users/donv/repos","events_url":"https://api.github.com/users/donv/events{/privacy}","received_events_url":"https://api.github.com/users/donv/received_events","type":"User","site_admin":false},"body":"Hi!\n\nThis fixes #1382 , or aims to.  I have searched a lot, but I cannot find any source claiming that double quotes should be escaped as `%22` in HTML attributes.  `&quot;` seems to be the common escape sequence, although there are others.\n\nI have not found where the C-based Nokogiri does the escaping, yet.  I'd like to fix that too, but I could need some pointers.\n\nAs described in issue #1382 , the C-based Rubies work as expected in IRB, but they fail the modified unit test (test/html/test_node.rb#test_get_attribute).  They still escape the double quote to `%22`.\n\nAnyway, I'm looking forward to the discussion on this PR.  I will learn something either way. 😄 \n","created_at":"2016-06-05T21:23:47Z","updated_at":"2017-01-14T16:51:03Z","closed_at":"2017-01-14T16:51:03Z","merged_at":null,"merge_commit_sha":"f3333747ea3da89261384a3667d3d404851585f6","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/1478/commits","review_comments_url":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/1478/comments","review_comment_url":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sparklemotion/nokogiri/issues/1478/comments","statuses_url":"https://api.github.com/repos/sparklemotion/nokogiri/statuses/c3b76cac5bda503114599f0b0c471ff71e3abe02","head":{"label":"donv:issue_1382","ref":"issue_1382","sha":"c3b76cac5bda503114599f0b0c471ff71e3abe02","user":{"login":"donv","id":57275,"avatar_url":"https://avatars.githubusercontent.com/u/57275?v=3","gravatar_id":"","url":"https://api.github.com/users/donv","html_url":"https://github.com/donv","followers_url":"https://api.github.com/users/donv/followers","following_url":"https://api.github.com/users/donv/following{/other_user}","gists_url":"https://api.github.com/users/donv/gists{/gist_id}","starred_url":"https://api.github.com/users/donv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donv/subscriptions","organizations_url":"https://api.github.com/users/donv/orgs","repos_url":"https://api.github.com/users/donv/repos","events_url":"https://api.github.com/users/donv/events{/privacy}","received_events_url":"https://api.github.com/users/donv/received_events","type":"User","site_admin":false},"repo":{"id":60474873,"name":"nokogiri","full_name":"donv/nokogiri","owner":{"login":"donv","id":57275,"avatar_url":"https://avatars.githubusercontent.com/u/57275?v=3","gravatar_id":"","url":"https://api.github.com/users/donv","html_url":"https://github.com/donv","followers_url":"https://api.github.com/users/donv/followers","following_url":"https://api.github.com/users/donv/following{/other_user}","gists_url":"https://api.github.com/users/donv/gists{/gist_id}","starred_url":"https://api.github.com/users/donv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donv/subscriptions","organizations_url":"https://api.github.com/users/donv/orgs","repos_url":"https://api.github.com/users/donv/repos","events_url":"https://api.github.com/users/donv/events{/privacy}","received_events_url":"https://api.github.com/users/donv/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/donv/nokogiri","description":"Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support.","fork":true,"url":"https://api.github.com/repos/donv/nokogiri","forks_url":"https://api.github.com/repos/donv/nokogiri/forks","keys_url":"https://api.github.com/repos/donv/nokogiri/keys{/key_id}","collaborators_url":"https://api.github.com/repos/donv/nokogiri/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/donv/nokogiri/teams","hooks_url":"https://api.github.com/repos/donv/nokogiri/hooks","issue_events_url":"https://api.github.com/repos/donv/nokogiri/issues/events{/number}","events_url":"https://api.github.com/repos/donv/nokogiri/events","assignees_url":"https://api.github.com/repos/donv/nokogiri/assignees{/user}","branches_url":"https://api.github.com/repos/donv/nokogiri/branches{/branch}","tags_url":"https://api.github.com/repos/donv/nokogiri/tags","blobs_url":"https://api.github.com/repos/donv/nokogiri/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/donv/nokogiri/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/donv/nokogiri/git/refs{/sha}","trees_url":"https://api.github.com/repos/donv/nokogiri/git/trees{/sha}","statuses_url":"https://api.github.com/repos/donv/nokogiri/statuses/{sha}","languages_url":"https://api.github.com/repos/donv/nokogiri/languages","stargazers_url":"https://api.github.com/repos/donv/nokogiri/stargazers","contributors_url":"https://api.github.com/repos/donv/nokogiri/contributors","subscribers_url":"https://api.github.com/repos/donv/nokogiri/subscribers","subscription_url":"https://api.github.com/repos/donv/nokogiri/subscription","commits_url":"https://api.github.com/repos/donv/nokogiri/commits{/sha}","git_commits_url":"https://api.github.com/repos/donv/nokogiri/git/commits{/sha}","comments_url":"https://api.github.com/repos/donv/nokogiri/comments{/number}","issue_comment_url":"https://api.github.com/repos/donv/nokogiri/issues/comments{/number}","contents_url":"https://api.github.com/repos/donv/nokogiri/contents/{+path}","compare_url":"https://api.github.com/repos/donv/nokogiri/compare/{base}...{head}","merges_url":"https://api.github.com/repos/donv/nokogiri/merges","archive_url":"https://api.github.com/repos/donv/nokogiri/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/donv/nokogiri/downloads","issues_url":"https://api.github.com/repos/donv/nokogiri/issues{/number}","pulls_url":"https://api.github.com/repos/donv/nokogiri/pulls{/number}","milestones_url":"https://api.github.com/repos/donv/nokogiri/milestones{/number}","notifications_url":"https://api.github.com/repos/donv/nokogiri/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/donv/nokogiri/labels{/name}","releases_url":"https://api.github.com/repos/donv/nokogiri/releases{/id}","deployments_url":"https://api.github.com/repos/donv/nokogiri/deployments","created_at":"2016-06-05T18:35:53Z","updated_at":"2016-06-05T18:35:55Z","pushed_at":"2016-06-05T21:15:24Z","git_url":"git://github.com/donv/nokogiri.git","ssh_url":"git@github.com:donv/nokogiri.git","clone_url":"https://github.com/donv/nokogiri.git","svn_url":"https://github.com/donv/nokogiri","homepage":"http://nokogiri.org/","size":12009,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"sparklemotion:master","ref":"master","sha":"0448578e5e38bfa5a87b44ce152bf3c12ad292d7","user":{"login":"sparklemotion","id":1851072,"avatar_url":"https://avatars.githubusercontent.com/u/1851072?v=3","gravatar_id":"","url":"https://api.github.com/users/sparklemotion","html_url":"https://github.com/sparklemotion","followers_url":"https://api.github.com/users/sparklemotion/followers","following_url":"https://api.github.com/users/sparklemotion/following{/other_user}","gists_url":"https://api.github.com/users/sparklemotion/gists{/gist_id}","starred_url":"https://api.github.com/users/sparklemotion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sparklemotion/subscriptions","organizations_url":"https://api.github.com/users/sparklemotion/orgs","repos_url":"https://api.github.com/users/sparklemotion/repos","events_url":"https://api.github.com/users/sparklemotion/events{/privacy}","received_events_url":"https://api.github.com/users/sparklemotion/received_events","type":"Organization","site_admin":false},"repo":{"id":33945,"name":"nokogiri","full_name":"sparklemotion/nokogiri","owner":{"login":"sparklemotion","id":1851072,"avatar_url":"https://avatars.githubusercontent.com/u/1851072?v=3","gravatar_id":"","url":"https://api.github.com/users/sparklemotion","html_url":"https://github.com/sparklemotion","followers_url":"https://api.github.com/users/sparklemotion/followers","following_url":"https://api.github.com/users/sparklemotion/following{/other_user}","gists_url":"https://api.github.com/users/sparklemotion/gists{/gist_id}","starred_url":"https://api.github.com/users/sparklemotion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sparklemotion/subscriptions","organizations_url":"https://api.github.com/users/sparklemotion/orgs","repos_url":"https://api.github.com/users/sparklemotion/repos","events_url":"https://api.github.com/users/sparklemotion/events{/privacy}","received_events_url":"https://api.github.com/users/sparklemotion/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sparklemotion/nokogiri","description":"Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support.","fork":false,"url":"https://api.github.com/repos/sparklemotion/nokogiri","forks_url":"https://api.github.com/repos/sparklemotion/nokogiri/forks","keys_url":"https://api.github.com/repos/sparklemotion/nokogiri/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sparklemotion/nokogiri/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sparklemotion/nokogiri/teams","hooks_url":"https://api.github.com/repos/sparklemotion/nokogiri/hooks","issue_events_url":"https://api.github.com/repos/sparklemotion/nokogiri/issues/events{/number}","events_url":"https://api.github.com/repos/sparklemotion/nokogiri/events","assignees_url":"https://api.github.com/repos/sparklemotion/nokogiri/assignees{/user}","branches_url":"https://api.github.com/repos/sparklemotion/nokogiri/branches{/branch}","tags_url":"https://api.github.com/repos/sparklemotion/nokogiri/tags","blobs_url":"https://api.github.com/repos/sparklemotion/nokogiri/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sparklemotion/nokogiri/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sparklemotion/nokogiri/git/refs{/sha}","trees_url":"https://api.github.com/repos/sparklemotion/nokogiri/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sparklemotion/nokogiri/statuses/{sha}","languages_url":"https://api.github.com/repos/sparklemotion/nokogiri/languages","stargazers_url":"https://api.github.com/repos/sparklemotion/nokogiri/stargazers","contributors_url":"https://api.github.com/repos/sparklemotion/nokogiri/contributors","subscribers_url":"https://api.github.com/repos/sparklemotion/nokogiri/subscribers","subscription_url":"https://api.github.com/repos/sparklemotion/nokogiri/subscription","commits_url":"https://api.github.com/repos/sparklemotion/nokogiri/commits{/sha}","git_commits_url":"https://api.github.com/repos/sparklemotion/nokogiri/git/commits{/sha}","comments_url":"https://api.github.com/repos/sparklemotion/nokogiri/comments{/number}","issue_comment_url":"https://api.github.com/repos/sparklemotion/nokogiri/issues/comments{/number}","contents_url":"https://api.github.com/repos/sparklemotion/nokogiri/contents/{+path}","compare_url":"https://api.github.com/repos/sparklemotion/nokogiri/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sparklemotion/nokogiri/merges","archive_url":"https://api.github.com/repos/sparklemotion/nokogiri/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sparklemotion/nokogiri/downloads","issues_url":"https://api.github.com/repos/sparklemotion/nokogiri/issues{/number}","pulls_url":"https://api.github.com/repos/sparklemotion/nokogiri/pulls{/number}","milestones_url":"https://api.github.com/repos/sparklemotion/nokogiri/milestones{/number}","notifications_url":"https://api.github.com/repos/sparklemotion/nokogiri/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sparklemotion/nokogiri/labels{/name}","releases_url":"https://api.github.com/repos/sparklemotion/nokogiri/releases{/id}","deployments_url":"https://api.github.com/repos/sparklemotion/nokogiri/deployments","created_at":"2008-07-14T15:34:32Z","updated_at":"2017-01-14T05:30:30Z","pushed_at":"2017-01-14T00:14:51Z","git_url":"git://github.com/sparklemotion/nokogiri.git","ssh_url":"git@github.com:sparklemotion/nokogiri.git","clone_url":"https://github.com/sparklemotion/nokogiri.git","svn_url":"https://github.com/sparklemotion/nokogiri","homepage":"http://nokogiri.org/","size":12261,"stargazers_count":4205,"watchers_count":4205,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":584,"mirror_url":null,"open_issues_count":184,"forks":584,"open_issues":184,"watchers":4205,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/1478"},"html":{"href":"https://github.com/sparklemotion/nokogiri/pull/1478"},"issue":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/issues/1478"},"comments":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/issues/1478/comments"},"review_comments":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/1478/comments"},"review_comment":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/pulls/1478/commits"},"statuses":{"href":"https://api.github.com/repos/sparklemotion/nokogiri/statuses/c3b76cac5bda503114599f0b0c471ff71e3abe02"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":3,"additions":3,"deletions":7,"changed_files":3}}
{"actor":{"display_login":"flavorjones"}}