From 27e77e3a64c22daf20417babc6b1c57e74651f84 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 2 Feb 2016 22:51:23 +0100 Subject: [PATCH 001/164] :shirt: Linter warnings --- .../Github_News_Feed_Filter.user.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 63dbf42..6a5b02c 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -89,10 +89,10 @@ var REPOS = [ ]; - const datasetId = "githubNewsFeedFilter"; - const datasetIdLong = "data-github-news-feed-filter"; - const filterElement = "github-news-feed-filter"; - const filterListElement = "github-news-feed-filter-list"; + var datasetId = "githubNewsFeedFilter"; + var datasetIdLong = "data-github-news-feed-filter"; + var filterElement = "github-news-feed-filter"; + var filterListElement = "github-news-feed-filter-list"; function proxy(fn) { return function() { @@ -246,7 +246,7 @@ } // Show/hide alerts; - if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf("*"); }) })) { + if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf("*"); }); })) { anyVisibleAlert = true; Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { alert.style.display = "block"; @@ -380,7 +380,7 @@ Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf("*") || alert.classList.contains(c); }); }); if (show) { - countFiltered++ + countFiltered++; } }); From eb9208ca16b26b34a1ab4dc89f5060d0ff56c82c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 3 Feb 2016 21:49:43 +0100 Subject: [PATCH 002/164] Restored icons after GitHub switching to SVG --- .../Github_News_Feed_Filter.user.js | 88 ++++++++++++++----- Github_News_Feed_Filter/README.md | 2 + 2 files changed, 70 insertions(+), 20 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 6a5b02c..7eda4e1 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -14,13 +14,47 @@ // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* // @include https://github.com/*tab=activity* -// @version 6.2 +// @version 7.0.0 // @grant none // ==/UserScript== -/* global Event */ +/* global Event, Set */ +/* jslint bitwise: true, multistr: true */ (function() { + var ICONS = {}; + ICONS["octicon-book"] = "M2 5h4v1H2v-1z m0 3h4v-1H2v1z m0 2h4v-1H2v1z m11-5H9v1h4v-1z m0 2H9v1h4v-1z m0 2H9v1h4v-1z m2-6v9c0 0.55-0.45 1-1 1H8.5l-1 1-1-1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h5.5l1 1 1-1h5.5c0.55 0 1 0.45 1 1z m-8 0.5l-0.5-0.5H1v9h6V3.5z m7-0.5H8.5l-0.5 0.5v8.5h6V3z"; + ICONS["octicon-comment-discussion"] = "M15 2H6c-0.55 0-1 0.45-1 1v2H1c-0.55 0-1 0.45-1 1v6c0 0.55 0.45 1 1 1h1v3l3-3h4c0.55 0 1-0.45 1-1V10h1l3 3V10h1c0.55 0 1-0.45 1-1V3c0-0.55-0.45-1-1-1zM9 12H4.5l-1.5 1.5v-1.5H1V6h4v3c0 0.55 0.45 1 1 1h3v2z m6-3H13v1.5l-1.5-1.5H6V3h9v6z"; + ICONS["octicon-gist"] = "M7.5 5l2.5 2.5-2.5 2.5-0.75-0.75 1.75-1.75-1.75-1.75 0.75-0.75z m-3 0L2 7.5l2.5 2.5 0.75-0.75-1.75-1.75 1.75-1.75-0.75-0.75zM0 13V2c0-0.55 0.45-1 1-1h10c0.55 0 1 0.45 1 1v11c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1z m1 0h10V2H1v11z"; + ICONS["octicon-gist-new"] = ICONS["octicon-plus"] = "M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"; + ICONS["octicon-git-branch"] = "M10 5c0-1.11-0.89-2-2-2s-2 0.89-2 2c0 0.73 0.41 1.38 1 1.72v0.3c-0.02 0.52-0.23 0.98-0.63 1.38s-0.86 0.61-1.38 0.63c-0.83 0.02-1.48 0.16-2 0.45V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.53-0.2-1-0.53-1.36 0.09-0.06 0.48-0.41 0.59-0.47 0.25-0.11 0.56-0.17 0.94-0.17 1.05-0.05 1.95-0.45 2.75-1.25s1.2-1.98 1.25-3.02h-0.02c0.61-0.36 1.02-1 1.02-1.73zM2 1.8c0.66 0 1.2 0.55 1.2 1.2s-0.55 1.2-1.2 1.2-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2z m0 12.41c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m6-8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; + ICONS["octicon-git-branch-create"] = ICONS["octicon-git-branch"]; + ICONS["octicon-git-branch-delete"] = ICONS["octicon-git-branch"]; + ICONS["octicon-git-commit"] = "M10.86 7c-0.45-1.72-2-3-3.86-3s-3.41 1.28-3.86 3H0v2h3.14c0.45 1.72 2 3 3.86 3s3.41-1.28 3.86-3h3.14V7H10.86zM7 10.2c-1.22 0-2.2-0.98-2.2-2.2s0.98-2.2 2.2-2.2 2.2 0.98 2.2 2.2-0.98 2.2-2.2 2.2z"; + ICONS["octicon-git-merge"] = "M10 7c-0.73 0-1.38 0.41-1.73 1.02v-0.02c-1.05-0.02-2.27-0.36-3.13-1.02-0.75-0.58-1.5-1.61-1.89-2.44 0.45-0.36 0.75-0.92 0.75-1.55 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V7.67c0.67 0.7 1.44 1.27 2.3 1.69s2.03 0.63 2.97 0.64v-0.02c0.36 0.61 1 1.02 1.73 1.02 1.11 0 2-0.89 2-2s-0.89-2-2-2zM3.2 13c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m8 6c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; + ICONS["octicon-git-pull-request"] = "M11 11.28c0-1.73 0-6.28 0-6.28-0.03-0.78-0.34-1.47-0.94-2.06s-1.28-0.91-2.06-0.94c0 0-1.02 0-1 0V0L4 3l3 3V4h1c0.27 0.02 0.48 0.11 0.69 0.31s0.3 0.42 0.31 0.69v6.28c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72z m-1 2.92c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2zM4 3c0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72 0 1.55 0 5.56 0 6.56-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V4.72c0.59-0.34 1-0.98 1-1.72z m-0.8 10c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; + ICONS["octicon-git-pull-request-abandoned"] = ICONS["octicon-git-pull-request"]; + ICONS["octicon-home"] = "M16 9L13 6V2H11v2L8 1 0 9h2l1 5c0 0.55 0.45 1 1 1h8c0.55 0 1-0.45 1-1l1-5h2zM12 14H9V10H7v4H4l-1.19-6.31 5.19-5.19 5.19 5.19-1.19 6.31z"; + ICONS["octicon-issue-closed"] = "M7 10h2v2H7V10z m2-6H7v5h2V4z m1.5 1.5l-1 1 2.5 2.5 4-4.5-1-1-3 3.5-1.5-1.5zM8 13.7c-3.14 0-5.7-2.56-5.7-5.7s2.56-5.7 5.7-5.7c1.83 0 3.45 0.88 4.5 2.2l0.92-0.92C12.14 2 10.19 1 8 1 4.14 1 1 4.14 1 8s3.14 7 7 7 7-3.14 7-7l-1.52 1.52c-0.66 2.41-2.86 4.19-5.48 4.19z"; + ICONS["octicon-issue-opened"] = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z"; + ICONS["octicon-issue-reopened"] = "M8 9H6V4h2v5zM6 12h2V10H6v2z m6.33-2H10l1.5 1.5c-1.05 1.33-2.67 2.2-4.5 2.2-3.14 0-5.7-2.56-5.7-5.7 0-0.34 0.03-0.67 0.09-1H0.08c-0.05 0.33-0.08 0.66-0.08 1 0 3.86 3.14 7 7 7 2.19 0 4.13-1.02 5.41-2.59l1.59 1.59V10H12.33zM1.67 6h2.33l-1.5-1.5c1.05-1.33 2.67-2.2 4.5-2.2 3.14 0 5.7 2.56 5.7 5.7 0 0.34-0.03 0.67-0.09 1h1.31c0.05-0.33 0.08-0.66 0.08-1 0-3.86-3.14-7-7-7-2.19 0-4.13 1.02-5.41 2.59L0 2v4h1.67z"; + ICONS["octicon-person"] = "M7 6H1c-0.55 0-1 0.45-1 1v5h2v3c0 0.55 0.45 1 1 1h2c0.55 0 1-0.45 1-1V12h2V7c0-0.55-0.45-1-1-1z m0 5h-1V9h-1v6H3V9h-1v2H1V7h6v4z m0-8C7 1.34 5.66 0 4 0S1 1.34 1 3s1.34 3 3 3 3-1.34 3-3zM4 5c-1.11 0-2-0.89-2-2S2.89 1 4 1s2 0.89 2 2-0.89 2-2 2z"; + ICONS["octicon-person-add"] = ICONS["octicon-person"]; + ICONS["octicon-plus"] = "M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"; + ICONS["octicon-radio-tower"] = "M4.79 6.11c0.25-0.25 0.25-0.67 0-0.92-0.32-0.33-0.48-0.76-0.48-1.19 0-0.43 0.16-0.86 0.48-1.19 0.25-0.26 0.25-0.67 0-0.92-0.12-0.13-0.29-0.19-0.45-0.19-0.16 0-0.33 0.06-0.45 0.19-0.57 0.58-0.85 1.35-0.85 2.11 0 0.76 0.29 1.53 0.85 2.11C4.14 6.36 4.55 6.36 4.79 6.11zM2.33 0.52c-0.13-0.13-0.29-0.19-0.46-0.19-0.16 0-0.33 0.06-0.46 0.19C0.48 1.48 0.01 2.74 0.01 3.99 0.01 5.25 0.48 6.51 1.41 7.47c0.25 0.26 0.66 0.26 0.91 0 0.25-0.26 0.25-0.68 0-0.94-0.68-0.7-1.02-1.62-1.02-2.54s0.34-1.84 1.02-2.54C2.58 1.2 2.58 0.78 2.33 0.52zM8.02 5.62c0.9 0 1.62-0.73 1.62-1.62 0-0.9-0.73-1.62-1.62-1.62-0.9 0-1.62 0.73-1.62 1.62C6.39 4.89 7.12 5.62 8.02 5.62zM14.59 0.53c-0.25-0.26-0.66-0.26-0.91 0-0.25 0.26-0.25 0.68 0 0.94 0.68 0.7 1.02 1.62 1.02 2.54 0 0.92-0.34 1.83-1.02 2.54-0.25 0.26-0.25 0.68 0 0.94 0.13 0.13 0.29 0.19 0.46 0.19 0.16 0 0.33-0.06 0.46-0.19 0.93-0.96 1.4-2.22 1.4-3.48C15.99 2.75 15.52 1.49 14.59 0.53zM8.02 6.92L8.02 6.92c-0.41 0-0.83-0.1-1.2-0.3L3.67 14.99h1.49l0.86-1h4l0.84 1h1.49L9.21 6.62C8.83 6.82 8.43 6.92 8.02 6.92zM8.01 7.4L9.02 11H7.02L8.01 7.4zM6.02 12.99l1-1h2l1 1H6.02zM11.21 1.89c-0.25 0.25-0.25 0.67 0 0.92 0.32 0.33 0.48 0.76 0.48 1.19 0 0.43-0.16 0.86-0.48 1.19-0.25 0.26-0.25 0.67 0 0.92 0.12 0.13 0.29 0.19 0.45 0.19 0.16 0 0.32-0.06 0.45-0.19 0.57-0.58 0.85-1.35 0.85-2.11 0-0.76-0.28-1.53-0.85-2.11C11.86 1.64 11.45 1.64 11.21 1.89z"; + ICONS["octicon-repo"] = "M4 9h-1v-1h1v1z m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z"; + ICONS["octicon-repo-clone"] = "M15 0H9v7c0 0.55 0.45 1 1 1h1v1h1v-1h3c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1zM11 7h-1v-1h1v1z m4 0H12v-1h3v1z m0-2H11V1h4v4z m-11 0h-1v-1h1v1z m0-2h-1v-1h1v1zM2 1h6V0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h2v2l1.5-1.5 1.5 1.5V14h5c0.55 0 1-0.45 1-1V10H2V1z m9 10v2H6v-1H3v1H1V11h10zM3 8h1v1h-1v-1z m1-1h-1v-1h1v1z"; + ICONS["octicon-repo-create"] = ICONS["octicon-plus"]; + ICONS["octicon-repo-push"] = "M4 3h-1v-1h1v1z m-1 2h1v-1h-1v1z m4 0L4 9h2v7h2V9h2L7 5zM11 0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h4v-1H1V11h4v-1H2V1h9.02l-0.02 9H9v1h2v2H9v1h2c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1z"; + ICONS["octicon-repo-forked"] = "M8 1c-1.11 0-2 0.89-2 2 0 0.73 0.41 1.38 1 1.72v1.28L5 8 3 6v-1.28c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v1.78l3 3v1.78c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V9.5l3-3V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2zM2 4.2c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3 10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3-10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; + ICONS["octicon-repo-delete"] = ICONS["octicon-repo"]; + ICONS["octicon-repo-pull"] = "M13 8V6H7V4h6V2l3 3-3 3zM4 2h-1v1h1v-1z m7 5h1v6c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1v2h-1V1H2v9h9V7z m0 4H1v2h2v-1h3v1h5V11zM4 6h-1v1h1v-1z m0-2h-1v1h1v-1z m-1 5h1v-1h-1v1z"; + ICONS["octicon-star"] = "M14 6l-4.9-0.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14l4.33-2.33 4.33 2.33L10.4 9.26 14 6z"; + ICONS["octicon-tag"] = "M6.73 2.73c-0.47-0.47-1.11-0.73-1.77-0.73H2.5C1.13 2 0 3.13 0 4.5v2.47c0 0.66 0.27 1.3 0.73 1.77l6.06 6.06c0.39 0.39 1.02 0.39 1.41 0l4.59-4.59c0.39-0.39 0.39-1.02 0-1.41L6.73 2.73zM1.38 8.09c-0.31-0.3-0.47-0.7-0.47-1.13V4.5c0-0.88 0.72-1.59 1.59-1.59h2.47c0.42 0 0.83 0.16 1.13 0.47l6.14 6.13-4.73 4.73L1.38 8.09z m0.63-4.09h2v2H2V4z"; + ICONS["octicon-tag-add"] = ICONS["octicon-tag"]; + ICONS["octicon-tag-remove"] = ICONS["octicon-tag"]; + ICONS["octicon-triangle-left"] = "M6 2L0 8l6 6V2z"; + var ACTIONS = [ { id: "*-action", text: "All news feed", icon: "octicon-radio-tower", classNames: ["*-action"] }, { @@ -84,10 +118,9 @@ { id: "gist updated", text: "Updated", icon: "octicon-gist", classNames: ["gist_updated"] } ] } - // Possible other classes: follow ]; - var REPOS = [ ]; + var REPOS = []; var datasetId = "githubNewsFeedFilter"; var datasetIdLong = "data-github-news-feed-filter"; @@ -98,8 +131,8 @@ return function() { var that = this; return function(e) { - var args = that.slice(0); // clone; - args.unshift(e); // prepend event; + var args = that.slice(0); // clone; + args.unshift(e); // prepend event; fn.apply(this, args); }; }.call([].slice.call(arguments, 1)); @@ -132,7 +165,7 @@ github-news-feed-filter .private { font-weight: bold; }\ \ github-news-feed-filter .stars .octicon { position: absolute; right: -4px; }\ - github-news-feed-filter .filter-list-item.open > a > .stars > .octicon:before { content: '\\f05b'; }\ + github-news-feed-filter .filter-list-item.open > a > .stars > .octicon { transform: rotate(-90deg); }\ \ .no-alerts { font-style: italic; }\ "); @@ -173,9 +206,14 @@ li.appendChild(a); // Filter icon; - var i = document.createElement("span"); - i.classList.add("repo-icon", "octicon", filter.icon); - a.appendChild(i); + var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.classList.add("repo-icon", "octicon", filter.icon); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); + a.appendChild(svg); + var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute("d", ICONS[filter.icon]); + svg.appendChild(path); // Filter text; var text = filter.text.split("/"); @@ -204,9 +242,14 @@ s.appendChild(c); if (filter.subFilters) { s.appendChild(document.createTextNode(" ")); - var o = document.createElement("span"); - o.classList.add("octicon", "octicon-triangle-left"); - s.appendChild(o); + var osvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + osvg.classList.add("octicon", "octicon-triangle-left"); + osvg.setAttribute("height", "16"); + osvg.setAttribute("width", "6"); + s.appendChild(osvg); + var opath = document.createElementNS("http://www.w3.org/2000/svg", "path"); + opath.setAttribute("d", ICONS["octicon-triangle-left"]); + osvg.appendChild(opath); } a.appendChild(s); @@ -331,7 +374,7 @@ var userRepos = new Set(); Array.prototype.forEach.call(newsContainer.querySelectorAll(".alert"), function(alert) { var links = alert.querySelectorAll(".title a"); - var userRepo = links[links.length - 1].textContent.split("#")[0]; // Remove issue number from text; + var userRepo = links[links.length - 1].textContent.split("#")[0]; // Remove issue number from text; userRepos.add(userRepo); var repo = userRepo.split("/")[1]; alert.classList.add(repo, userRepo); @@ -372,7 +415,7 @@ var selected = document.querySelectorAll(filterElement + " li.filter-list-item.private"); if (selected.length > 0) { Array.prototype.forEach.call(selected, function(item) { - if (item.parentNode.parentNode !== filterContainer) { // exclude list item from current filter container; + if (item.parentNode.parentNode !== filterContainer) { // exclude list item from current filter container; classNames.push(item.filterClassNames); } }); @@ -400,7 +443,7 @@ }); } - var CURRENT = { }; + var CURRENT = {}; // Set current filter; function setCurrentFilter(type, filter) { @@ -468,10 +511,15 @@ headerLink.classList.add("btn", "btn-sm"); headerAction.appendChild(headerLink); - var headerLinkIcon = document.createElement("span"); - headerLinkIcon.classList.add("octicon", "octicon-home"); - headerLinkIcon.setAttribute("title", "Open Github News Feed Filter homepage"); - headerLink.appendChild(headerLinkIcon); + var headerLinkSvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + headerLinkSvg.classList.add("octicon", "octicon-home"); + headerLinkSvg.setAttribute("height", "16"); + headerLinkSvg.setAttribute("width", "16"); + headerLinkSvg.setAttribute("title", "Open Github News Feed Filter homepage"); + headerLink.appendChild(headerLinkSvg); + var headerLinkPath = document.createElementNS("http://www.w3.org/2000/svg", "path"); + headerLinkPath.setAttribute("d", ICONS["octicon-home"]); + headerLinkSvg.appendChild(headerLinkPath); var headerText = document.createElement("h3"); headerText.appendChild(document.createTextNode("News feed filter")); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index fcd7b12..d4c1517 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -66,6 +66,8 @@ Currently integrated filters: ## Version History +* **7.0.0** + * Restored icons after GitHub switching to SVG; * **6.2** * :sparkles: Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70); * **6.1** From ad058e8241015815202b26855d1fac07569577c4 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 4 Feb 2016 23:15:40 +0100 Subject: [PATCH 003/164] :shirt: Fixed linter warnings --- .../Github_Comment_Enhancer.user.js | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index a286618..ad19794 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -872,28 +872,28 @@ markup: "", attachEvents: function(o) { e("#gollum-dialog-action-ok").click(function(e) { - t.eventOK(e, o) + t.eventOK(e, o); }), e("#gollum-dialog-action-cancel").click(t.eventCancel), e('#gollum-dialog-dialog input[type="text"]').keydown(function(e) { - 13 == e.keyCode && t.eventOK(e, o) - }) + 13 === e.keyCode && t.eventOK(e, o); + }); }, detachEvents: function() { e("#gollum-dialog-action-ok").unbind("click"), - e("#gollum-dialog-action-cancel").unbind("click") + e("#gollum-dialog-action-cancel").unbind("click"); }, createFieldMarkup: function(e) { for (var o = "
", n = 0; n < e.length; n++) - if ("object" == typeof e[n]) { + if ("object" === typeof e[n]) { switch (o += '
', e[n].type) { case "text": - o += t.createFieldText(e[n]) + o += t.createFieldText(e[n]); } - o += "
" + o += ""; } - return o += "
" + return o += ""; }, createFieldText: function(e) { var t = ""; @@ -902,27 +902,27 @@ t += ">" + e.name + ""), t += ''), - t + t; }, createMarkup: function(o, n) { return t.markupCreated = !0, - e.facebox ? '

' + o + '

' + n + '
' : '

' + o + '

' + n + '
' + e.facebox ? '

' + o + '

' + n + '
' : '

' + o + '

' + n + '
'; }, eventCancel: function(e) { e.preventDefault(), - t.hide() + t.hide(); }, eventOK: function(o, n) { o.preventDefault(); var a = []; e("#gollum-dialog-dialog-body input").each(function() { - a[e(this).attr("name")] = e(this).val() + a[e(this).attr("name")] = e(this).val(); }), - n && "function" == typeof n && n(a), - t.hide() + n && "function" === typeof n && n(a), + t.hide(); }, hide: function() { e.facebox ? (t.markupCreated = !1, @@ -933,24 +933,24 @@ }, { duration: 200, complete: function() { - e("#gollum-dialog-dialog").removeClass("active") + e("#gollum-dialog-dialog").removeClass("active"); } - }) + }); }, init: function(o) { var n = "", a = ""; - o && "object" == typeof o && (o.body && "string" == typeof o.body && (a = "

" + o.body + "

"), - o.fields && "object" == typeof o.fields && (a += t.createFieldMarkup(o.fields)), - o.title && "string" == typeof o.title && (n = o.title), + o && "object" === typeof o && (o.body && "string" === typeof o.body && (a = "

" + o.body + "

"), + o.fields && "object" === typeof o.fields && (a += t.createFieldMarkup(o.fields)), + o.title && "string" === typeof o.title && (n = o.title), t.markupCreated && (e.facebox ? e(document).trigger("close.facebox") : e("#gollum-dialog-dialog").remove()), t.markup = t.createMarkup(n, a), e.facebox ? e(document).bind("reveal.facebox", function() { - o.OK && "function" == typeof o.OK && (t.attachEvents(o.OK), - e(e('#facebox input[type="text"]').get(0)).focus()) + o.OK && "function" === typeof o.OK && (t.attachEvents(o.OK), + e(e('#facebox input[type="text"]').get(0)).focus()); }) : (e("body").append(t.markup), - o.OK && "function" == typeof o.OK && t.attachEvents(o.OK)), - t.show()) + o.OK && "function" === typeof o.OK && t.attachEvents(o.OK)), + t.show()); }, show: function() { t.markupCreated && (e.facebox ? e.facebox(t.markup) : e.browser.msie ? (e("#gollum-dialog.dialog").addClass("active"), @@ -967,20 +967,20 @@ opacity: 1 }, { duration: 500 - }) + }); } - }))) + }))); }, position: function() { var t = e("#gollum-dialog-dialog-inner").height(); - e("#gollum-dialog-dialog-inner").css("height", t + "px").css("margin-top", -1 * parseInt(t / 2)) + e("#gollum-dialog-dialog-inner").css("height", t + "px").css("margin-top", -1 * parseInt(t / 2)); } }; e.facebox && e(document).bind("reveal.facebox", function() { - e("#facebox img.close_image").remove() + e("#facebox img.close_image").remove(); }), - e.GollumDialog = t - })(unsafeWindow.$) + e.GollumDialog = t; + })(unsafeWindow.$); } else { unsafeWindow.$.GollumEditor.Dialog.createFieldText = unsafeWindow.$.GollumDialog.createFieldText = function(e) { var t = ""; @@ -990,9 +990,9 @@ t += ''), - t + t; }; } } @@ -1056,7 +1056,7 @@ }, { patterns: 'img', type: 'void', - replacement: function(str, attrs, innerHTML) { + replacement: function(str, attrs) { var src = attrs.match(attrRegExp('src')), alt = attrs.match(attrRegExp('alt')), title = attrs.match(attrRegExp('title')); From 5944a788abcf18a5fb5831ce8fb170bf5fae28cf Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 4 Feb 2016 23:17:50 +0100 Subject: [PATCH 004/164] Convert glyph fonts to svg icons --- .../Github_Comment_Enhancer.user.js | 45 ++++++++++--------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index ad19794..c23a4cb 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -278,13 +278,13 @@ '
' + '
' + ' ' + - ' h#' + + ' ' + ' ' + '
' + '
' + '
' + ' Choose header' + - ' ' + + ' ' + '
' + '
' + ' ' + @@ -314,23 +314,23 @@ /* Link & image; */ ' ' + /* Lists (unordered, ordered & task); */ ' ' + @@ -338,13 +338,13 @@ '
' + '
' + ' ' + - ' ' + + ' ' + ' ' + '
' + '
' + '
' + ' Code syntax' + - ' ' + + ' ' + '
' + '
' + '
' + @@ -363,13 +363,13 @@ /* Blockquote, horizontal rule & table; */ ' ' + @@ -377,13 +377,13 @@ '
' + '
' + ' ' + - ' ' + + ' ' + ' ' + '
' + '
' + '
' + ' Snippets' + - ' ' + + ' ' + '
' + '
' + '
' + @@ -416,13 +416,13 @@ '
' + '
' + ' ' + - ' ' + + ' ' + ' ' + '
' + '
' + '
' + ' Emoji' + - ' ' + + ' ' + '
' + '
' + '
' + @@ -443,7 +443,7 @@ '
' + '
' + ' ' + - ' ' + + ' ' + ' ' + '
' + '
'; @@ -1250,9 +1250,14 @@ newComment.focus(); }); - var replyIcon = document.createElement("span"); - replyIcon.classList.add("octicon", "octicon-mail-reply"); - reply.appendChild(replyIcon); + var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.classList.add("octicon", "octicon-mail-reply"); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); + reply.appendChild(svg); + var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute("d", "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z"); + svg.appendChild(path); actions.appendChild(reply); }); From a8cc07f1d554cfbf3f1ec41f7105cc176f6643ba Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 4 Feb 2016 23:19:25 +0100 Subject: [PATCH 005/164] Remove GitHub's toolbar --- .../Github_Comment_Enhancer.user.js | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index c23a4cb..5a6d742 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -731,22 +731,28 @@ }); } - function addSponsorLink(commentForm) { - var tabnavExtras = commentForm.parentNode.parentNode.querySelector(".comment-form-head .tabnav-right, .comment-form-head .right"); - if (tabnavExtras) { - var elem = commentForm; - while ((elem = elem.parentNode) && elem.nodeType !== 9 && !elem.classList.contains("timeline-inline-comments")) {} - var sponsoredText = elem !== document ? " Github Comment Enhancer" : " Enhanced by Github Comment Enhancer"; - var sponsored = document.createElement("a"); - sponsored.setAttribute("target", "_blank"); - sponsored.setAttribute("href", "https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme"); - sponsored.classList.add("tabnav-widget", "text", "tabnav-extras", "tabnav-extra"); - var sponsoredIcon = document.createElement("span"); - sponsoredIcon.classList.add("octicon", "octicon-question"); - sponsored.appendChild(sponsoredIcon); - sponsored.appendChild(document.createTextNode(sponsoredText)); - tabnavExtras.insertBefore(sponsored, tabnavExtras.firstElementChild); - } + function addSponsorLink() { + var sponsoredText = " Enhanced by Github Comment Enhancer"; + var sponsored = document.createElement("a"); + sponsored.setAttribute("target", "_blank"); + sponsored.setAttribute("href", "https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme"); + sponsored.classList.add("tabnav-extra"); + sponsored.style.cssFloat = "right"; + var sponsoredSvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + sponsoredSvg.classList.add("octicon", "octicon-question"); + sponsoredSvg.setAttribute("height", "16"); + sponsoredSvg.setAttribute("width", "16"); + sponsored.appendChild(sponsoredSvg); + var sponsoredPath = document.createElementNS("http://www.w3.org/2000/svg", "path"); + sponsoredPath.setAttribute("d", "M6 10h2v2H6V10z m4-3.5c0 2.14-2 2.5-2 2.5H6c0-0.55 0.45-1 1-1h0.5c0.28 0 0.5-0.22 0.5-0.5v-1c0-0.28-0.22-0.5-0.5-0.5h-1c-0.28 0-0.5 0.22-0.5 0.5v0.5H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z"); + sponsoredSvg.appendChild(sponsoredPath); + sponsored.appendChild(document.createTextNode(sponsoredText)); + return sponsored; + } + + function removeGitHubToolbar(commentForm) {console.log(commentForm); + var toolbar = commentForm.parentNode.parentNode.querySelector(".toolbar-commenting"); + toolbar.parentNode.replaceChild(addSponsorLink(), toolbar); } function commentFormKeyEvent(commentForm, e) { @@ -831,6 +837,8 @@ gollumEditor.style.margin = "10px 0"; gollumEditor.classList.add("active"); commentForm.parentNode.insertBefore(gollumEditor, commentForm); + + removeGitHubToolbar(commentForm); } // Execute next block only when suggester is available; @@ -845,8 +853,6 @@ } addCodeSyntax(commentForm); - - addSponsorLink(commentForm); } Array.prototype.forEach.call(gollumEditor.parentNode.querySelectorAll(".function-button"), function(button) { From 5358be6bd84e725942ba91b12be134b8986fcc7f Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 4 Feb 2016 23:27:11 +0100 Subject: [PATCH 006/164] :shirt: Fixed linter warnings --- .../Github_Comment_Enhancer.user.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 5a6d742..90331d9 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -539,9 +539,9 @@ return /\/wiki\//.test(location.href); } - function isGist() { - return "gist.github.com" === location.host; - } + //function isGist() { + // return "gist.github.com" === location.host; + //} function overrideGollumMarkdown() { unsafeWindow.$.GollumEditor.defineLanguage("markdown", MarkDown); @@ -1125,9 +1125,7 @@ // Converts lists that have no child lists (of same type) first, then works its way up var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!/gi; while (string.match(noChildrenRegex)) { - string = string.replace(noChildrenRegex, function(str) { - return replaceLists(str); - }); + string = string.replace(noChildrenRegex, replaceLists); } function replaceLists(html) { @@ -1161,9 +1159,7 @@ // Blockquotes var deepest = /]*>((?:(?!/gi; while (string.match(deepest)) { - string = string.replace(deepest, function(str) { - return replaceBlockquotes(str); - }); + string = string.replace(deepest, replaceBlockquotes); } function replaceBlockquotes(html) { From 556ffcc0db02cc7827e53ef52aac35826a8cd114 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 6 Feb 2016 16:56:02 +0100 Subject: [PATCH 007/164] :bug: Fixed inline comments with more then one diff file --- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 90331d9..7e56df5 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -1279,7 +1279,7 @@ // For inline comments on commits; var files = document.querySelectorAll('.diff-table'); Array.prototype.forEach.call(files, function(file) { - file = file.firstElementChild; + file = file.querySelector(".diff-table > tbody"); new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.target === file) { From 0fa1190deee285c202008be0dbcd7ed8855e1e1d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 6 Feb 2016 17:16:25 +0100 Subject: [PATCH 008/164] Fixed working on contact page --- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 7e56df5..3cd2a73 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -750,9 +750,11 @@ return sponsored; } - function removeGitHubToolbar(commentForm) {console.log(commentForm); + function removeGitHubToolbar(commentForm) { var toolbar = commentForm.parentNode.parentNode.querySelector(".toolbar-commenting"); - toolbar.parentNode.replaceChild(addSponsorLink(), toolbar); + if (toolbar) { + toolbar.parentNode.replaceChild(addSponsorLink(), toolbar); + } } function commentFormKeyEvent(commentForm, e) { From e5787a3531c3a61e0a518b1683e0352930e4da1b Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 6 Feb 2016 17:20:50 +0100 Subject: [PATCH 009/164] :art: --- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 3cd2a73..fcea939 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -383,7 +383,7 @@ '
' + '
' + ' Snippets' + - ' ' + + ' ' + '
' + '
' + '
' + From 775a63b909237075ec2b8d39b1f162aa7e047ff0 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 6 Feb 2016 19:48:49 +0100 Subject: [PATCH 010/164] :art: Align headers --- .../Github_Comment_Enhancer.user.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index fcea939..459a562 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -288,22 +288,22 @@ '
' + ' ' + '
' + From d98be89ebf08d35652310d0be9f8a56eb537ab96 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 6 Feb 2016 20:02:01 +0100 Subject: [PATCH 011/164] Headers menu is accessible by keyboard again. Header items aren't stuck on selected anymore. --- .../Github_Comment_Enhancer.user.js | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 459a562..123587f 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -277,7 +277,7 @@ /* Headers (1 - 6); */ '
' + '
' + - ' ' + + ' ' + ' ' + ' ' + '
' + @@ -287,22 +287,22 @@ ' ' + '
' + ' ' + @@ -336,8 +336,8 @@ /* Code (syntax); */ '
' + - '
' + - ' ' + + '
' + + ' ' + ' ' + ' ' + '
' + @@ -356,7 +356,7 @@ '
' + '
' + '
' + - ' ' + + ' ' + '
' + '
' + @@ -413,7 +413,7 @@ '
' + /* Emoji; */ - '
' + + '
' + '
' + ' ' + ' ' + From 580f4b707582be6b21a14876e4b3d2e8d64d1689 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 7 Feb 2016 19:28:58 +0100 Subject: [PATCH 012/164] Fix popup alignment --- Horizon_TV_Fixer/155147.user.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index f3dc7f0..83bb6c6 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -86,6 +86,9 @@ if (popup.classList.contains("socials-done")) return; popup.classList.add("socials-done"); + var popoverTop = popup.closest(".popover.top"); + if (popoverTop) popoverTop.style.marginTop = "-43px"; + var title = popup.querySelector("h3").textContent.trim(); var subtitle = ""; var channel = popup.querySelector(".time-details").textContent.split(",")[0].trim(); From 6e251874a75e9c0407d1beea9e7923dd06650a0b Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 14 Feb 2016 22:25:06 +0100 Subject: [PATCH 013/164] Fixed button width after some more GitHub site changes --- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 123587f..645c42d 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -256,7 +256,7 @@ })(); var toolBarLeftHTML = - '
' + + '
' + /* Bold, italic, underline & Strikethrough; */ '
' + @@ -822,7 +822,7 @@ var tempLeft = document.createElement("div"); tempLeft.innerHTML = toolBarLeftHTML; - gollumEditor.replaceChild(tempLeft.querySelector("#gollum-editor-function-buttons"), document.getElementById("gollum-editor-function-buttons")); + gollumEditor.replaceChild(tempLeft, document.getElementById("gollum-editor-function-buttons")); var tempRight = document.createElement("div"); tempRight.innerHTML = toolBarRightHTML; From c7dd8bc2058a2573b2b6ce61043135526d84e159 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 14 Feb 2016 22:50:25 +0100 Subject: [PATCH 014/164] Fixed GitHub changes (fixes #98); --- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 3 ++- Github_Comment_Enhancer/README.md | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 645c42d..344e189 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -12,7 +12,8 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 2.8.3 +// @version 2.9.0 +// @icon https://github.com/fluidicon.png // @grant none // @run-at document-end // @include https://github.com/* diff --git a/Github_Comment_Enhancer/README.md b/Github_Comment_Enhancer/README.md index 9b9672f..bed1b9e 100644 --- a/Github_Comment_Enhancer/README.md +++ b/Github_Comment_Enhancer/README.md @@ -60,6 +60,8 @@ Every comment field also got a toolbar, consisting of the following buttons: ## Version History +* **2.9.0** + * Fixed GitHub changes (fixes https://github.com/jerone/UserScripts/issues/98); * **2.8.3** * Fixed erroring on non-editor pages (fixes https://github.com/jerone/UserScripts/issues/95); * **2.8.2** From 1973e7d7124c508622be8b1d758ab87ccb9a6f43 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 20 Feb 2016 11:07:53 +0100 Subject: [PATCH 015/164] :memo: Remove support for anything other then Firefox GreaseMonkey. Closes #101 --- April_Fools_CSS/README.md | 3 --- Darts_Data_Enhancer/README.md | 2 -- GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md | 3 --- Github_Comment_Enhancer/README.md | 6 ------ Github_Commit_Diff/README.md | 4 ---- Github_Commit_Whitespace/README.md | 3 --- Github_Gist_Share/README.md | 3 --- Github_Image_Viewer/README.md | 4 ---- Github_JSON_Dependencies_Linker/README.md | 2 -- Github_News_Feed_Filter/README.md | 2 -- Github_Pages_Linker/README.md | 3 --- Github_Pull_Request_From/README.md | 6 ------ Github_User_Info/README.md | 2 -- Horizon_TV_Fixer/README.md | 2 -- Marktplaats_Exchanger/README.md | 2 -- Multiple_Windows_Live_IDs/README.md | 3 --- Outlook_Sign_Out_To_Login/README.md | 3 --- PDF_Tools/README.md | 2 -- Twitter_profile_replies_hider/README.md | 3 --- Twitter_profile_retweets_hider/README.md | 3 --- _resources/TEMPLATE.md | 3 --- 21 files changed, 64 deletions(-) diff --git a/April_Fools_CSS/README.md b/April_Fools_CSS/README.md index 306e0fe..bd51ffc 100644 --- a/April_Fools_CSS/README.md +++ b/April_Fools_CSS/README.md @@ -14,9 +14,6 @@ Some CSS april fools ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Darts_Data_Enhancer/README.md b/Darts_Data_Enhancer/README.md index a90b430..06a1a76 100644 --- a/Darts_Data_Enhancer/README.md +++ b/Darts_Data_Enhancer/README.md @@ -17,8 +17,6 @@ Add features to enhance darts data tracking site [live.dartsdata.com](http://liv * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - ## Version History diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md index 6df0fa5..6d7b4c0 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md @@ -28,9 +28,6 @@ Currently supported sites: ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_Comment_Enhancer/README.md b/Github_Comment_Enhancer/README.md index bed1b9e..0492e41 100644 --- a/Github_Comment_Enhancer/README.md +++ b/Github_Comment_Enhancer/README.md @@ -50,12 +50,6 @@ Every comment field also got a toolbar, consisting of the following buttons: ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Chromium.png) Native](http://www.chromium.org/developers/design-documents/user-scripts) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/GoogleChrome.png) Google Chrome](https://www.google.com/chrome/) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) TamperMonkey](http://tampermonkey.net) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/GoogleChrome.png) Google Chrome](https://www.google.com/chrome/) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/QupZilla.png) QupZilla](http://www.qupzilla.com/) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 82d5830..6816dd0 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -21,10 +21,6 @@ This works on commits, pull requests and compare pages. ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/QupZilla.png) QupZilla](http://www.qupzilla.com/) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index 368971b..a12bb0c 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -24,9 +24,6 @@ This works on commits, pull requests and compare pages. ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index 511b3ae..4340b7c 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -24,9 +24,6 @@ Share your [GitHub Gist](https://gist.github.com) to: ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index e1fb38c..4d7a37a 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -30,10 +30,6 @@ Supported file extensions are: ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/QupZilla.png) QupZilla](http://www.qupzilla.com/) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index a436dc2..077e612 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -35,8 +35,6 @@ In the JSON file it will search for the following dependency keys: * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - ## Version History diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index d4c1517..e00a174 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -62,8 +62,6 @@ Currently integrated filters: * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - ## Version History * **7.0.0** diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index c3daaf8..f9cc12d 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -19,9 +19,6 @@ Add a link to Github Pages (gh-pages) when available. ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index d14a499..156cf41 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -19,12 +19,6 @@ Make pull request branches linkable. ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Chromium.png) Native](http://www.chromium.org/developers/design-documents/user-scripts) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/GoogleChrome.png) Google Chrome](https://www.google.com/chrome/) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) TamperMonkey](http://tampermonkey.net) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/GoogleChrome.png) Google Chrome](https://www.google.com/chrome/) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/QupZilla.png) QupZilla](http://www.qupzilla.com/) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 5891b1b..3c41230 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -20,8 +20,6 @@ Show user information on avatar hover. * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - ## Version History diff --git a/Horizon_TV_Fixer/README.md b/Horizon_TV_Fixer/README.md index f405cbb..6e3d1ec 100644 --- a/Horizon_TV_Fixer/README.md +++ b/Horizon_TV_Fixer/README.md @@ -31,8 +31,6 @@ Improves the [Horizon TV Gids](https://www.horizon.tv/nl_nl/tv-gids.html) by ext * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - This script doesn't work on browsers that don't implement [ES6 arrow functions](http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax) syntax. diff --git a/Marktplaats_Exchanger/README.md b/Marktplaats_Exchanger/README.md index b1d90ae..325e978 100644 --- a/Marktplaats_Exchanger/README.md +++ b/Marktplaats_Exchanger/README.md @@ -20,8 +20,6 @@ Adds an extra checkbox on the "Mijn Favorieten" page to select all sold ads for * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - ## Version History diff --git a/Multiple_Windows_Live_IDs/README.md b/Multiple_Windows_Live_IDs/README.md index 8f734b6..e1d0131 100644 --- a/Multiple_Windows_Live_IDs/README.md +++ b/Multiple_Windows_Live_IDs/README.md @@ -22,9 +22,6 @@ Easy login with multiple Microsoft accounts. ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Outlook_Sign_Out_To_Login/README.md b/Outlook_Sign_Out_To_Login/README.md index 9ba36b7..c4c2305 100644 --- a/Outlook_Sign_Out_To_Login/README.md +++ b/Outlook_Sign_Out_To_Login/README.md @@ -14,9 +14,6 @@ Redirect back to login page when signing out from Outlook. ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/PDF_Tools/README.md b/PDF_Tools/README.md index df0da2f..3ad9144 100644 --- a/PDF_Tools/README.md +++ b/PDF_Tools/README.md @@ -21,8 +21,6 @@ An userscript that enhances the pdf.js window in Firefox. * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... - ## Version History diff --git a/Twitter_profile_replies_hider/README.md b/Twitter_profile_replies_hider/README.md index 4fd976c..d8877dc 100644 --- a/Twitter_profile_replies_hider/README.md +++ b/Twitter_profile_replies_hider/README.md @@ -19,9 +19,6 @@ Hide replies on Twitter profiles ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/Twitter_profile_retweets_hider/README.md b/Twitter_profile_retweets_hider/README.md index 42b1fe8..22195bb 100644 --- a/Twitter_profile_retweets_hider/README.md +++ b/Twitter_profile_retweets_hider/README.md @@ -19,9 +19,6 @@ Hide retweets on Twitter profiles ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History diff --git a/_resources/TEMPLATE.md b/_resources/TEMPLATE.md index c9b1433..5a0ab1e 100644 --- a/_resources/TEMPLATE.md +++ b/_resources/TEMPLATE.md @@ -19,9 +19,6 @@ Lorum ipsum ## Compatible * [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - -Please [notify](https://github.com/jerone/UserScripts/issues/new?title=Userscript%20%3Cname%3E%20%28%3Cversion%3E%29%20also%20works%20in%20%3Cbrowser%3E%20on%20%3Cdesktop/device%3E) when this userscript is successfully tested in another browser... ## Version History From d3bebadf94763b4a171dd9ab8052598c81f86f21 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 21 Mar 2016 19:40:39 +0100 Subject: [PATCH 016/164] :bug: Fixed falsely identification branch creation and deletion --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 6 +++--- Github_News_Feed_Filter/README.md | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 7eda4e1..c83618f 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -14,7 +14,7 @@ // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* // @include https://github.com/*tab=activity* -// @version 7.0.0 +// @version 7.0.1 // @grant none // ==/UserScript== /* global Event, Set */ @@ -326,10 +326,10 @@ // Fix filter action identification; function fixActionAlerts(newsContainer) { Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { - if (alert.getElementsByClassName("octicon-git-branch").length > 0 && !alert.classList.contains("fork")) { + if (!!~alert.querySelector('.title').textContent.indexOf('created branch')) { alert.classList.remove("create"); alert.classList.add("branch_create"); - } else if (alert.getElementsByClassName("octicon-git-branch-delete").length > 0) { + } else if (!!~alert.querySelector('.title').textContent.indexOf('deleted branch')) { alert.classList.remove("delete"); alert.classList.add("branch_delete"); } else if (alert.getElementsByClassName("octicon-tag").length > 0 && !alert.classList.contains("release")) { diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index e00a174..3f7c33f 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -64,6 +64,8 @@ Currently integrated filters: ## Version History +* **7.0.1** + * :bug: Fixed falsely identification branch creation and deletion; * **7.0.0** * Restored icons after GitHub switching to SVG; * **6.2** From 95fb33cfc75814a80d19f4666939d036ea82c8ae Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 21 Mar 2016 20:12:52 +0100 Subject: [PATCH 017/164] :clapper: Compatibility fixes for v1.1.107 --- Horizon_TV_Fixer/155147.user.js | 6 +++--- Horizon_TV_Fixer/README.md | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 83bb6c6..9e3aa74 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 29 +// @version 30 // @grant none // @include *horizon.tv* // ==/UserScript== @@ -186,7 +186,7 @@ " +*/ /* Replay notification; */ - "\ + /*"\ .listing div.notifications { \ margin-top: 0; \ position: absolute; \ @@ -197,7 +197,7 @@ .listing:hover div.notifications { \ opacity: 1; \ } \ - " + + " +*/ /* Channel number; */ "\ diff --git a/Horizon_TV_Fixer/README.md b/Horizon_TV_Fixer/README.md index f405cbb..86c6df3 100644 --- a/Horizon_TV_Fixer/README.md +++ b/Horizon_TV_Fixer/README.md @@ -38,6 +38,8 @@ This script doesn't work on browsers that don't implement [ES6 arrow functions]( ## Version History +* **30** (v1.1.107) + * Compatibility fixes for v1.1.107; * **29** (v1.1.96) * Compatibility fixes for v1.1.96; * **28** (v1.1.92) From 8e4bc75a5261047a369791b722eb267fd2b5e60e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 6 Apr 2016 23:23:49 +0200 Subject: [PATCH 018/164] :bug: Rewrite after site changes (fixes #103) --- .../Multiple_Windows_Live_IDs.user.js | 98 +++++++++---------- Multiple_Windows_Live_IDs/README.md | 31 +++--- 2 files changed, 68 insertions(+), 61 deletions(-) diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 839a07f..0be1ee6 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.1.2 +// @version 0.2.0 // @grant GM_getValue // @grant GM_setValue // @run-at document-end @@ -98,41 +98,37 @@ var metroColors = ["#00AEDB", "#00B159", "#F37735", "#7C4199", "#FFC425", "#EC098C", "#D11141", "#000000"], metroColorsIndex = -1; var css = - // hide ad; - "#brandModeTD { display:none; }" + + // layout; + "#maincontent, #accountTD { display: inline-block; }" + // accounts; - "#accountTD { font-size: 12px; width: 475px; }" + - "#accountTD .profile { text-transform: uppercase; color: #FFFFFF; cursor: pointer; float: left; height: 138px; position: relative; margin: 5px; padding: 5px; line-height: 150px; text-align: center; width: 138px; }" + + "#accountTD { font-size: 12px; width: 500px; min-height: 400px; margin: 5px; }" + + "#accountTD .profile { text-transform: uppercase; color: #FFFFFF; cursor: pointer; float: left; height: 150px; position: relative; margin: 5px; padding: 5px; text-align: center; width: 150px; }" + "#accountTD .profile:hover{ opacity: 0.85; }" + "#accountTD .profile.dark { color: #000000; }" + - "#accountTD .profile > img { margin-bottom: 30px; max-height: 100px; max-width: 100px; vertical-align: middle; }" + - "#accountTD .profile > span { bottom: 0; left: 0; margin: 5px; overflow: hidden; position: absolute; text-overflow: ellipsis; white-space: nowrap; width: 138px; }" + + "#accountTD .profile > img { max-height: 100px; max-width: 100px; vertical-align: middle; }" + + "#accountTD .profile > span { bottom: 0; left: 0; margin: 5px; overflow: hidden; position: absolute; text-overflow: ellipsis; white-space: nowrap; width: 140px; }" + "#accountTD .profile > div { display: none; position: absolute; right: 0; top: 0; }" + "#accountTD .profile > div img { opacity: 0.3; margin: 4px 4px 0 0; }" + "#accountTD .profile:hover > div { display: block; }" + "#accountTD .profile:hover > div img:hover { opacity: 1; }" + // add account button; - "#accountTD .addAccountBtn { opacity: 0.6; width: 88px; height: 88px; }" + + "#accountTD .addAccountBtn { opacity: 0.6; width: 100px; height: 100px; }" + "#accountTD .addAccountBtn:hover { opacity: 1; }" + - "#accountTD .addAccountBtn > img { margin-bottom: 80px; max-height: 40px; max-width: 40px; }" + - "#accountTD .addAccountBtn > span { width: 88px; }" + + "#accountTD .addAccountBtn > img { max-height: 40px; max-width: 40px; }" + + "#accountTD .addAccountBtn > span { width: 90px; }" + "#accountTD .addAccountBtn > div { float: right; }" + // edit account; - "#editAccountTD { display: none; width: 420px; position: relative; }" + + "#editAccountTD { display: none; position: relative; }" + "#editAccountTD .signInHeader img { position: relative; left: -34px; }" + - "#editAccountTD .phholder { position: absolute; top: 0px; left: 0px; z-index: 5; width: 100%; cursor: text; }" + - "#editAccountTD .row.textbox { position: relative; width: 100%; }" + - "#editAccountTD .errorDiv { display: none; }" + + "#editAccountTD .phholder { left: 0px; top: 0px; width: 100%; position: absolute; z-index: 5; cursor: text; }" + + "#editAccountTD .alert-error { display: none; }" + "#editAccountCancel { background-color: #D11141; margin-left: 8px; }" + // password mask; - ".passMask { position: absolute; right: 8px; top: 8px; width: 16px; height: 16px; cursor: pointer; }" + - - // fix for Microsoft login; - ".placeholder { margin: 6px 9px; }"; + ".passMask { position: absolute; right: 8px; top: 8px; width: 16px; height: 16px; cursor: pointer; }"; var stylesheet = document.createElement("style"); stylesheet.type = "text/css"; if (stylesheet.styleSheet) { @@ -144,10 +140,9 @@ var accountTD = document.createElement("div"); accountTD.id = "accountTD"; - accountTD.classList.add("floatLeft"); - var mainTD = document.getElementById("mainTD"); - mainTD.insertBefore(accountTD, mainTD.firstChild); + var mainTD = document.getElementById("maincontent"); + mainTD.parentNode.insertBefore(accountTD, mainTD); function paint() { profiles.forEach(function(profile, i) { @@ -163,14 +158,10 @@ profileDiv.style.backgroundColor = profile.color; profileDiv.addEventListener("click", proxy(function(_event, _profile) { document.getElementById("i0116").value = _profile.mail; + fireEvent(document.getElementById("i0116"), "change"); - var idDiv_PWD_UsernameExample = document.getElementById("idDiv_PWD_UsernameExample"); - if (idDiv_PWD_UsernameExample) { idDiv_PWD_UsernameExample.style.display = "none"; } - - document.getElementById("i0118").value = _profile.pass; - - var idDiv_PWD_PasswordExample = document.getElementById("idDiv_PWD_PasswordExample"); - if (idDiv_PWD_PasswordExample) { idDiv_PWD_PasswordExample.style.display = "none"; } + document.getElementById("i0118").value = _profile.pass; + fireEvent(document.getElementById("i0118"), "change"); if (autoLogin) { document.getElementById("idSIButton9").click(); @@ -239,7 +230,7 @@ profileManageEdit.addEventListener("click", proxy(function(_event, _profile, _i) { _event.stopPropagation(); - document.getElementById("signInTD").style.display = "none"; + document.querySelector("#maincontent > section").style.display = "none"; document.getElementById("editAccountTD").style.display = "block"; @@ -275,7 +266,7 @@ addAccountBtnDiv.setAttribute("title", "Add account"); addAccountBtnDiv.style.backgroundColor = "#0072C6"; addAccountBtnDiv.addEventListener("click", function() { - document.getElementById("signInTD").style.display = "none"; + document.querySelector("#maincontent > section").style.display = "none"; document.getElementById("editAccountTD").style.display = "block"; @@ -311,21 +302,26 @@ '
' + '

Multiple Windows Live IDs

' + '
' + - '
' + - '
' + - '
' + - '
Add account
' + - '
Edit account
' + - '
Name
' + - '
Please enter your email address in the format someone@example.com.
' + - '
someone@example.com
' + - '
Please enter the password for your Microsoft account.
' + - '
Password
' + - '
http://my.pictu.re/img.png
' + - '
#AB12CD
' + + '' + + '
'; mainTD.appendChild(editAccountDiv); @@ -350,7 +346,9 @@ if (addPassMask) { addPassMaskFn(editAccountPass); } - document.getElementById("editAccountSubmit").addEventListener("click", function() { + document.getElementById("editAccountSubmit").addEventListener("click", function(e) { + e.preventDefault(); + editAccountMailError.style.display = !editAccountMail.value ? "block" : "none"; editAccountPassError.style.display = !editAccountPass.value ? "block" : "none"; @@ -369,15 +367,17 @@ repaint(); - document.getElementById("signInTD").style.display = "block"; + document.querySelector("#maincontent > section").style.display = "block"; document.getElementById("editAccountTD").style.display = "none"; setAccount(); }); - document.getElementById("editAccountCancel").addEventListener("click", function() { - document.getElementById("signInTD").style.display = "block"; + document.getElementById("editAccountCancel").addEventListener("click", function(e) { + e.preventDefault(); + + document.querySelector("#maincontent > section").style.display = "block"; document.getElementById("editAccountTD").style.display = "none"; @@ -390,7 +390,7 @@ editAccountHeader1.style.display = !id ? "block" : "none"; editAccountHeader2.style.display = id ? "block" : "none"; - editAccountId.value = id || -1; + editAccountId.value = id != null ? id : -1; editAccountName.value = profile.name || ""; editAccountMail.value = profile.mail || ""; editAccountPass.value = profile.pass || ""; diff --git a/Multiple_Windows_Live_IDs/README.md b/Multiple_Windows_Live_IDs/README.md index e1d0131..5ef7c03 100644 --- a/Multiple_Windows_Live_IDs/README.md +++ b/Multiple_Windows_Live_IDs/README.md @@ -5,35 +5,42 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Easy login with multiple Microsoft accounts. - ## Screenshot ### View + ![Multiple Windows Live IDs view screenshot](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/screenshot_view_v1.jpg) + ### Edit -![Multiple Windows Live IDs edit screenshot](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/screenshot_edit_v1.jpg) +![Multiple Windows Live IDs edit screenshot](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/screenshot_edit_v1.jpg) ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.1.1** - * Doing some clean up; - * Fixed info link; -* **0.1.0** - * Initial version; +* **0.2.0** + + * Rewrite after site changes (fixes [#103][]). + +* **0.1.1** + * Doing some clean up; + * Fixed info link; + +* **0.1.0** + + * Initial version; ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/6277-multiple-windows-live-ids) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Multiple_Windows_Live_IDs) +* [Greasy Fork](https://greasyfork.org/en/scripts/6277-multiple-windows-live-ids) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Multiple_Windows_Live_IDs) + +[#103]: https://github.com/jerone/UserScripts/issues/103 From a154ed3b07c8ffb606592223082b4df922f86b95 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 26 Apr 2016 23:10:56 +0200 Subject: [PATCH 019/164] :bug: Rewrite after site changes (fixes #103) (#107) :bug: Rewrite after site changes (fixes #103) --- .../Multiple_Windows_Live_IDs.user.js | 98 +++++++++---------- Multiple_Windows_Live_IDs/README.md | 31 +++--- 2 files changed, 68 insertions(+), 61 deletions(-) diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 839a07f..0be1ee6 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.1.2 +// @version 0.2.0 // @grant GM_getValue // @grant GM_setValue // @run-at document-end @@ -98,41 +98,37 @@ var metroColors = ["#00AEDB", "#00B159", "#F37735", "#7C4199", "#FFC425", "#EC098C", "#D11141", "#000000"], metroColorsIndex = -1; var css = - // hide ad; - "#brandModeTD { display:none; }" + + // layout; + "#maincontent, #accountTD { display: inline-block; }" + // accounts; - "#accountTD { font-size: 12px; width: 475px; }" + - "#accountTD .profile { text-transform: uppercase; color: #FFFFFF; cursor: pointer; float: left; height: 138px; position: relative; margin: 5px; padding: 5px; line-height: 150px; text-align: center; width: 138px; }" + + "#accountTD { font-size: 12px; width: 500px; min-height: 400px; margin: 5px; }" + + "#accountTD .profile { text-transform: uppercase; color: #FFFFFF; cursor: pointer; float: left; height: 150px; position: relative; margin: 5px; padding: 5px; text-align: center; width: 150px; }" + "#accountTD .profile:hover{ opacity: 0.85; }" + "#accountTD .profile.dark { color: #000000; }" + - "#accountTD .profile > img { margin-bottom: 30px; max-height: 100px; max-width: 100px; vertical-align: middle; }" + - "#accountTD .profile > span { bottom: 0; left: 0; margin: 5px; overflow: hidden; position: absolute; text-overflow: ellipsis; white-space: nowrap; width: 138px; }" + + "#accountTD .profile > img { max-height: 100px; max-width: 100px; vertical-align: middle; }" + + "#accountTD .profile > span { bottom: 0; left: 0; margin: 5px; overflow: hidden; position: absolute; text-overflow: ellipsis; white-space: nowrap; width: 140px; }" + "#accountTD .profile > div { display: none; position: absolute; right: 0; top: 0; }" + "#accountTD .profile > div img { opacity: 0.3; margin: 4px 4px 0 0; }" + "#accountTD .profile:hover > div { display: block; }" + "#accountTD .profile:hover > div img:hover { opacity: 1; }" + // add account button; - "#accountTD .addAccountBtn { opacity: 0.6; width: 88px; height: 88px; }" + + "#accountTD .addAccountBtn { opacity: 0.6; width: 100px; height: 100px; }" + "#accountTD .addAccountBtn:hover { opacity: 1; }" + - "#accountTD .addAccountBtn > img { margin-bottom: 80px; max-height: 40px; max-width: 40px; }" + - "#accountTD .addAccountBtn > span { width: 88px; }" + + "#accountTD .addAccountBtn > img { max-height: 40px; max-width: 40px; }" + + "#accountTD .addAccountBtn > span { width: 90px; }" + "#accountTD .addAccountBtn > div { float: right; }" + // edit account; - "#editAccountTD { display: none; width: 420px; position: relative; }" + + "#editAccountTD { display: none; position: relative; }" + "#editAccountTD .signInHeader img { position: relative; left: -34px; }" + - "#editAccountTD .phholder { position: absolute; top: 0px; left: 0px; z-index: 5; width: 100%; cursor: text; }" + - "#editAccountTD .row.textbox { position: relative; width: 100%; }" + - "#editAccountTD .errorDiv { display: none; }" + + "#editAccountTD .phholder { left: 0px; top: 0px; width: 100%; position: absolute; z-index: 5; cursor: text; }" + + "#editAccountTD .alert-error { display: none; }" + "#editAccountCancel { background-color: #D11141; margin-left: 8px; }" + // password mask; - ".passMask { position: absolute; right: 8px; top: 8px; width: 16px; height: 16px; cursor: pointer; }" + - - // fix for Microsoft login; - ".placeholder { margin: 6px 9px; }"; + ".passMask { position: absolute; right: 8px; top: 8px; width: 16px; height: 16px; cursor: pointer; }"; var stylesheet = document.createElement("style"); stylesheet.type = "text/css"; if (stylesheet.styleSheet) { @@ -144,10 +140,9 @@ var accountTD = document.createElement("div"); accountTD.id = "accountTD"; - accountTD.classList.add("floatLeft"); - var mainTD = document.getElementById("mainTD"); - mainTD.insertBefore(accountTD, mainTD.firstChild); + var mainTD = document.getElementById("maincontent"); + mainTD.parentNode.insertBefore(accountTD, mainTD); function paint() { profiles.forEach(function(profile, i) { @@ -163,14 +158,10 @@ profileDiv.style.backgroundColor = profile.color; profileDiv.addEventListener("click", proxy(function(_event, _profile) { document.getElementById("i0116").value = _profile.mail; + fireEvent(document.getElementById("i0116"), "change"); - var idDiv_PWD_UsernameExample = document.getElementById("idDiv_PWD_UsernameExample"); - if (idDiv_PWD_UsernameExample) { idDiv_PWD_UsernameExample.style.display = "none"; } - - document.getElementById("i0118").value = _profile.pass; - - var idDiv_PWD_PasswordExample = document.getElementById("idDiv_PWD_PasswordExample"); - if (idDiv_PWD_PasswordExample) { idDiv_PWD_PasswordExample.style.display = "none"; } + document.getElementById("i0118").value = _profile.pass; + fireEvent(document.getElementById("i0118"), "change"); if (autoLogin) { document.getElementById("idSIButton9").click(); @@ -239,7 +230,7 @@ profileManageEdit.addEventListener("click", proxy(function(_event, _profile, _i) { _event.stopPropagation(); - document.getElementById("signInTD").style.display = "none"; + document.querySelector("#maincontent > section").style.display = "none"; document.getElementById("editAccountTD").style.display = "block"; @@ -275,7 +266,7 @@ addAccountBtnDiv.setAttribute("title", "Add account"); addAccountBtnDiv.style.backgroundColor = "#0072C6"; addAccountBtnDiv.addEventListener("click", function() { - document.getElementById("signInTD").style.display = "none"; + document.querySelector("#maincontent > section").style.display = "none"; document.getElementById("editAccountTD").style.display = "block"; @@ -311,21 +302,26 @@ '
' + '

Multiple Windows Live IDs

' + '
' + - '
' + - '
' + - '
' + - '
Add account
' + - '
Edit account
' + - '
Name
' + - '
Please enter your email address in the format someone@example.com.
' + - '
someone@example.com
' + - '
Please enter the password for your Microsoft account.
' + - '
Password
' + - '
http://my.pictu.re/img.png
' + - '
#AB12CD
' + + '' + + '
' + + '
' + + '
Add account
' + + '
Edit account
' + + '
'+ + '
Name
' + + '
'+ + '
Please enter your email address in the format someone@example.com.
' + + '
someone@example.com
' + + '
'+ + '
Please enter the password for your Microsoft account.
' + + '
Password
' + + '
'+ + '
http://my.pictu.re/img.png
' + + '
'+ + '
#AB12CD
' + '
' + - '
' + - '
Multiple Windows Live IDs. More info...
' + + '
' + + '
Multiple Windows Live IDs. More info...
' + '
'; mainTD.appendChild(editAccountDiv); @@ -350,7 +346,9 @@ if (addPassMask) { addPassMaskFn(editAccountPass); } - document.getElementById("editAccountSubmit").addEventListener("click", function() { + document.getElementById("editAccountSubmit").addEventListener("click", function(e) { + e.preventDefault(); + editAccountMailError.style.display = !editAccountMail.value ? "block" : "none"; editAccountPassError.style.display = !editAccountPass.value ? "block" : "none"; @@ -369,15 +367,17 @@ repaint(); - document.getElementById("signInTD").style.display = "block"; + document.querySelector("#maincontent > section").style.display = "block"; document.getElementById("editAccountTD").style.display = "none"; setAccount(); }); - document.getElementById("editAccountCancel").addEventListener("click", function() { - document.getElementById("signInTD").style.display = "block"; + document.getElementById("editAccountCancel").addEventListener("click", function(e) { + e.preventDefault(); + + document.querySelector("#maincontent > section").style.display = "block"; document.getElementById("editAccountTD").style.display = "none"; @@ -390,7 +390,7 @@ editAccountHeader1.style.display = !id ? "block" : "none"; editAccountHeader2.style.display = id ? "block" : "none"; - editAccountId.value = id || -1; + editAccountId.value = id != null ? id : -1; editAccountName.value = profile.name || ""; editAccountMail.value = profile.mail || ""; editAccountPass.value = profile.pass || ""; diff --git a/Multiple_Windows_Live_IDs/README.md b/Multiple_Windows_Live_IDs/README.md index e1d0131..5ef7c03 100644 --- a/Multiple_Windows_Live_IDs/README.md +++ b/Multiple_Windows_Live_IDs/README.md @@ -5,35 +5,42 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Easy login with multiple Microsoft accounts. - ## Screenshot ### View + ![Multiple Windows Live IDs view screenshot](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/screenshot_view_v1.jpg) + ### Edit -![Multiple Windows Live IDs edit screenshot](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/screenshot_edit_v1.jpg) +![Multiple Windows Live IDs edit screenshot](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/screenshot_edit_v1.jpg) ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.1.1** - * Doing some clean up; - * Fixed info link; -* **0.1.0** - * Initial version; +* **0.2.0** + + * Rewrite after site changes (fixes [#103][]). + +* **0.1.1** + * Doing some clean up; + * Fixed info link; + +* **0.1.0** + + * Initial version; ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/6277-multiple-windows-live-ids) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Multiple_Windows_Live_IDs) +* [Greasy Fork](https://greasyfork.org/en/scripts/6277-multiple-windows-live-ids) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Multiple_Windows_Live_IDs) + +[#103]: https://github.com/jerone/UserScripts/issues/103 From e52982abbcf1130ff6c6e9549f396b9707c70cdb Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Apr 2016 13:58:11 +0200 Subject: [PATCH 020/164] :clapper: New version of GitHub Commit Whitespace --- .../Github_Commit_Whitespace.user.js | 127 ++++++++++-------- Github_Commit_Whitespace/README.md | 2 + 2 files changed, 72 insertions(+), 57 deletions(-) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index d109fe5..f1ad365 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -11,69 +11,82 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.4.2 +// @version 1.4.3 // @grant none // ==/UserScript== /* global unsafeWindow */ (function() { - function addButton() { - var e; - if (!(/\/commit\//.test(location.href) || /\/compare\//.test(location.href) || /\/pull\/\d*\/files/.test(location.href)) || - !(e = document.getElementById("toc"))) { return; } - - var r = e.querySelector(".GithubCommitWhitespaceButton"); - if (r) { r.parentElement.removeChild(r); } - - var on = /w=/.test(location.search); // any occurense results in enabling; - - var b = e.querySelector(".toc-diff-stats"); - - var s = document.createElement("span"); - s.textContent = " \u2423"; - s.style.color = "#333"; // set color because of css selector `p.explain .octicon`; - - var a = document.createElement("a"); - a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); - if (on) { a.classList.add("selected"); } - a.setAttribute("href", url(on)); - a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespaces"); - a.appendChild(s); - - var g = document.createElement("div"); - g.classList.add("GithubCommitWhitespaceButton", "right"); - g.style.margin = "0 10px 0 0"; // give us some room; - g.appendChild(a); - - b.parentNode.insertBefore(g, b); - } - - function url(on) { - var searches = location.search.replace(/^\?/, "").split("&").filter(function(item) { - return item && !/w=.*/.test(item); - }); - if (!on) { - searches.push("w=1"); - } - return location.href.replace(location.search, "") - + (searches.length > 0 ? "?" + searches.join("&") : ""); - } - - // init; - addButton(); - - // on pjax; - unsafeWindow.$(document).on("pjax:end", addButton); // `pjax:end` also runs on history back; - - // on PR files tab; - var f; - if ((f = document.querySelector(".js-pull-request-tab[data-container-id='files_bucket']"))) { - f.addEventListener("click", function() { - window.setTimeout(addButton, 13); - }); - } + function addButton() { + var e; + if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById("toc"))) { + + var r = e.querySelector(".GithubCommitWhitespaceButton"); + if (r) { + r.parentElement.removeChild(r); + } + + var on = /w=/.test(location.search); // any occurense results in enabling; + + var b = e.querySelector(".toc-diff-stats"); + + var a = document.createElement("a"); + a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); + if (on) { + a.classList.add("selected"); + } + a.setAttribute("href", url(on)); + a.setAttribute("rel", "nofollow"); + a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespaces"); + a.appendChild(document.createTextNode(" \u2423")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitWhitespaceButton", "right"); + g.style.margin = "0 10px 0 0"; // give us some room; + g.appendChild(a); + + b.parentNode.insertBefore(g, b); + } else if (/\/pull\/\d*\/files/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .right"))) { + + var r = e.querySelector(".GithubCommitWhitespaceButton"); + if (r) { + r.parentElement.removeChild(r); + } + + var on = /w=/.test(location.search); // any occurense results in enabling; + + var a = document.createElement("a"); + a.classList.add("btn-link", "muted-link"); + a.setAttribute("href", url(on)); + a.setAttribute("rel", "nofollow"); + a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespaces"); + a.appendChild(document.createTextNode(on ? "Show whitespace" : "Hide whitespace")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitWhitespaceButton", "diffbar-item"); + g.appendChild(a); + + e.insertBefore(g, e.firstChild); + } + } + + function url(on) { + var searches = location.search.replace(/^\?/, "").split("&").filter(function(item) { + return item && !/w=.*/.test(item); + }); + if (!on) { + searches.push("w=1"); + } + return location.href.replace(location.search, "") + (searches.length > 0 ? "?" + searches.join("&") : ""); + } + + // init; + addButton(); + + // on pjax; + document.addEventListener('pjax:end', addButton); })(); diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index a12bb0c..6171494 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -28,6 +28,8 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.4.3** + * Fixed issues after recent layout updates; * **1.4.2** * Fixed issues after recent layout updates; * **1.4.1** From 5c7a4e1020c8f1e3883df471125997df3b12d36e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Apr 2016 18:10:58 +0200 Subject: [PATCH 021/164] :clapper: New version of GitHub Commit dIFF --- Github_Commit_Diff/Github_Commit_Diff.user.js | 181 +++++++++++------- Github_Commit_Diff/README.md | 2 + 2 files changed, 111 insertions(+), 72 deletions(-) diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index f760b32..d588ec2 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -11,84 +11,121 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.6.2 +// @version 1.6.3 // @grant none // ==/UserScript== /* global unsafeWindow */ (function() { - function addButton() { - var e; - if (!(/\/commit\//.test(location.href) || /\/compare\//.test(location.href) || /\/pull\/\d*\/files/.test(location.href)) || - !(e = document.getElementById("toc"))) { return; } - - var r = e.querySelector(".GithubCommitDiffButton"); - if (r) { r.parentElement.removeChild(r); } - - function getPatchOrDiffHref(type) { - return (document.querySelector("link[type='text/plain+" + type + "']") - || document.querySelector("link[type='text/x-" + type + "']") - || { href: location.href + "." + type }).href; - } - - var b = e.querySelector(".toc-diff-stats"); - - var s = document.createElement("span"); - s.textContent = " "; - s.classList.add("octicon", "octicon-diff"); - s.style.color = "#333"; // set color because of css selector `p.explain .octicon`; - - var a = document.createElement("a"); - a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); - a.setAttribute("href", getPatchOrDiffHref("diff")); - a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", "Show commit diff.\r\nHold Shift to open commit patch."); - a.appendChild(s); - a.appendChild(document.createTextNode(" Diff")); - - var g = document.createElement("div"); - g.classList.add("GithubCommitDiffButton", "right"); - g.style.margin = "0 10px 0 0"; // give us some room; - g.appendChild(a); - - b.parentNode.insertBefore(g, b); - - a.addEventListener("mousedown", function(e) { - if (e.shiftKey) { - var patch = getPatchOrDiffHref("patch"); - e.preventDefault(); - a.setAttribute("href", patch); - if (e.which === 1) { // left click; - location.href = patch; - // To prevent Firefox default behavior (opening a new window) - // when pressing shift-click on a link, delete the link. - this.parentElement.removeChild(this); - } else if (e.which === 2) { // middle click; - window.open(patch, "GithubCommitDiff"); - } - } else { - a.setAttribute("href", getPatchOrDiffHref("diff")); - } - }, false); - a.addEventListener("mouseout", function() { - a.setAttribute("href", getPatchOrDiffHref("diff")); - }, false); - } - - // init; - addButton(); - - // on pjax; - unsafeWindow.$(document).on("pjax:end", addButton); // `pjax:end` also runs on history back; - - // on PR files tab; - var f; - if ((f = document.querySelector(".js-pull-request-tab[data-container-id='files_bucket']"))) { - f.addEventListener("click", function() { - window.setTimeout(addButton, 13); - }); - } + function addButton() { + var e; + if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById("toc"))) { + + var r = e.querySelector(".GithubCommitDiffButton"); + if (r) { + r.parentElement.removeChild(r); + } + + var b = e.querySelector(".toc-diff-stats"); + + const s = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + s.classList.add("octicon", "octicon-diff"); + s.setAttributeNS(null, "height", 16); + s.setAttributeNS(null, "width", 14); + s.setAttributeNS(null, "viewBox", "0 0 14 16"); + + const p = document.createElementNS("http://www.w3.org/2000/svg", "path"); + p.setAttributeNS(null, "d", "M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z"); + s.appendChild(p); + + var a = document.createElement("a"); + a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); + a.setAttribute("href", getPatchOrDiffHref("diff")); + a.setAttribute("rel", "nofollow"); + a.setAttribute("aria-label", "Show commit diff.\r\nHold Shift to open commit patch."); + a.appendChild(s); + a.appendChild(document.createTextNode(" Diff")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitDiffButton", "right"); + g.style.margin = "0 10px 0 0"; // give us some room; + g.appendChild(a); + + b.parentNode.insertBefore(g, b); + + a.addEventListener("mousedown", mousedownEvent, false); + a.addEventListener("mouseout", function() { + a.setAttribute("href", getPatchOrDiffHref("diff")); + }, false); + } else if (/\/pull\/\d*\/files/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .right"))) { + + var r = e.querySelector(".GithubCommitDiffButton"); + if (r) { + r.parentElement.removeChild(r); + } + + const s = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + s.classList.add("octicon", "octicon-diff"); + s.setAttributeNS(null, "height", 16); + s.setAttributeNS(null, "width", 14); + s.setAttributeNS(null, "viewBox", "0 0 14 16"); + + const p = document.createElementNS("http://www.w3.org/2000/svg", "path"); + p.setAttributeNS(null, "d", "M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z"); + s.appendChild(p); + + var a = document.createElement("a"); + a.classList.add("btn-link", "muted-link"); + a.setAttribute("href", getPatchOrDiffHref("diff")); + a.setAttribute("rel", "nofollow"); + a.setAttribute("aria-label", "Show commit diff.\r\nHold Shift to open commit patch."); + a.appendChild(s); + a.appendChild(document.createTextNode(" Diff")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitDiffButton", "diffbar-item"); + g.appendChild(a); + + e.insertBefore(g, e.firstChild); + + a.addEventListener("mousedown", mousedownEvent, false); + a.addEventListener("mouseout", function() { + a.setAttribute("href", getPatchOrDiffHref("diff")); + }, false); + } + } + + function mousedownEvent(e) { + if (e.shiftKey) { + var patch = getPatchOrDiffHref("patch"); + e.preventDefault(); + a.setAttribute("href", patch); + if (e.which === 1) { // left click; + location.href = patch; + // To prevent Firefox default behavior (opening a new window) + // when pressing shift-click on a link, delete the link. + this.parentElement.removeChild(this); + } else if (e.which === 2) { // middle click; + window.open(patch, "GithubCommitDiff"); + } + } else { + a.setAttribute("href", getPatchOrDiffHref("diff")); + } + } + + function getPatchOrDiffHref(type) { + return (document.querySelector("link[type='text/plain+" + type + "']") || document.querySelector("link[type='text/x-" + type + "']") || { + href: location.href + "." + type + }).href; + } + + // init; + addButton(); + + // on pjax; + document.addEventListener('pjax:end', addButton); })(); diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 6816dd0..073508d 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -25,6 +25,8 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.6.3** + * Fixed issues after recent layout updates; * **1.6.2** * Fixed issues after recent layout updates; * **1.6.1** From 5b76b2202b1e04e38af09a6d766948a59dc693f9 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Apr 2016 21:52:09 +0200 Subject: [PATCH 022/164] :clapper: New version of GitHub User Info --- Github_User_Info/Github_User_Info.user.js | 8 +++++--- Github_User_Info/README.md | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 06fed05..7f7a350 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -12,7 +12,8 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.3.4 +// @icon https://github.com/fluidicon.png +// @version 0.3.5 // @grant GM_xmlhttpRequest // @grant GM_setValue // @grant GM_getValue @@ -581,6 +582,7 @@ '.avatar-child[alt^="@"]', // Authored committed users; '.gravatar[alt^="@"]', // Following & followers page; '.timeline-comment-avatar[alt^="@"]', // GitHub comments author; + '.commits img[alt^="@"]', // Commits on user activity tab; '.leaderboard-gravatar[alt^="@"]', // Trending developer: https://github.com/trending/developers; '.gist-author img', // Gist author; '.gist .js-discussion .timeline-comment-avatar' // Gist comments author; @@ -605,9 +607,9 @@ init(); // On pjax; - unsafeWindow.$(document).on("pjax:end", exportFunction(function pjaxEnd() { + document.addEventListener('pjax:end', function pjaxEnd() { console.log('GithubUserInfo', 'pjax'); init(); - }, unsafeWindow)); + }); })(); diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 3c41230..8981db3 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -23,6 +23,8 @@ Show user information on avatar hover. ## Version History +* **0.3.5** + * Fixed issues after recent layout updates; * **0.3.4** * Fixed some styling; * **0.3.3** From 8cfae0aa2830e5b47618fcbf7c01fe27e0a7cb49 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 29 May 2016 15:00:06 +0200 Subject: [PATCH 023/164] :clapper: Released new userscript calle Github Reply Comments. Partly fixes #106 --- .../Github_Reply_Comments.user.js | 299 ++++++++++++++++++ Github_Reply_Comments/README.md | 48 +++ Github_Reply_Comments/screenshot.jpg | Bin 0 -> 6067 bytes README.md | 1 + 4 files changed, 348 insertions(+) create mode 100644 Github_Reply_Comments/Github_Reply_Comments.user.js create mode 100644 Github_Reply_Comments/README.md create mode 100644 Github_Reply_Comments/screenshot.jpg diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js new file mode 100644 index 0000000..1a0b489 --- /dev/null +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -0,0 +1,299 @@ +// ==UserScript== +// @name Github Reply Comments +// @namespace https://github.com/jerone/UserScripts +// @description Easy reply to Github comments +// @author jerone +// @copyright 2016+, jerone (http://jeroenvanwarmerdam.nl) +// @license GNU GPLv3 +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 0.1.0 +// @icon https://github.com/fluidicon.png +// @grant none +// @include https://github.com/* +// @include https://gist.github.com/* +// ==/UserScript== + +(function() { + + String.format = function(string) { + var args = Array.prototype.slice.call(arguments, 1, arguments.length); + return string.replace(/{(\d+)}/g, function(match, number) { + return typeof args[number] !== "undefined" ? args[number] : match; + }); + }; + + /* + * to-markdown - an HTML to Markdown converter + * Copyright 2011, Dom Christie + * Licenced under the MIT licence + * Source: https://github.com/domchristie/to-markdown + * + * Code is altered: + * - Added task list support: https://github.com/domchristie/to-markdown/pull/62 + * - He dependecy is removed + */ + var toMarkdown = function(string) { + + var ELEMENTS = [{ + patterns: 'p', + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '\n\n' + innerHTML + '\n' : ''; + } + }, { + patterns: 'br', + type: 'void', + replacement: ' \n' + }, { + patterns: 'h([1-6])', + replacement: function(str, hLevel, attrs, innerHTML) { + var hPrefix = ''; + for (var i = 0; i < hLevel; i++) { + hPrefix += '#'; + } + return '\n\n' + hPrefix + ' ' + innerHTML + '\n'; + } + }, { + patterns: 'hr', + type: 'void', + replacement: '\n\n* * *\n' + }, { + patterns: 'a', + replacement: function(str, attrs, innerHTML) { + var href = attrs.match(attrRegExp('href')), + title = attrs.match(attrRegExp('title')); + return href ? '[' + innerHTML + ']' + '(' + href[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : str; + } + }, { + patterns: ['b', 'strong'], + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '**' + innerHTML + '**' : ''; + } + }, { + patterns: ['i', 'em'], + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '_' + innerHTML + '_' : ''; + } + }, { + patterns: 'code', + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '`' + innerHTML + '`' : ''; + } + }, { + patterns: 'img', + type: 'void', + replacement: function(str, attrs) { + var src = attrs.match(attrRegExp('src')), + alt = attrs.match(attrRegExp('alt')), + title = attrs.match(attrRegExp('title')); + return src ? '![' + (alt && alt[1] ? alt[1] : '') + ']' + '(' + src[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : ''; + } + }]; + + for (var i = 0, len = ELEMENTS.length; i < len; i++) { + if (typeof ELEMENTS[i].patterns === 'string') { + string = replaceEls(string, { + tag: ELEMENTS[i].patterns, + replacement: ELEMENTS[i].replacement, + type: ELEMENTS[i].type + }); + } else { + for (var j = 0, pLen = ELEMENTS[i].patterns.length; j < pLen; j++) { + string = replaceEls(string, { + tag: ELEMENTS[i].patterns[j], + replacement: ELEMENTS[i].replacement, + type: ELEMENTS[i].type + }); + } + } + } + + function replaceEls(html, elProperties) { + var pattern = elProperties.type === 'void' ? '<' + elProperties.tag + '\\b([^>]*)\\/?>' : '<' + elProperties.tag + '\\b([^>]*)>([\\s\\S]*?)<\\/' + elProperties.tag + '>', + regex = new RegExp(pattern, 'gi'), + markdown = ''; + if (typeof elProperties.replacement === 'string') { + markdown = html.replace(regex, elProperties.replacement); + } else { + markdown = html.replace(regex, function(str, p1, p2, p3) { + return elProperties.replacement.call(this, str, p1, p2, p3); + }); + } + return markdown; + } + + function attrRegExp(attr) { + return new RegExp(attr + '\\s*=\\s*["\']?([^"\']*)["\']?', 'i'); + } + + // Pre code blocks + + string = string.replace(/]*>`([\s\S]*?)`<\/pre>/gi, function(str, innerHTML) { + var text = innerHTML; + text = text.replace(/^\t+/g, ' '); // convert tabs to spaces (you know it makes sense) + text = text.replace(/\n/g, '\n '); + return '\n\n ' + text + '\n'; + }); + + // Lists + + // Escape numbers that could trigger an ol + // If there are more than three spaces before the code, it would be in a pre tag + // Make sure we are escaping the period not matching any character + string = string.replace(/^(\s{0,3}\d+)\. /g, '$1\\. '); + + // Converts lists that have no child lists (of same type) first, then works its way up + var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!/gi; + while (string.match(noChildrenRegex)) { + string = string.replace(noChildrenRegex, replaceLists); + } + + function replaceLists(html) { + + html = html.replace(/<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, function(str, listType, innerHTML) { + var lis = innerHTML.split(''); + lis.splice(lis.length - 1, 1); + + for (i = 0, len = lis.length; i < len; i++) { + if (lis[i]) { + var prefix = (listType === 'ol') ? (i + 1) + ". " : "* "; + lis[i] = lis[i].replace(/\s*]*>([\s\S]*)/i, function(str, innerHTML) { + innerHTML = innerHTML.replace(/\s*]*?(checked[^>]*)?type=['"]?checkbox['"]?[^>]>/, function(inputStr, checked) { + return checked ? '[X]' : '[ ]'; + }); + innerHTML = innerHTML.replace(/^\s+/, ''); + innerHTML = innerHTML.replace(/\n\n/g, '\n\n '); + // indent nested lists + innerHTML = innerHTML.replace(/\n([ ]*)+(\*|\d+\.) /g, '\n$1 $2 '); + return prefix + innerHTML; + }); + } + lis[i] = lis[i].replace(/(.) +$/m, '$1'); + } + return lis.join('\n'); + }); + + return '\n\n' + html.replace(/[ \t]+\n|\s+$/g, ''); + } + + // Blockquotes + var deepest = /]*>((?:(?!/gi; + while (string.match(deepest)) { + string = string.replace(deepest, replaceBlockquotes); + } + + function replaceBlockquotes(html) { + html = html.replace(/]*>([\s\S]*?)<\/blockquote>/gi, function(str, inner) { + inner = inner.replace(/^\s+|\s+$/g, ''); + inner = cleanUp(inner); + inner = inner.replace(/^/gm, '> '); + inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, '> >'); + return inner; + }); + return html; + } + + function cleanUp(string) { + string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); // trim leading/trailing whitespace + string = string.replace(/\n\s+\n/g, '\n\n'); + string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive linebreaks to 2 + return string; + } + + return cleanUp(string); + }; + + function getCommentTextarea(replyBtn) { + var newComment = replyBtn; + while (newComment && !newComment.classList.contains('js-quote-selection-container')) { + newComment = newComment.parentNode; + } + if (newComment) { + var lastElementChild = newComment.lastElementChild; + lastElementChild.classList.add('open'); + newComment = lastElementChild.querySelector(".comment-form-textarea"); + } else { + newComment = document.querySelector(".timeline-new-comment .comment-form-textarea"); + } + return newComment; + } + + function addReplyButtons() { + Array.prototype.forEach.call(document.querySelectorAll(".comment"), function(comment) { + var oldReply = comment.querySelector(".GithubReplyComments, .GithubCommentEnhancerReply"); + if (oldReply) { + oldReply.parentNode.removeChild(oldReply); + } + + var header = comment.querySelector(".timeline-comment-header"), + actions = comment.querySelector(".timeline-comment-actions"); + + if (!header) { + return; + } + if (!actions) { + actions = document.createElement("div"); + actions.classList.add("timeline-comment-actions"); + header.insertBefore(actions, header.firstElementChild); + } + + var reply = document.createElement("button"); + reply.setAttribute("type", "button"); + reply.setAttribute("title", "Reply to this comment"); + reply.setAttribute("aria-label", "Reply to this comment"); + reply.classList.add("GithubReplyComments", "btn-link", "timeline-comment-action", "tooltipped", "tooltipped-ne"); + reply.addEventListener("click", function(e) { + e.preventDefault(); + + var newComment = getCommentTextarea(this); + + var timestamp = comment.querySelector(".timestamp"); + + var commentText = comment.querySelector(".comment-form-textarea"); + if (commentText) { + commentText = commentText.value; + } else { + commentText = toMarkdown(comment.querySelector(".comment-body").innerHTML); + } + commentText = commentText.trim().split("\n").map(function(line) { + return "> " + line; + }).join("\n"); + + var text = newComment.value.length > 0 ? "\n" : ""; + text += String.format('[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', + comment.querySelector(".author").textContent, + location.origin, + timestamp.firstElementChild.getAttribute("title"), + timestamp.href, + timestamp.firstElementChild.getAttribute("datetime"), + commentText); + + newComment.value += text; + newComment.setSelectionRange(newComment.value.length, newComment.value.length); + newComment.focus(); + }); + + var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.classList.add("octicon", "octicon-mail-reply"); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); + reply.appendChild(svg); + var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute("d", "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z"); + svg.appendChild(path); + + actions.appendChild(reply); + }); + } + + // init; + addReplyButtons(); + + // on pjax; + document.addEventListener('pjax:end', addReplyButtons); + +})(); diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md new file mode 100644 index 0000000..97f7988 --- /dev/null +++ b/Github_Reply_Comments/README.md @@ -0,0 +1,48 @@ +# [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments) + +[![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js) +[![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Reply_Comments/Github_Reply_Comments.user.js) +[![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) +[![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) + +## Description + +You can reply to issues, pull requests and inline comments by pressing the +reply button on an comment. + +## Screenshot + +![Github Reply Comments Screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/screenshot.jpg) + +## Compatible + +![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. + +## Version History + +* version **0.1.0** + + * Initial version + +## Test cases + +* [https://github.com/jerone/UserScripts/issues/1](https://github.com/jerone/UserScripts/issues/1) +(issue comments) + +* [https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df](https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df) +(commit comments) + +* [https://github.com/jerone/UserScripts/pull/49](https://github.com/jerone/UserScripts/pull/49) +(PR comments & commit comments) + +* ~~[https://gist.github.com/jerone/9526258](https://gist.github.com/jerone/9526258)~~ + +## Dependencies + +* Part of [domchristie](https://github.com/domchristie)'s library +[**to-markdown**](https://github.com/domchristie/to-markdown) is used. + +## External links + +* ~~[Greasy Fork](https://greasyfork.org/scripts/xxx-github-reply-comments)~~ +* ~~[OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Reply_Comments)~~ diff --git a/Github_Reply_Comments/screenshot.jpg b/Github_Reply_Comments/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f199d7f462dcd13363f4ee1fe1b706e4dd0e0517 GIT binary patch literal 6067 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index edf0bee..830a9b9 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u ### Github * [Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github. +* [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme) - Easy reply to Github comments. * [Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file. * [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items. * [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit. From c1997aba6bbdd28027d1b07651e6d178312f4053 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 25 Jul 2016 22:48:30 +0200 Subject: [PATCH 024/164] Fixed issues after recent layout updates. Fixes #111 Signed-off-by: Jeroen van Warmerdam --- .../Github_Pull_Request_From.user.js | 17 ++++++----------- Github_Pull_Request_From/README.md | 3 ++- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 4c7a697..665610e 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -11,13 +11,12 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 16 +// @version 17 // @grant none // @include https://github.com/*/* // ==/UserScript== -/* global unsafeWindow */ -(function(unsafeWindow) { +(function() { String.format = function(string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); @@ -27,8 +26,8 @@ }; function init() { - var repo = document.querySelector(".entry-title a[data-pjax]").textContent, - author = document.querySelector('.entry-title .author').textContent; + var repo = document.querySelector('.repohead-details-container h1 [itemprop="name"]').textContent, + author = document.querySelector('.repohead-details-container h1 [itemprop="author"]').textContent; Array.prototype.filter.call(document.querySelectorAll("span.commit-ref"), function(treeSpan) { return !treeSpan.querySelector(".unknown-repo"); }).forEach(function(treeSpan) { @@ -49,13 +48,9 @@ } // Page load; - console.log('GithubPullRequestFromLink', 'page load'); init(); // On pjax; - unsafeWindow.$(document).on("pjax:end", function() { - console.log('GithubPullRequestFromLink', 'pjax'); - init(); - }); + document.addEventListener('pjax:end', init); -})(typeof unsafeWindow !== "undefined" ? unsafeWindow : window); +})(); diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 156cf41..3dd6a1c 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -23,6 +23,8 @@ Make pull request branches linkable. ## Version History +* **17** + * Fixed issues after recent layout updates (fixes https://github.com/jerone/UserScripts/issues/111); * **16** * Show underline (fixes https://github.com/jerone/UserScripts/issues/93); * **15** @@ -45,7 +47,6 @@ Make pull request branches linkable. * https://github.com/jerone/UserScripts/pull/12 (2 valid, 1 missing); * https://github.com/jerone/UserScripts/pull/29 (1 mine, 1 extern); * https://github.com/jerone/UserScripts/pull/47 (3 without username); -* https://github.com/atom/timecop/pull/12 (1 with invalid url chars); ## Contributions From 77466ed09e9f5ed84ef4c514b6f204f668612b3b Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 25 Jul 2016 22:48:30 +0200 Subject: [PATCH 025/164] Fixed issues after recent layout updates. Fixes #111 Signed-off-by: Jeroen van Warmerdam (GitHub commit whitespace) :clapper: New version of GitHub Commit Whitespace (#112) :clapper: New version of GitHub Commit Whitespace :clapper: New version of GitHub Pages Linker --- .../Github_Commit_Whitespace.user.js | 8 +- Github_Commit_Whitespace/README.md | 83 ++++++++++++------- .../Github_Pages_Linker.user.js | 12 +-- Github_Pages_Linker/README.md | 38 ++++----- .../Github_Pull_Request_From.user.js | 17 ++-- Github_Pull_Request_From/README.md | 3 +- 6 files changed, 86 insertions(+), 75 deletions(-) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index f1ad365..8cdd129 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -13,7 +13,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.4.3 +// @version 1.4.4 // @grant none // ==/UserScript== /* global unsafeWindow */ @@ -40,7 +40,7 @@ } a.setAttribute("href", url(on)); a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespaces"); + a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespace"); a.appendChild(document.createTextNode(" \u2423")); var g = document.createElement("div"); @@ -49,7 +49,7 @@ g.appendChild(a); b.parentNode.insertBefore(g, b); - } else if (/\/pull\/\d*\/files/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .right"))) { + } else if (/\/pull\/\d*\/files/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .float-right"))) { var r = e.querySelector(".GithubCommitWhitespaceButton"); if (r) { @@ -62,7 +62,7 @@ a.classList.add("btn-link", "muted-link"); a.setAttribute("href", url(on)); a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespaces"); + a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespace"); a.appendChild(document.createTextNode(on ? "Show whitespace" : "Hide whitespace")); var g = document.createElement("div"); diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index 6171494..e9f030b 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -5,60 +5,79 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Adds button to hide whitespaces from commit. This works on commits, pull requests and compare pages. - ## Screenshot -##### Before +### Before + ![Github Commit Whitespace screenshot before](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/screenshot_before.jpg) -##### After -![Github Commit Whitespace screenshot after](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/screenshot_after.jpg) +### After -## Compatible +![Github Commit Whitespace screenshot after](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/screenshot_after.jpg) -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +## Compatible +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.4.3** - * Fixed issues after recent layout updates; -* **1.4.2** - * Fixed issues after recent layout updates; -* **1.4.1** - * Tooltips now on top; -* **1.4** - * Fixed align & url issues with new split diffs (fixes https://github.com/jerone/UserScripts/issues/25); -* **1.3** - * Fixed issues after recent layout updates (fixes https://github.com/jerone/UserScripts/issues/9); -* **1.2.1** - * Fixed adding to pull requests; -* **1.2** - * Added to pull requests; -* **1.1** - * Added to compare page; - * Added support for Scriptish; -* **1.0** - * Initial version; +* **1.4.4** + + * :clapper: New version of GitHub Commit Whitespace + +* **1.4.3** + + * Fixed issues after recent layout updates + +* **1.4.2** + + * Fixed issues after recent layout updates + +* **1.4.1** + * Tooltips now on top + +* **1.4** + + * Fixed align & url issues with new split diffs (fixes [#25](https://github.com/jerone/UserScripts/issues/25)) + +* **1.3** + + * Fixed issues after recent layout updates (fixes [#9](https://github.com/jerone/UserScripts/issues/9)) + +* **1.2.1** + + * Fixed adding to pull requests + +* **1.2** + + * Added to pull requests + +* **1.1** + + * Added to compare page + * Added support for Scriptish + +* **1.0** + + * Initial version ## Notes Use cases: -* https://github.com/OpenUserJs/OpenUserJS.org/commit/aac291b83a5d5fa4fb4382080473ef3a4dd908c2 (commit) -* https://github.com/OpenUserJs/OpenUserJS.org/pull/327/files (pr) -* https://github.com/OpenUserJs/OpenUserJS.org/compare/master%40%7B1day%7D...master (compare) - +* (commit) +* (commit) +* (pr) +* (compare) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/467-github-commit-whitespace) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Whitespace) +* [Greasy Fork](https://greasyfork.org/scripts/467-github-commit-whitespace) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Whitespace) diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index dd92431..424672b 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -12,12 +12,12 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.2.1 +// @icon https://github.com/fluidicon.png +// @version 1.2.2 // @grant none // @run-at document-end // @include https://github.com/* // ==/UserScript== -/* global unsafeWindow */ (function() { @@ -76,14 +76,10 @@ div.appendChild(aa); } - // Page load; - console.log('GithubPagesLinker', 'page load'); + // Init; addLink(); // On pjax; - unsafeWindow.$(document).on("pjax:end", function() { - console.log('GithubPagesLinker', 'pjax'); - addLink(); - }); + document.addEventListener('pjax:end', addLink); })(); diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index f9cc12d..6efcdc9 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -5,47 +5,47 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Add a link to Github Pages (gh-pages) when available. - ## Screenshot ![Github Pages Linker screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.2.1** - * Fix 301 Moved Permanently redirects. Fixes #72; -* **1.2** - * Don't add the link if it already exists (closes https://github.com/jerone/UserScripts/pull/63); -* **1.1** - * Added class to identify element; -* **1.0** - * Initial version; +* **1.2.1** + + * Fix 301 Moved Permanently redirects. Fixes #72; + +* **1.2** + * Don't add the link if it already exists (closes [#63](https://github.com/jerone/UserScripts/pull/63)); + +* **1.1** + + * Added class to identify element; + +* **1.0** + + * Initial version; ## Notes Test cases: -* https://github.com/jerone/Throbber.js with https://jerone.github.io/Throbber.js - +* with ## Contributors -* [Efreak](https://github.com/Efreak) - +* [Efreak](https://github.com/Efreak) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/6519-github-pages-linker) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pages_Linker) +* [Greasy Fork](https://greasyfork.org/scripts/6519-github-pages-linker) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pages_Linker) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 4c7a697..665610e 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -11,13 +11,12 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 16 +// @version 17 // @grant none // @include https://github.com/*/* // ==/UserScript== -/* global unsafeWindow */ -(function(unsafeWindow) { +(function() { String.format = function(string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); @@ -27,8 +26,8 @@ }; function init() { - var repo = document.querySelector(".entry-title a[data-pjax]").textContent, - author = document.querySelector('.entry-title .author').textContent; + var repo = document.querySelector('.repohead-details-container h1 [itemprop="name"]').textContent, + author = document.querySelector('.repohead-details-container h1 [itemprop="author"]').textContent; Array.prototype.filter.call(document.querySelectorAll("span.commit-ref"), function(treeSpan) { return !treeSpan.querySelector(".unknown-repo"); }).forEach(function(treeSpan) { @@ -49,13 +48,9 @@ } // Page load; - console.log('GithubPullRequestFromLink', 'page load'); init(); // On pjax; - unsafeWindow.$(document).on("pjax:end", function() { - console.log('GithubPullRequestFromLink', 'pjax'); - init(); - }); + document.addEventListener('pjax:end', init); -})(typeof unsafeWindow !== "undefined" ? unsafeWindow : window); +})(); diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 156cf41..3dd6a1c 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -23,6 +23,8 @@ Make pull request branches linkable. ## Version History +* **17** + * Fixed issues after recent layout updates (fixes https://github.com/jerone/UserScripts/issues/111); * **16** * Show underline (fixes https://github.com/jerone/UserScripts/issues/93); * **15** @@ -45,7 +47,6 @@ Make pull request branches linkable. * https://github.com/jerone/UserScripts/pull/12 (2 valid, 1 missing); * https://github.com/jerone/UserScripts/pull/29 (1 mine, 1 extern); * https://github.com/jerone/UserScripts/pull/47 (3 without username); -* https://github.com/atom/timecop/pull/12 (1 with invalid url chars); ## Contributions From 133f9730d82685c0f119e46117432d16d6ac240d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 2 Aug 2016 11:25:12 +0200 Subject: [PATCH 026/164] :clapper: New version of Github Pages Linker --- Github_Pages_Linker/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index 6efcdc9..bcf92dd 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -19,21 +19,25 @@ Add a link to Github Pages (gh-pages) when available. ## Version History +* **1.2.2** + + * Fixed issues after layout updates + * **1.2.1** - * Fix 301 Moved Permanently redirects. Fixes #72; + * Fix 301 Moved Permanently redirects. Fixes [#72](https://github.com/jerone/UserScripts/issues/72) * **1.2** - * Don't add the link if it already exists (closes [#63](https://github.com/jerone/UserScripts/pull/63)); + * Don't add the link if it already exists (closes [#63](https://github.com/jerone/UserScripts/pull/63)) * **1.1** - * Added class to identify element; + * Added class to identify element * **1.0** - * Initial version; + * Initial version ## Notes From b835a6439d643b7eebf55ef5cc8cb3f73c1de76c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 14 Aug 2016 17:02:06 +0200 Subject: [PATCH 027/164] :bug: Fixed issues after layout updates. Closes #114 --- .../Github_News_Feed_Filter.user.js | 9 +- Github_News_Feed_Filter/README.md | 253 +++++++++++------- 2 files changed, 163 insertions(+), 99 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index c83618f..dae719f 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -9,12 +9,14 @@ // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.com/fluidicon.png // @include https://github.com/ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* // @include https://github.com/*tab=activity* -// @version 7.0.1 +// @version 7.1.0 // @grant none // ==/UserScript== /* global Event, Set */ @@ -491,12 +493,11 @@ // Init; (function init() { - console.log('GitHubNewsFeedFilter', 'page load'); - var newsContainer = document.querySelector(".news"); if (!newsContainer) { return; } - var sidebar = document.querySelector(".dashboard-sidebar") || document.querySelector(".column.one-fourth.vcard"); + // GitHub homepage or profile activity tab; + var sidebar = document.querySelector(".dashboard-sidebar") || document.querySelector(".profilecols > .column:first-child"); var wrapper = document.createElement(filterElement); wrapper.classList.add("boxed-group", "flush", "user-repos"); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 3f7c33f..af64534 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -5,122 +5,185 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Add filters for [Github homepage](https://github.com) news feed items. -This script also works for organizations and on user profiles [public activity](https://github.com/jerone?tab=activity) (page refresh is required). +This script also works for organizations and on user profiles [public activity](https://github.com/jerone?tab=activity) +(page refresh is required). Currently integrated filters: -* Actions - * Issues - * Opened - * Closed - * Reopened - * Comments - * Commits - * Pushed - * Comments - * Pull Requests - * Opened - * Closed - * Merged - * Comments - * Repo - * Created - * Public - * Forked - * Deleted - * Release - * Branch - * Created - * Deleted - * Tag - * Added - * Removed - * User - * Starred - * Member added - * Wiki - * Created - * Edited - * Gist - * Created - * Updated -* Repositories - * _Variable on the repos currently in your news list_ +* Actions + + * Issues + + * Opened + * Closed + * Reopened + * Comments + + * Commits + + * Pushed + * Comments + + * Pull Requests + + * Opened + * Closed + * Merged + * Comments + + * Repo + + * Created + + * Public + + * Forked + + * Deleted + + * Release + + * Branch + + * Created + * Deleted + + * Tag + + * Added + * Removed + * User + + * Starred + * Member added + + * Wiki + + * Created + * Edited + + * Gist + + * Created + * Updated + +* Repositories + + * _Variable on the repos currently in your news list_ ## Screenshot ![Github News Feed Filter screenshot](https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/screenshot.png) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **7.0.1** - * :bug: Fixed falsely identification branch creation and deletion; -* **7.0.0** - * Restored icons after GitHub switching to SVG; -* **6.2** - * :sparkles: Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70); -* **6.1** - * :bug: Fixed counting repo releases as tag actions; - * :sparkles: Split wiki filter in created and edited; -* **6.0** - * Fixed issues after Github site update (https://github.com/jerone/UserScripts/issues/68); -* **5.3** - * Added filter history support; -* **5.2** - * Fixed issues after Github site update (https://github.com/jerone/UserScripts/issues/6); -* **5.1** - * Added support for user public activity; -* **5.0** - * More filters added; -* **4.6** - * Show message when filter has no feed items; -* **4.5** - * Added branch deleting support; -* **4.4** - * Added support for organisations; - * Added commit comments; -* **4.3** - * Reordered menu; - * Expanded Gist create & update; - * Changed Starred in User actions and added member add; -* **4.2** - * Added support for Scriptish; -* **4.1** - * Added fork filter; - * Added sub-filters for issues (comments, opened, closed, reopened); -* **4.0** - * Better integrated menu style; -* **3.1** - * Moved PR comments to PR filter; -* **3.0** - * Added Stars, Repo and Wiki filter; - * Moved Comments to Issues filter; - * Made menu lower; -* **2.0** - * Added Pull Requests filter; -* **1.0** - * Initial version; +* **7.1.0** -## TODO + * :bug: Fixed issues after layout updates. Closes [#114](https://github.com/jerone/UserScripts/pull/114) + +* **7.0.1** + + * :bug: Fixed falsely identification branch creation and deletion + +* **7.0.0** + + * Restored icons after GitHub switching to SVG + +* **6.2** + + * :sparkles: Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70) + +* **6.1** -- ~~Run on users public activity stream (https://github.com/jerone?tab=activity);~~ _Only works on direct access._ -- ~~Filter by repo~~; -- Filter by user; + * :bug: Fixed counting repo releases as tag actions + * :sparkles: Split wiki filter in created and edited + +* **6.0** + + * Fixed issues after Github site update ([#68](https://github.com/jerone/UserScripts/issues/68)) + +* **5.3** + + * Added filter history support + +* **5.2** + + * Fixed issues after Github site update ([#6](https://github.com/jerone/UserScripts/issues/6)) + +* **5.1** + + * Added support for user public activity + +* **5.0** + + * More filters added + +* **4.6** + + * Show message when filter has no feed items + +* **4.5** + + * Added branch deleting support + +* **4.4** + + * Added support for organizations + * Added commit comments + +* **4.3** + + * Reordered menu + * Expanded Gist create & update + * Changed Starred in User actions and added member add + +* **4.2** + + * Added support for Scriptish + +* **4.1** + + * Added fork filter + * Added sub-filters for issues (comments, opened, closed, reopened) + +* **4.0** + + * Better integrated menu style + +* **3.1** + + * Moved PR comments to PR filter + +* **3.0** + + * Added Stars, Repo and Wiki filter + * Moved Comments to Issues filter + * Made menu lower + +* **2.0** + + * Added Pull Requests filter + +* **1.0** + + * Initial version + +## TODO +* ~~Run on users public activity stream ([](https://github.com/jerone?tab=activity));~~ _Only works on direct access._ +* ~~Filter by repo~~; +* Filter by user; ## External links -* [Greasy Fork](https://greasyfork.org/scripts/171-github-news-feed-filter) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_News_Feed_Filter) +* [Greasy Fork](https://greasyfork.org/scripts/171-github-news-feed-filter) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_News_Feed_Filter) From b508dcc0db4f6ae49f86ce13d356bbd1395a97f6 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 17 Aug 2016 23:03:38 +0200 Subject: [PATCH 028/164] :sparkles: Added support for commits from PR's (Github Commit Whitespace) --- .../Github_Commit_Whitespace.user.js | 4 ++-- Github_Commit_Whitespace/README.md | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 8cdd129..8951f11 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -13,7 +13,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.4.4 +// @version 1.5.0 // @grant none // ==/UserScript== /* global unsafeWindow */ @@ -49,7 +49,7 @@ g.appendChild(a); b.parentNode.insertBefore(g, b); - } else if (/\/pull\/\d*\/files/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .float-right"))) { + } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .float-right"))) { var r = e.querySelector(".GithubCommitWhitespaceButton"); if (r) { diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index e9f030b..a6fe666 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -27,6 +27,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.5.0** + + * :sparkles: Added support for commits from PR's + * **1.4.4** * :clapper: New version of GitHub Commit Whitespace @@ -73,8 +77,12 @@ This works on commits, pull requests and compare pages. Use cases: * (commit) -* (commit) -* (pr) + +* (PR) + +* + (PR commit) + * (compare) ## External links From 2fad63f3dd55374172603d6ae4268db4477e7362 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Sep 2016 22:35:00 +0200 Subject: [PATCH 029/164] :clapper: Complete rewrite of Github Gist Share --- Github_Gist_Share/157850.user.js | 355 ++++++++++-------- Github_Gist_Share/README.md | 105 ++++-- Github_Gist_Share/screenshot.png | Bin 0 -> 52056 bytes .../{screenshot.jpg => screenshot3.jpg} | Bin 4 files changed, 263 insertions(+), 197 deletions(-) create mode 100644 Github_Gist_Share/screenshot.png rename Github_Gist_Share/{screenshot.jpg => screenshot3.jpg} (100%) diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index fb635ab..1eef466 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Github Gist Share // @namespace https://github.com/jerone/UserScripts/ -// @description Share your GitHub Gist to Twitter, Dabblet & as userscript. +// @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) // @license GNU GPLv3 @@ -11,172 +11,199 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.com/fluidicon.png // @include *://gist.github.com/* -// @version 4.5 +// @version 5.0 // @grant none // ==/UserScript== -/* global unsafeWindow */ (function() { - String.format = function(string) { - var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { - return typeof args[number] !== 'undefined' ? args[number] : match; - }); - }; - - var socials = { - Twitter: { - show: function( /*url, user, description, files, stars, forks, revisions*/ ) { - return true; - }, - submit: function(url, user, description, files, stars, forks, revisions) { - var stats = []; - if (files > 1) { - stats.push(files + ' files'); - } - if (stars === 1) { - stats.push(stars + ' star'); - } else if (stars > 1) { - stats.push(stars + ' stars'); - } - if (forks === 1) { - stats.push(forks + ' fork'); - } else if (forks > 1) { - stats.push(forks + ' forks'); - } - if (revisions > 1) { - stats.push(revisions + ' revisions'); - } - - var tweet = String.format('Check out {0} #gist {1} on @github{2} |', - user === document.querySelector('.name').textContent.trim() ? 'my' : user + '\'s', - description ? '"' + description + '"' : '', - stats.length > 0 ? ' | ' + stats.join(', ') : ''); - - return 'https://twitter.com/intent/tweet?original_referer=' + encodeURIComponent(url) + - '&source=tweetbutton&url=' + encodeURIComponent(url) + - '&text=' + encodeURIComponent(tweet); - }, - icon: 'https://si0.twimg.com/favicons/favicon.ico' - }, - Dabblet: { - /* - * The following urls should be converted to dabblet: - * _______ - * - https://gist.github.com/jerone/3810309 - * _______ - * - https://gist.github.com/jerone/3810309/revisions - * _______ - * - https://gist.github.com/jerone/3810309/forks - * _______ - * - https://gist.github.com/jerone/3810309/stars - * ________________________________________________ - * - https://gist.github.com/jerone/3810309/f2815cc6796ea985f74b8f5f3c717e8de3b12d37 - * ________________________________________________ - * - https://gist.github.com/3810309/f2815cc6796ea985f74b8f5f3c717e8de3b12d37 - * - */ - show: function( /*url, user, description, files, stars, forks, revisions*/ ) { - return true; - }, - submit: function(url, user /*, description, files, stars, forks, revisions*/ ) { - var linkLong; - if ((linkLong = document.querySelector('.site-container.js-site-container')) && linkLong.dataset.url) { - var linkLongParts = linkLong.dataset.url.split('/'); - linkLongParts.shift(); - if (/^(?:revisions|forks|stars)$/gi.test(linkLongParts[linkLongParts.length - 1])) { - linkLongParts.pop(); - } - if (new RegExp(user, 'gi').test(linkLongParts[0])) { - linkLongParts.shift(); - } - url = '/' + linkLongParts.join('/'); - } else { - url = url.replace(new RegExp('https?:\/\/gist.github.com/' + user, 'gi'), ''); - } - return 'http://dabblet.com/gist' + url; - }, - icon: 'http://dabblet.com/favicon.ico' - }, - UserScript: { - show: function( /*url, user, description, files, stars, forks, revisions*/ ) { - return !!document.querySelector('.file[id^="file-"] .raw-url[href$=".user.js"]'); - }, - submit: function( /*url, user, description, files, stars, forks, revisions*/ ) { - return (document.querySelector('.file[id^="file-"] .raw-url[href$=".user.js"]') || { - href: '' - }).href.trim(); - }, - icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKwSURBVHjabJNJTBNRGID/mc5MQYVWVNCGTbEtNZGDBj1ogolEMR5UJA2LBmMoIokxERIj8ehJjx6MYIQoJgq4JIa6gEARkKJFTa2iFFtKWwp2oeDCzNQ+31DQCc5L/nmT/P/3749ACAFBECBxiEPFFds0Ws399DRVhtX2udc97ig0PmgOLBkIbOwjAR8uMRRdvXF7pqv/NfrqnEAOlxsdLas6j3Wk2AEpCRcbKvLydrdu1WUr0lXrITEhAZKUSkhQKvKwXiY2ppbDRzCcv29P/ZZsDaSqUkCJYVJGwKMnHTDlmWgTZ/CvjkW4sKTScP1WC+oZsKAxpwv5gyEUnAkj2xc70p88Y8Y2a8VBxT0gispOGa413UVDb23IMe6OwaEw+jTqQKMOF3pptqBSw7k74hLEPaDUOu0VmpFDV58ZCJIAkiDB5fUBz0eApmjQqbOgrqa69HhVbZO4jKUfmiBJBctysHJFPPiDYbA7J4DjeJDLaWAYGVAyErIy0uDs6RPH9OXVtULWYgfEmN3emJK8BlYrEsHl8cEvloX4ODnEyRlgKGZhV1iOhcz0VNixM7dOCCp2EBkeMF3u6DaNqDasg1U4CzlFxxSRKMyz8xjmsPAQwNmRsc2jxGPkR0esHp7n9RBFrYbyUi1DUzh1GujFG0UBQrNz8P7DR3j+9NklqTEK3VVkbNLkVNZc9AwNW5Hb60PT/gCamg6gEbsT3XvYjvIP6i9gu2ShhOWb+BvLD13O9o3azWrVdy4K3wKhv5HfWW1Q39BY19nechPbzQrVwX9bhU+iIqnyQMF+mPvJQr/FCsHwDJgG30ADhl8Y2wQ4jIUVkpdaZRnPcd6AfxomJ32AIhEwdvaC8XG7JLwwvmXPmVFn52Tu2lvQjN9Crn3M6bWY+6otr3oGpWCB/SPAAJaJRguGUxB0AAAAAElFTkSuQmCC' - }, - 'bl.ocks.org': { - show: function( /*url, user, description, files, stars, forks, revisions*/ ) { - return true; - }, - submit: function(url, user /*, description, files, stars, forks, revisions*/ ) { - var linkLong; - if ((linkLong = document.querySelector('.site-container.js-site-container')) && linkLong.dataset.url) { - var linkLongParts = linkLong.dataset.url.split('/'); - linkLongParts.shift(); - if (/^(?:revisions|forks|stars)$/gi.test(linkLongParts[linkLongParts.length - 1])) { - linkLongParts.pop(); - } - url = '/' + linkLongParts.join('/'); - } else { - url = url.replace(new RegExp('https?:\/\/gist.github.com/' + user, 'gi'), ''); - } - return 'http://bl.ocks.org' + url; - }, - icon: 'http://bl.ocks.org/favicon.png' - } - }; - - function addMenuItem() { - var temp, link, url, menu, li, user, description, files, stars, forks, revisions; - - if ((link = document.querySelector('.js-current-repository')) && (menu = document.querySelector('.sunken-menu-group'))) { // check if we're on an actual gists; - url = link.href; - user = document.querySelector('.author.vcard').textContent.trim(); - description = (temp = (document.querySelector('.gist-description') || link)) && temp.textContent.trim() || ''; - files = document.querySelectorAll('.file[id^="file-"]').length; - stars = (temp = menu.querySelector('a[href$="/stars"] .counter')) && parseInt(temp.textContent.trim(), 10) || 0; - forks = (temp = menu.querySelector('a[href$="/forks"] .counter')) && parseInt(temp.textContent.trim(), 10) || 0; - revisions = (temp = menu.querySelector('a[href$="/revisions"] .counter')) && parseInt(temp.textContent.trim(), 10) || 0; - - menu.appendChild(li = document.createElement('li')); - li.id = 'Github_Gist_Share'; - - for (var key in socials) { - if (socials.hasOwnProperty(key)) { - var social = socials[key], - socialA = document.createElement('a'), - socialImg = document.createElement('img'); - - if (social.show(url, user, description, files, stars, forks, revisions) !== true) { - continue; - } - - li.appendChild(socialA); - socialA.appendChild(socialImg); - socialA.id = (li.id + '_' + key).replace(/\s+/g, '_'); - socialA.classList.add('sunken-menu-item'); - socialA.href = social.submit && social.submit(url, user, description, files, stars, forks, revisions); - socialA.title = String.format('[{0}] {1}', key, socialA.href); - socialA.style.display = 'inline-block'; - socialA.target = '_blank'; - socialImg.src = social.icon; - socialImg.alt = key; - } - } - } - } - - // init; - addMenuItem(); - - // on pjax; - unsafeWindow.$(document).on('pjax:success', addMenuItem); - -})(); + String.format = function(string) { + const args = Array.prototype.slice.call(arguments, 1, arguments.length) + return string.replace(/{(\d+)}/g, function(match, number) { + return typeof args[number] !== 'undefined' ? args[number] : match + }) + } + + function Menu(container) { + const div$0$0 = document.createElement('div') + div$0$0.classList.add('file-navigation-option') + div$0$0.id = 'Github_Gist_Share' + container.insertBefore(div$0$0, container.firstChild) + + const div$1$0 = document.createElement('div') + div$1$0.classList.add('select-menu', 'js-menu-container', 'select-menu-modal-left', 'js-select-menu') + div$0$0.appendChild(div$1$0) + + const button$2$0 = document.createElement('button') + button$2$0.classList.add('btn', 'btn-sm', 'select-menu-button', 'icon-only', 'js-menu-target') + button$2$0.setAttribute('type', 'button') + div$1$0.appendChild(button$2$0) + + const svg$3$0 = document.createElementNS('http://www.w3.org/2000/svg', 'svg') + svg$3$0.classList.add('octicon', 'octicon-link-external') + svg$3$0.setAttributeNS(null, 'height', 16) + svg$3$0.setAttributeNS(null, 'version', '1.1') + svg$3$0.setAttributeNS(null, 'viewBox', '0 0 12 16') + svg$3$0.setAttributeNS(null, 'width', 12) + button$2$0.appendChild(svg$3$0) + + const path$4$0 = document.createElementNS('http://www.w3.org/2000/svg', 'path') + path$4$0.setAttributeNS(null, 'd', 'M11 10h1v3c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3v1H1v10h10v-3zM6 2l2.25 2.25L5 7.5 6.5 9l3.25-3.25L12 8V2H6z') + svg$3$0.appendChild(path$4$0) + + button$2$0.appendChild(document.createTextNode(' Share ')) + + const div$2$1 = document.createElement('div') + div$2$1.classList.add('select-menu-modal-holder') + div$1$0.appendChild(div$2$1) + + const div$3$0 = document.createElement('div') + div$3$0.classList.add('select-menu-modal', 'select-menu-modal', 'js-menu-content') + div$2$1.appendChild(div$3$0) + + const div$4$0 = document.createElement('div') + div$4$0.classList.add('select-menu-header') + div$3$0.appendChild(div$4$0) + + const svg$5$0 = document.createElementNS('http://www.w3.org/2000/svg', 'svg') + svg$5$0.classList.add('octicon', 'octicon-x', 'js-menu-close') + svg$5$0.setAttributeNS(null, 'height', 16) + svg$5$0.setAttributeNS(null, 'version', '1.1') + svg$5$0.setAttributeNS(null, 'viewBox', '0 0 12 16') + svg$5$0.setAttributeNS(null, 'width', 12) + div$4$0.appendChild(svg$5$0) + + const path$6$0 = document.createElementNS('http://www.w3.org/2000/svg', 'path') + path$6$0.setAttributeNS(null, 'd', 'M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z') + svg$5$0.appendChild(path$6$0) + + const span$5$1 = document.createElement('span') + span$5$1.classList.add('select-menu-title') + div$4$0.appendChild(span$5$1) + + span$5$1.appendChild(document.createTextNode('Share Gist with…')) + + const div$4$1 = document.createElement('div') + div$4$1.classList.add('select-menu-list', 'js-navigation-container') + div$3$0.appendChild(div$4$1) + + this.itemsContainer = div$4$1 + } + + Menu.prototype.AddItem = function(text, title, href, icon, newTab) { + const a = document.createElement('a') + a.classList.add('select-menu-item', 'js-navigation-item') + a.setAttribute('href', href) + if (title) a.setAttribute('title', title) + if (newTab) a.setAttribute('target', '_blank') + this.itemsContainer.appendChild(a) + + const i = document.createElement('img') + i.classList.add('select-menu-item-icon') + i.setAttribute('src', icon) + a.appendChild(i) + + const s = document.createElement('span') + s.classList.add('select-menu-item-text') + a.appendChild(s) + + s.appendChild(document.createTextNode(text)) + } + + function getValue(elm) { + return elm ? elm.textContent.trim() : '' + } + + function getIntValue(elm) { + return elm ? parseInt(elm.textContent.trim(), 10) : 0 + } + + function addMenu() { + const link = document.querySelector('.gist-header-title a') + const nav = document.querySelector('.file-navigation-options') + if (link && nav) { // Check if we're on an actual gist + const data = { + url: link.href, + user: getValue(document.querySelector('.header-nav-current-user strong')), + author: getValue(document.querySelector('.author [itemprop="author"]')), + description: getValue(document.querySelector('.repository-meta-content') || link), + files: document.querySelectorAll('.file').length, + stars: getIntValue(document.querySelector('a[href$="/stargazers"] .counter, form[action$="/star"] .social-count')), + forks: getIntValue(document.querySelector('a[href$="/forks"] .counter, form[action$="/fork"] .social-count')), + revisions: getIntValue(document.querySelector('a[href$="/revisions"] .counter')) + } + + console.log(data) + + const menu = new Menu(nav) + + // Twitter + if (true) { + const stats = [] + if (data.files > 1) { + stats.push(data.files + ' files') + } + if (data.stars === 1) { + stats.push(data.stars + ' star') + } else if (data.stars > 1) { + stats.push(data.stars + ' stars') + } + if (data.forks === 1) { + stats.push(data.forks + ' fork') + } else if (data.forks > 1) { + stats.push(data.forks + ' forks') + } + if (data.revisions > 1) { + stats.push(data.revisions + ' revisions') + } + + const tweet = String.format('Check out {0} #gist {1} on @github {2}', + data.author === data.user ? 'my' : data.author + "'s", + data.description ? '"' + data.description + '"' : '', + stats.length > 0 ? String.format('- {0} -', stats.join(', ')) : '-') + + const link = 'https://twitter.com/intent/tweet' + + '?original_referer=' + encodeURIComponent(data.url) + + '&source=tweetbutton&url=' + encodeURIComponent(data.url) + + '&text=' + encodeURIComponent(tweet) + + const icon = 'data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////A////xT///8f////K////yj///8f////FP///wP///8A////AP///wD///8A////AP///wD///8A////H/357kj55K589tV+ofPFUML0y1+29tV+ofnkrnz9+e5I////H////wP///8A////AP///wD///8A////ANi/foG2iBDuvYkA/9CWAP/npwD/7qwA/+6sAP/urAD/7rAP8/bVfqH9+e8/////A////wD///8A////AP///wD///8A////APDnzjDjx36N3Kcf5e6sAP/urAD/7qwA/+6sAP/urAD/8bww2/357z////8D////AP///wD///8A////AP///wP///8z+N+eifTLX7burAD/7qwA/+6sAP/urAD/7qwA/+6sAP/xvDDb/PjvM////wD///8A////AP///wD69+8V2Kkw1eqpAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA//TLX7b///8H////AP///wD///8A+fLfPvbVfqHusA/z7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/+fLfPv///wD///8A////DPXQcKvurAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+/Lb6f///8A////APPpzzzUmQD/7qwA/+6sAP/urAD/7qwA/+enAP/npwD/7qwA/+6sAP/urAD/7qwA/+6sAP/xvDDb////AP///wDt4L5G9dBwq+6sAP/urAD/2JwA/7qGAP+7kCDe1qMf4+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/////yT///8A9/DeLu6sAP/npwD/vYkA/8+wYJ/1794f////AOXIfo7urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/zznCo////KO7hv0jjpAD/vpIf4PDnzjD///8A////AP///wDeyI5x46QA/+6sAP/urAD/7qwA/+qpAP/UmQD/5KkO89u4YKfw584ww5ov0Pr37g////8A////AP///wD///8A+vfuD8OaL9DUmQD/36EA/9icAP+9jA/w07hwjsCYMM/p2a9U////APr37g////8A////AP///wD///8A////AP///wD69+4P07hwjsWgQL/PsGCf9e/eH////wD///8A9e/eH////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAOH/AAAAPwAA4B8AAOAPAADABwAAwAcAAIADAACAAwAAgAMAAIYBAACfAAAAvwEAAP+PAAD//wAA//8AAA=='; + + menu.AddItem('Twitter', tweet + ' ' + data.url, link, icon, true) + } + + // Userscripts + if (document.querySelector('.file .file-actions a[href$=".user.js" i]')) { + const icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKwSURBVHjabJNJTBNRGID/mc5MQYVWVNCGTbEtNZGDBj1ogolEMR5UJA2LBmMoIokxERIj8ehJjx6MYIQoJgq4JIa6gEARkKJFTa2iFFtKWwp2oeDCzNQ+31DQCc5L/nmT/P/3749ACAFBECBxiEPFFds0Ws399DRVhtX2udc97ig0PmgOLBkIbOwjAR8uMRRdvXF7pqv/NfrqnEAOlxsdLas6j3Wk2AEpCRcbKvLydrdu1WUr0lXrITEhAZKUSkhQKvKwXiY2ppbDRzCcv29P/ZZsDaSqUkCJYVJGwKMnHTDlmWgTZ/CvjkW4sKTScP1WC+oZsKAxpwv5gyEUnAkj2xc70p88Y8Y2a8VBxT0gispOGa413UVDb23IMe6OwaEw+jTqQKMOF3pptqBSw7k74hLEPaDUOu0VmpFDV58ZCJIAkiDB5fUBz0eApmjQqbOgrqa69HhVbZO4jKUfmiBJBctysHJFPPiDYbA7J4DjeJDLaWAYGVAyErIy0uDs6RPH9OXVtULWYgfEmN3emJK8BlYrEsHl8cEvloX4ODnEyRlgKGZhV1iOhcz0VNixM7dOCCp2EBkeMF3u6DaNqDasg1U4CzlFxxSRKMyz8xjmsPAQwNmRsc2jxGPkR0esHp7n9RBFrYbyUi1DUzh1GujFG0UBQrNz8P7DR3j+9NklqTEK3VVkbNLkVNZc9AwNW5Hb60PT/gCamg6gEbsT3XvYjvIP6i9gu2ShhOWb+BvLD13O9o3azWrVdy4K3wKhv5HfWW1Q39BY19nechPbzQrVwX9bhU+iIqnyQMF+mPvJQr/FCsHwDJgG30ADhl8Y2wQ4jIUVkpdaZRnPcd6AfxomJ32AIhEwdvaC8XG7JLwwvmXPmVFn52Tu2lvQjN9Crn3M6bWY+6otr3oGpWCB/SPAAJaJRguGUxB0AAAAAElFTkSuQmCC'; + const userscripts = document.querySelectorAll('.file .file-actions a[href$=".user.js"]') + Array.prototype.forEach.call(userscripts, function(userscript) { + const text = String.format('Userscript "{0}"', userscript.href.split('/').pop()) + menu.AddItem(text, null, userscript.href, icon, false) + }) + } + + // Dabblet + if (document.querySelector('.file .type-css, .file .type-html, .file .type-javascript')) { + const link = 'http://dabblet.com/gist/' + data.url.split('/').pop() + const icon = 'data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8B////AQAAAAMAAAAPAAAAHwAAACcAAAAfAAAADwAAAAP///8B////AQAAAAUAAAARAAAAHwAAAB0AAAAJ////AQAAAAcAAAAjqqqqb9vb28Xn5+fb29vbxaqqqm8AAAAjAAAABwAAAAkAAAApvLy8hd7e3snl5eXBAAAAIwAAAAMAAAAjzc3Nqf39/f/////////////////9/f3/0NDQqQAAACEAAAAp2NjYvf///////////////wAAADEAAAAPra2tc/39/f////////////b29vn///////////39/f8AAABFvLy8jf///////////f39/97e3r8AAAAhAAAAIdzc3Mf//////////66urp8AAABNrq6un///////////AAAAXePj49v//////Pz8/YqKin0AAAAlAAAACQAAACnq6urj//////Hx8fUAAABJAAAADQAAAEnv7+/z/////wAAAGXx8fHz/////+Tk5N8AAAAzAAAAA////wEAAAAh3d3dy///////////l5eXjQAAAEWXl5eN//////////8AAABp9fX19f/////g4ODVAAAAKf///wH///8BAAAAEbm5uYP///////////39/f/u7u7x/f39////////////AAAAafX19fX/////4ODg1QAAACn///8B////AQAAAAUAAAAn19fXu////////////////////////////////wAAAGn19fX1/////93d3dtoaGhXXFxcJwAAAAv///8BAAAABwAAACe5ubmF4+Pj1e/v7+nd3d3f8/Pz+f////8AAABp9fX19f/////c3Nzl7e3t5+zs7M0AAAAh////Af///wEAAAAFAAAAEwAAACUAAAAtAAAAU+np6ev/////AAAAafX19fX/////3Nzc5e3t7efs7OzNAAAAIf///wH///8B////Af///wH///8B////AQAAAC/r6+vn/////wAAAGn19fX1/////93d3dtpaWlVXFxcJwAAAAv///8B////Af///wH///8B////Af///wEAAAAh5ubm0/////8AAABd9fX18f/////i4uLLAAAAH////wH///8B////Af///wH///8B////Af///wH///8BAAAADXR0dEXs7Oy/AAAANbm5uXvz8/PjkpKSVQAAAA3///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAALAAAAFQAAAA0AAAAVAAAAHwAAAA////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w==' + menu.AddItem('Dabblet', link, link, icon, true) + } + + // Bl.ocks + if (document.querySelector('.file .file-actions a[href$="index.html" i], .file .file-actions a[href$="README.md" i]')) { + const link = data.url.replace('https://gist.github.com/', 'https://bl.ocks.org/') + const icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0klEQVQ4jaWTTWhcZRSGn++7f3PnTqaTtrRJp4OVlmkzYbRRSQUJrkQoFEVw5UJQGRcVhO66KAxdihXdCFkWusrSIliIESuFRrASf2slY2xDaZN2Mpm5P3P/vq+LEAIprnyXh8Nzznl5D/xPid2Fq+120Yt7UypJjhzvRVe039tq9MrcrnjvGo69HDiVn8+02yGAuRtwaDhYeCZSp3ScobTCefY4ZBlxd52Tsb4stGZFbS4CLwPI3YDyvyvT9kiZ0uQU2BaDlTsMVjtgW5ROPIftjTDS+Xv663Nn6wBme7ZVDJLi1DBLjhTHzSvWXAdZrxP8eBOR5ux/5TUA+r//xODXW+RphCsNYRm6CGDGZnmhUi2citOEJIsRUmLt2YtoTBL+tkTQuQ1Ck/kh0pJIYYDYWVxuGhvTRbvIsYNHMaWFMLZ81UjciSbm4RpZt4u0JGLbc612AKlOxPOHX+Sx3yXTOYk06V/7ChBopSDP0VpvTQbSsE+YxXrebexrtWeLpiEMvEKJxqEm1T09Ft6qMHF9hdr1b/AqB3AnmximTTKMGEab3B09yPf1t0U6Wp031+8tmkJIsiwlyWIcy6FUq3F15hGFpZc4ff8G1RvfkivNA9dlvv46d8cmmTh6gGwjYLlvTZtCodcGD0Wuc/I8I85TlFYsiXFe+PAi1/68x2o3plEfxwNYXuOvzjrDOMV0CsJ0NrxX529+NyfKaqxZa+I5HqZhI6WgVHBoHKtSC2L+WffpBwlhnGIKgTQNpNyJsvj4s4/eC2z/C7tseForHi6/SeuNkzweREggTDJ++GUVlEYYAiEkvV709C+0Pm3tT/zED9SZ8PTMCaERqDxnmCoW/7iPZRlorQj8hHAQ6qcA2/rg/JczkXTncnvf2FRjnJJrc+vOGlGcMOiFuPnGI1cM3/lPwPZprQuz728mhc+1O+plKkeE/agk/QuXPzl7CeAJlkc5xMckqesAAAAASUVORK5CYII=' + menu.AddItem('Bl.ocks', link, link, icon, true) + } + } + } + + // Init + addMenu() + + // Pjax + document.addEventListener('pjax:end', addMenu) + +})() diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index 4340b7c..adf4f8b 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -5,54 +5,93 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Share your [GitHub Gist](https://gist.github.com) to: -* [Twitter](http://twitter.com) -* [Dabblet](http://dabblet.com) -* UserScript (when name ends with `.user.js`) -* [bl.ocks.org](http://bl.ocks.org) +* [Twitter](http://twitter.com). +* UserScript (when a file ends with `.user.js`). -## Screenshot +* [Dabblet](http://dabblet.com). -![Github Gist Share screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/screenshot.jpg) +* [Bl.ocks](https://bl.ocks.org) (when Gist contains a `index.html` or + `README.md` file). +## Screenshot -## Compatible +![Github Gist Share screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/screenshot.png) -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +## Compatible +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **4.5** - * Added bl.ocks.org support; -* **4.4** - * Fixed code after layout changes; - * Removed old code for Github Gist Dabblet; - * Fixed some JSHint errors; -* **4.3** - * Converted userscript icon to data uri as USO isn't available anymore; - * Fixed counting files; - * JSHint fixes; -* **4.2** - * Added support for Scriptish; -* **4.1** - * Namespace update; -* **4.0** - * Added userscript support; -* **4.1** - * Added Dabblet; -* **4.1** - * Added Twitter; -* **4.1** - * Initial version; +* **5.0** + + * Complete rewrite to make it work again. + +* **4.5** + + * Added Bl.ocks support. + +* **4.4** + + * Fixed code after layout changes. + * Removed old code for Github Gist Dabblet. + * Fixed JSHint errors. + +* **4.3** + + * Converted userscript icon to data uri as USO isn't available anymore. + * Fixed counting files. + * JSHint fixes. + +* **4.2** + + * Added support for Scriptish. + +* **4.1** + + * Namespace update. + +* **4.0** + + * Added Userscript support. + +* **3.0** + + * Added Dabblet. + +* **2.0** + + * Added Twitter. + +* **1.0** + + * Initial version. + +## Test case + +* (Twitter with own username + `Check out my #gist "Github Flavored Markdown Stylesheet for Web + Essentials" on @github - 8 stars, 4 forks, 2 revisions - + https://gist.github.com/jerone/9925179`). + +* (Twitter). + +* (forked Gist). + +* (two Userscripts). + +* (Dabblet + ). +* (Bl.ocks + ). ## External links -* [Greasy Fork](https://greasyfork.org/scripts/54-github-gist-share) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Gist_Share) +* [Greasy Fork](https://greasyfork.org/scripts/54-github-gist-share) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Gist_Share) diff --git a/Github_Gist_Share/screenshot.png b/Github_Gist_Share/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6db0cd02707b7aa42904fb3c125b084b13ffb1 GIT binary patch literal 52056 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�Zu7P(sjb^rA&={3od`6&Y!x~a4EHFjj((d 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

^>43_i^- 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 Nm>OB!s5Wqp`#(qK!gBxs literal 0 HcmV?d00001 diff --git a/Github_Gist_Share/screenshot.jpg b/Github_Gist_Share/screenshot3.jpg similarity index 100% rename from Github_Gist_Share/screenshot.jpg rename to Github_Gist_Share/screenshot3.jpg From 8570340bb81d18e8b96469cb4a227fec538e6a9e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Sep 2016 19:59:52 +0200 Subject: [PATCH 030/164] :clapper: Fixed issues after recent layout updates for Github Commit Whitespace & Github Commit Diff --- Github_Commit_Diff/Github_Commit_Diff.user.js | 161 +++++++++--------- Github_Commit_Diff/README.md | 88 ++++++---- .../Github_Commit_Whitespace.user.js | 87 +++++----- Github_Commit_Whitespace/README.md | 28 +-- 4 files changed, 194 insertions(+), 170 deletions(-) diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index d588ec2..9a37bb8 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -13,119 +13,118 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.6.3 +// @version 1.6.4 // @grant none // ==/UserScript== -/* global unsafeWindow */ (function() { function addButton() { - var e; - if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById("toc"))) { + var e + if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById('toc'))) { - var r = e.querySelector(".GithubCommitDiffButton"); + var r = e.querySelector('.GithubCommitDiffButton') if (r) { - r.parentElement.removeChild(r); + r.parentElement.removeChild(r) } - var b = e.querySelector(".toc-diff-stats"); + var b = e.querySelector('.toc-diff-stats') - const s = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - s.classList.add("octicon", "octicon-diff"); - s.setAttributeNS(null, "height", 16); - s.setAttributeNS(null, "width", 14); - s.setAttributeNS(null, "viewBox", "0 0 14 16"); + const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg') + s.classList.add('octicon', 'octicon-diff') + s.setAttributeNS(null, 'height', 16) + s.setAttributeNS(null, 'width', 14) + s.setAttributeNS(null, 'viewBox', '0 0 14 16') - const p = document.createElementNS("http://www.w3.org/2000/svg", "path"); - p.setAttributeNS(null, "d", "M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z"); - s.appendChild(p); + const p = document.createElementNS('http://www.w3.org/2000/svg', 'path') + p.setAttributeNS(null, 'd', 'M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z') + s.appendChild(p) - var a = document.createElement("a"); - a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); - a.setAttribute("href", getPatchOrDiffHref("diff")); - a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", "Show commit diff.\r\nHold Shift to open commit patch."); - a.appendChild(s); - a.appendChild(document.createTextNode(" Diff")); + var a = document.createElement('a') + a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n') + a.setAttribute('href', getPatchOrDiffHref('diff')) + a.setAttribute('rel', 'nofollow') + a.setAttribute('aria-label', 'Show commit diff.\r\nHold Shift to open commit patch.') + a.appendChild(s) + a.appendChild(document.createTextNode(' Diff')) - var g = document.createElement("div"); - g.classList.add("GithubCommitDiffButton", "right"); - g.style.margin = "0 10px 0 0"; // give us some room; - g.appendChild(a); + var g = document.createElement('div') + g.classList.add('GithubCommitDiffButton', 'float-right') + g.style.margin = '0 10px 0 0' // Give us some room + g.appendChild(a) - b.parentNode.insertBefore(g, b); + b.parentNode.insertBefore(g, b) - a.addEventListener("mousedown", mousedownEvent, false); - a.addEventListener("mouseout", function() { - a.setAttribute("href", getPatchOrDiffHref("diff")); - }, false); - } else if (/\/pull\/\d*\/files/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .right"))) { + a.addEventListener('mousedown', mousedownEvent, false) + a.addEventListener('mouseout', function() { + a.setAttribute('href', getPatchOrDiffHref('diff')) + }, false) + } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector('#files_bucket .pr-toolbar .diffbar > .float-right'))) { - var r = e.querySelector(".GithubCommitDiffButton"); + var r = e.querySelector('.GithubCommitDiffButton') if (r) { - r.parentElement.removeChild(r); + r.parentElement.removeChild(r) } - const s = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - s.classList.add("octicon", "octicon-diff"); - s.setAttributeNS(null, "height", 16); - s.setAttributeNS(null, "width", 14); - s.setAttributeNS(null, "viewBox", "0 0 14 16"); - - const p = document.createElementNS("http://www.w3.org/2000/svg", "path"); - p.setAttributeNS(null, "d", "M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z"); - s.appendChild(p); - - var a = document.createElement("a"); - a.classList.add("btn-link", "muted-link"); - a.setAttribute("href", getPatchOrDiffHref("diff")); - a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", "Show commit diff.\r\nHold Shift to open commit patch."); - a.appendChild(s); - a.appendChild(document.createTextNode(" Diff")); - - var g = document.createElement("div"); - g.classList.add("GithubCommitDiffButton", "diffbar-item"); - g.appendChild(a); - - e.insertBefore(g, e.firstChild); - - a.addEventListener("mousedown", mousedownEvent, false); - a.addEventListener("mouseout", function() { - a.setAttribute("href", getPatchOrDiffHref("diff")); - }, false); + const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg') + s.classList.add('octicon', 'octicon-diff') + s.setAttributeNS(null, 'height', 16) + s.setAttributeNS(null, 'width', 14) + s.setAttributeNS(null, 'viewBox', '0 0 14 16') + + const p = document.createElementNS('http://www.w3.org/2000/svg', 'path') + p.setAttributeNS(null, 'd', 'M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z') + s.appendChild(p) + + var a = document.createElement('a') + a.classList.add('btn-link', 'muted-link') + a.setAttribute('href', getPatchOrDiffHref('diff')) + a.setAttribute('rel', 'nofollow') + a.setAttribute('title', 'Show commit diff.\r\nHold Shift to open commit patch.') + a.appendChild(s) + a.appendChild(document.createTextNode(' Diff')) + + var g = document.createElement('div') + g.classList.add('GithubCommitDiffButton', 'diffbar-item') + g.appendChild(a) + + e.insertBefore(g, e.firstChild) + + a.addEventListener('mousedown', mousedownEvent, false) + a.addEventListener('mouseout', function() { + a.setAttribute('href', getPatchOrDiffHref('diff')) + }, false) } } function mousedownEvent(e) { if (e.shiftKey) { - var patch = getPatchOrDiffHref("patch"); - e.preventDefault(); - a.setAttribute("href", patch); - if (e.which === 1) { // left click; - location.href = patch; - // To prevent Firefox default behavior (opening a new window) - // when pressing shift-click on a link, delete the link. - this.parentElement.removeChild(this); - } else if (e.which === 2) { // middle click; - window.open(patch, "GithubCommitDiff"); + var patch = getPatchOrDiffHref('patch') + e.preventDefault() + a.setAttribute('href', patch) + if (e.which === 1) { // left click + location.href = patch + // To prevent Firefox default behavior (opening a new window) + // when pressing shift-click on a link, delete the link. + this.parentElement.removeChild(this) + } else if (e.which === 2) { // Middle click + window.open(patch, 'GithubCommitDiff') } } else { - a.setAttribute("href", getPatchOrDiffHref("diff")); + a.setAttribute('href', getPatchOrDiffHref('diff')) } } function getPatchOrDiffHref(type) { - return (document.querySelector("link[type='text/plain+" + type + "']") || document.querySelector("link[type='text/x-" + type + "']") || { - href: location.href + "." + type - }).href; + return (document.querySelector('link[type="text/plain+' + type + '"]') || document.querySelector('link[type="text/x-' + type + '"]') || { + href: location.href + '.' + type + }).href } - // init; - addButton(); + // Init + addButton() - // on pjax; - document.addEventListener('pjax:end', addButton); + // Pjax + document.addEventListener('pjax:end', addButton) -})(); +})() diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 073508d..524f3c2 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -5,59 +5,81 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description -Adds button to show diff file for commit. Hold Shift key to open the patch file. - +Adds a button to show the `.diff` file for every commit. +Hold Shift key to open the `.patch` file instead of an `.diff` file. This works on commits, pull requests and compare pages. - ## Screenshot ![Github Commit Diff screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.6.3** - * Fixed issues after recent layout updates; -* **1.6.2** - * Fixed issues after recent layout updates; -* **1.6.1** - * Tooltips now on top; -* **1.6** - * Fixed align issue with new split diffs (fixes https://github.com/jerone/UserScripts/issues/24); -* **1.5** - * Fixed issues after recent layout updates (fixes https://github.com/jerone/UserScripts/issues/8); -* **1.4** - * Fixed middle & right mouse clicks; -* **1.3** - * Added to pull requests; - * Added to compare page; -* **1.2** - * Added support for Scriptish; -* **1.1** - * Clean up; -* **1.0** - * Initial version; +* **1.6.4** + + * Fixed issues after recent layout updates. + +* **1.6.3** + + * Fixed issues after recent layout updates. + +* **1.6.2** + + * Fixed issues after recent layout updates. + +* **1.6.1** + + * Tooltips now on top. + +* **1.6** + + * Fixed align issue with new split diffs (fixes [24](https://github.com/jerone/UserScripts/issues/24)). +* **1.5** + + * Fixed issues after recent layout updates (fixes [8](https://github.com/jerone/UserScripts/issues/8)). + +* **1.4** + + * Fixed middle & right mouse clicks. + +* **1.3** + + * Added to pull requests. + * Added to compare page. + +* **1.2** + + * Added support for Scriptish. + +* **1.1** + + * Clean up. + +* **1.0** + + * Initial version. ## Notes Use cases: -* https://github.com/OpenUserJs/OpenUserJS.org/commit/aac291b83a5d5fa4fb4382080473ef3a4dd908c2 (commit) -* https://github.com/OpenUserJs/OpenUserJS.org/pull/327/files (pr) -* https://github.com/OpenUserJs/OpenUserJS.org/compare/master%40%7B1day%7D...master (compare) +* (commit) + +* (PR) + +* + (PR commit) +* (compare) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/77) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Diff) +* [Greasy Fork](https://greasyfork.org/scripts/77) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Diff) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 8951f11..309ff71 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -13,80 +13,79 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.5.0 +// @version 1.5.1 // @grant none // ==/UserScript== -/* global unsafeWindow */ (function() { function addButton() { - var e; - if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById("toc"))) { + var e + if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById('toc'))) { - var r = e.querySelector(".GithubCommitWhitespaceButton"); + var r = e.querySelector('.GithubCommitWhitespaceButton') if (r) { - r.parentElement.removeChild(r); + r.parentElement.removeChild(r) } - var on = /w=/.test(location.search); // any occurense results in enabling; + var on = /w=/.test(location.search) // Any occurense results in enabling - var b = e.querySelector(".toc-diff-stats"); + var b = e.querySelector('.toc-diff-stats') - var a = document.createElement("a"); - a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); + var a = document.createElement('a') + a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n') if (on) { - a.classList.add("selected"); + a.classList.add('selected') } - a.setAttribute("href", url(on)); - a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespace"); - a.appendChild(document.createTextNode(" \u2423")); + a.setAttribute('href', url(on)) + a.setAttribute('rel', 'nofollow') + a.setAttribute('aria-label', on ? 'Show commit whitespace' : 'Hide commit whitespace') + a.appendChild(document.createTextNode(' \u2423')) - var g = document.createElement("div"); - g.classList.add("GithubCommitWhitespaceButton", "right"); - g.style.margin = "0 10px 0 0"; // give us some room; - g.appendChild(a); + var g = document.createElement('div') + g.classList.add('GithubCommitWhitespaceButton', 'float-right') + g.style.margin = '0 10px 0 0' // Give us some room + g.appendChild(a) - b.parentNode.insertBefore(g, b); - } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector("#files_bucket .pr-toolbar .diffbar > .float-right"))) { + b.parentNode.insertBefore(g, b) + } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector('#files_bucket .pr-toolbar .diffbar > .float-right'))) { - var r = e.querySelector(".GithubCommitWhitespaceButton"); + var r = e.querySelector('.GithubCommitWhitespaceButton') if (r) { - r.parentElement.removeChild(r); + r.parentElement.removeChild(r) } - var on = /w=/.test(location.search); // any occurense results in enabling; + var on = /w=/.test(location.search) // Any occurense results in enabling - var a = document.createElement("a"); - a.classList.add("btn-link", "muted-link"); - a.setAttribute("href", url(on)); - a.setAttribute("rel", "nofollow"); - a.setAttribute("aria-label", on ? "Show commit whitespace" : "Hide commit whitespace"); - a.appendChild(document.createTextNode(on ? "Show whitespace" : "Hide whitespace")); + var a = document.createElement('a') + a.classList.add('btn-link', 'muted-link') + a.setAttribute('href', url(on)) + a.setAttribute('rel', 'nofollow') + a.setAttribute('title', on ? 'Show commit whitespace' : 'Hide commit whitespace') + a.appendChild(document.createTextNode(on ? 'Show whitespace' : 'Hide whitespace')) - var g = document.createElement("div"); - g.classList.add("GithubCommitWhitespaceButton", "diffbar-item"); - g.appendChild(a); + var g = document.createElement('div') + g.classList.add('GithubCommitWhitespaceButton', 'diffbar-item') + g.appendChild(a) - e.insertBefore(g, e.firstChild); + e.insertBefore(g, e.firstChild) } } function url(on) { - var searches = location.search.replace(/^\?/, "").split("&").filter(function(item) { - return item && !/w=.*/.test(item); - }); + var searches = location.search.replace(/^\?/, '').split('&').filter(function(item) { + return item && !/w=.*/.test(item) + }) if (!on) { - searches.push("w=1"); + searches.push('w=1') } - return location.href.replace(location.search, "") + (searches.length > 0 ? "?" + searches.join("&") : ""); + return location.href.replace(location.search, '') + (searches.length > 0 ? '?' + searches.join('&') : '') } - // init; - addButton(); + // Init + addButton() - // on pjax; - document.addEventListener('pjax:end', addButton); + // Pjax + document.addEventListener('pjax:end', addButton) -})(); +})() diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index a6fe666..961dc13 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -27,50 +27,54 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.5.1** + + * Fixed issues after recent layout updates. + * **1.5.0** - * :sparkles: Added support for commits from PR's + * :sparkles: Added support for commits from PR's. * **1.4.4** - * :clapper: New version of GitHub Commit Whitespace + * :clapper: New version of GitHub Commit Whitespace. * **1.4.3** - * Fixed issues after recent layout updates + * Fixed issues after recent layout updates. * **1.4.2** - * Fixed issues after recent layout updates + * Fixed issues after recent layout updates. * **1.4.1** - * Tooltips now on top + * Tooltips now on top. * **1.4** - * Fixed align & url issues with new split diffs (fixes [#25](https://github.com/jerone/UserScripts/issues/25)) + * Fixed align & url issues with new split diffs (fixes [#25](https://github.com/jerone/UserScripts/issues/25)). * **1.3** - * Fixed issues after recent layout updates (fixes [#9](https://github.com/jerone/UserScripts/issues/9)) + * Fixed issues after recent layout updates (fixes [#9](https://github.com/jerone/UserScripts/issues/9)). * **1.2.1** - * Fixed adding to pull requests + * Fixed adding to pull requests. * **1.2** - * Added to pull requests + * Added to pull requests. * **1.1** - * Added to compare page - * Added support for Scriptish + * Added to compare page. + * Added support for Scriptish. * **1.0** - * Initial version + * Initial version. ## Notes From 5a7681fc72a06f05baf3fd52803b7d6fe0218b93 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Sep 2016 20:14:02 +0200 Subject: [PATCH 031/164] :memo: Deprecation message about GCE --- Github_Comment_Enhancer/README.md | 6 +++- README.md | 54 +++++++++++++++---------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/Github_Comment_Enhancer/README.md b/Github_Comment_Enhancer/README.md index 0492e41..ab92267 100644 --- a/Github_Comment_Enhancer/README.md +++ b/Github_Comment_Enhancer/README.md @@ -1,4 +1,4 @@ -# [Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer) +# [Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js) @@ -6,6 +6,10 @@ [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) +## Notice + +THIS USERSCRIPT IS SADLY DEPRECATED. + ## Description Add features to enhance comments & wiki & contact page on [Github](https://github.com) and comments on [Github Gist](https://gist.github.com). diff --git a/README.md b/README.md index 830a9b9..457a80a 100644 --- a/README.md +++ b/README.md @@ -2,61 +2,59 @@ [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/jerone/UserScripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) - ## Description This repo contains a few of my UserScripts that I've build since [2007](http://userscripts-mirror.org/users/jerone). ### Github -* [Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github. -* [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme) - Easy reply to Github comments. -* [Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file. -* [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items. -* [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit. -* [Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit. -* [Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover. -* [Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing. -* [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable. -* [Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available. -* [Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript. +- [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme) - Easy reply to Github comments. +- [Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file. +- [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items. +- [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit. +- [Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit. +- [Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover. +- [Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing. +- [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable. +- [Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available. +- [Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript. +- ~~[Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github.~~ (deprecated) ### Twitter -* [Twitter profile replies hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_replies_hider#readme) - Hide replies on Twitter profiles. -* [Twitter profile retweets hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_retweets_hider#readme) - Hide retweets on Twitter profiles. +- [Twitter profile replies hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_replies_hider#readme) - Hide replies on Twitter profiles. +- [Twitter profile retweets hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_retweets_hider#readme) - Hide retweets on Twitter profiles. ### Outlook -* [Multiple Windows Live ID's](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs#readme) - Easy login with multiple Microsoft accounts. -* [Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login#readme) - Redirect back to login page when signing out from Outlook. +- [Multiple Windows Live ID's](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs#readme) - Easy login with multiple Microsoft accounts. +- [Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login#readme) - Redirect back to login page when signing out from Outlook. ### Dutch -* [Horizon TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer#readme) - Improves the Horizon TV Gids. -* [GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer#readme) - Add features to enhance comments on the sites GeenStijl & Powned & Dumpert & more. -* [Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme) - Exchange Marktplaats.nl. +- [Horizon TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer#readme) - Improves the Horizon TV Gids. +- [GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer#readme) - Add features to enhance comments on the sites GeenStijl & Powned & Dumpert & more. +- [Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme) - Exchange Marktplaats.nl. ### Extra & proof-of-concepts -* [Darts Data Enhancer](https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme) - Enhances Darts Data. -* [Dakar Extender](https://github.com/jerone/UserScripts/tree/master/Dakar_Extender#readme) - Highlight riders by certain country in standings lists. -* [April Fools CSS](https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS#readme) - Some CSS april fools. -* [PDF Tools](https://github.com/jerone/UserScripts/tree/master/PDF_Tools#readme) - An userscript that enhances the pdf.js window in Firefox. - +- [Darts Data Enhancer](https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme) - Enhances Darts Data. +- [Dakar Extender](https://github.com/jerone/UserScripts/tree/master/Dakar_Extender#readme) - Highlight riders by certain country in standings lists. +- [April Fools CSS](https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS#readme) - Some CSS april fools. +- [PDF Tools](https://github.com/jerone/UserScripts/tree/master/PDF_Tools#readme) - An userscript that enhances the pdf.js window in Firefox. ## External profiles -* ~~[Userscripts.org](http://userscripts.org/users/jerone) ([mirror](http://userscripts-mirror.org/users/jerone))~~ -* [Greasy Fork](https://greasyfork.org/users/15) -* [OpenUserJs](https://openuserjs.org/users/jerone) +My [GitHub repository](https://github.com/jerone/UserScripts) will always contain the latest version. +- ~~[Userscripts.org](http://userscripts.org/users/jerone) ([mirror](http://userscripts-mirror.org/users/jerone))~~ (dead) +- [Greasy Fork](https://greasyfork.org/users/15) +- [OpenUserJs](https://openuserjs.org/users/jerone) ## Contributing Please review the [guidelines for contributing](https://github.com/jerone/UserScripts/blob/master/CONTRIBUTING.md) to this repository. - ## License All UserScripts in [this repository](https://github.com/jerone/UserScripts) are [licensed under GNU GPLv3](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) unless explicitly otherwise stated. From f659e2f3b0e71099b314a5f942523adbe43d2fbc Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 9 Nov 2016 20:21:31 +0100 Subject: [PATCH 032/164] :clapper: New version of Horizon / Ziggo TV Gids --- Horizon_TV_Fixer/155147.user.js | 6 ++++-- Horizon_TV_Fixer/README.md | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 9e3aa74..8d1039e 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Horizon TV Fixer // @namespace https://github.com/jerone/UserScripts -// @description Improves the Horizon TV Gids by extending the functionality and the layout of the site. +// @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) // @license GNU GPLv3 @@ -11,9 +11,11 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 30 +// @icon https://www.ziggogo.tv/etc/designs/orion/theme/ziggo/favicon/favicon.ico +// @version 31 // @grant none // @include *horizon.tv* +// @include *ziggogo.tv* // ==/UserScript== (function HorizonTVFixer() { diff --git a/Horizon_TV_Fixer/README.md b/Horizon_TV_Fixer/README.md index 22f3a22..7d31868 100644 --- a/Horizon_TV_Fixer/README.md +++ b/Horizon_TV_Fixer/README.md @@ -1,4 +1,4 @@ -# [Horizon TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer) +# [Horizon / Ziggo TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Horizon_TV_Fixer/155147.user.js) @@ -8,7 +8,7 @@ ## Description -Improves the [Horizon TV Gids](https://www.horizon.tv/nl_nl/tv-gids.html) by extending the functionality and the layout of the site. +Improves the [Horizon / Ziggo TV Gids](https://www.horizon.tv/nl_nl/tv-gids.html) by extending the functionality and the layout of the site. * Add social share to Twitter; * Add link to IMDb; @@ -24,7 +24,7 @@ Improves the [Horizon TV Gids](https://www.horizon.tv/nl_nl/tv-gids.html) by ext ## Screenshot -![Horizon TV Fixer screenshot](https://raw.github.com/jerone/UserScripts/master/Horizon_TV_Fixer/screenshot.jpg) +![Horizon / Ziggo TV Fixer screenshot](https://raw.github.com/jerone/UserScripts/master/Horizon_TV_Fixer/screenshot.jpg) ## Compatible @@ -36,6 +36,8 @@ This script doesn't work on browsers that don't implement [ES6 arrow functions]( ## Version History +* **31** (v1.1.124) + * Add support for ziggogo.tv domain. * **30** (v1.1.107) * Compatibility fixes for v1.1.107; * **29** (v1.1.96) From a4089e1553c2c9061a59051762e13a226d971173 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 27 Nov 2016 21:02:15 +0100 Subject: [PATCH 033/164] :clapper: New version of GitHub Commit Whitespace & Diff --- Github_Commit_Diff/Github_Commit_Diff.user.js | 6 +++--- Github_Commit_Diff/README.md | 4 ++++ .../Github_Commit_Whitespace.user.js | 12 ++++++------ Github_Commit_Whitespace/README.md | 4 ++++ 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 9a37bb8..47f4776 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -13,7 +13,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.6.4 +// @version 1.6.5 // @grant none // ==/UserScript== @@ -77,10 +77,10 @@ s.appendChild(p) var a = document.createElement('a') - a.classList.add('btn-link', 'muted-link') + a.classList.add('btn', 'btn-sm', 'btn-outline', 'tooltipped', 'tooltipped-s') a.setAttribute('href', getPatchOrDiffHref('diff')) a.setAttribute('rel', 'nofollow') - a.setAttribute('title', 'Show commit diff.\r\nHold Shift to open commit patch.') + a.setAttribute('aria-label', 'Show commit diff.\r\nHold Shift to open commit patch.') a.appendChild(s) a.appendChild(document.createTextNode(' Diff')) diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 524f3c2..86d0925 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -21,6 +21,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.6.5** + + * Fixed issues after recent layout updates. + * **1.6.4** * Fixed issues after recent layout updates. diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 309ff71..a4f07a6 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -13,7 +13,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.5.1 +// @version 1.5.2 // @grant none // ==/UserScript== @@ -40,7 +40,7 @@ a.setAttribute('href', url(on)) a.setAttribute('rel', 'nofollow') a.setAttribute('aria-label', on ? 'Show commit whitespace' : 'Hide commit whitespace') - a.appendChild(document.createTextNode(' \u2423')) + a.appendChild(document.createTextNode('\u2423')) var g = document.createElement('div') g.classList.add('GithubCommitWhitespaceButton', 'float-right') @@ -55,14 +55,14 @@ r.parentElement.removeChild(r) } - var on = /w=/.test(location.search) // Any occurense results in enabling + var on = /w=/.test(location.search) // Any occurense result in enabling var a = document.createElement('a') - a.classList.add('btn-link', 'muted-link') + a.classList.add('btn', 'btn-sm', 'btn-outline', 'tooltipped', 'tooltipped-s') a.setAttribute('href', url(on)) a.setAttribute('rel', 'nofollow') - a.setAttribute('title', on ? 'Show commit whitespace' : 'Hide commit whitespace') - a.appendChild(document.createTextNode(on ? 'Show whitespace' : 'Hide whitespace')) + a.setAttribute('aria-label', on ? 'Show commit whitespace' : 'Hide commit whitespace') + a.appendChild(document.createTextNode('\u2423')) var g = document.createElement('div') g.classList.add('GithubCommitWhitespaceButton', 'diffbar-item') diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index 961dc13..2f37a3e 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -27,6 +27,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.5.2** + + * Fixed issues after recent layout updates. + * **1.5.1** * Fixed issues after recent layout updates. From 6b446d60ac2587707577e371f436babfe7d2de08 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 Nov 2016 19:54:23 +0100 Subject: [PATCH 034/164] [GUI] Remove console messages --- Github_User_Info/Github_User_Info.user.js | 58 +++++++++++------------ 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 7f7a350..2c8cfb8 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -29,8 +29,8 @@ return function proxyScope() { var that = this; return function proxyEvent(e) { - var args = that.slice(0); // clone; - args.unshift(e); // prepend event; + var args = that.slice(0); // clone + args.unshift(e); // prepend event fn.apply(this, args); }; }.call([].slice.call(arguments, 1)); @@ -52,7 +52,7 @@ 'z-index: 99;'; userMenu.classList.add('GithubUserInfo'); userMenu.addEventListener('mouseleave', function mouseleave() { - console.log('GithubUserInfo:userMenu', 'mouseleave'); + // console.log('GithubUserInfo:userMenu', 'mouseleave'); window.clearTimeout(_timer); userMenu.style.display = 'none'; }); @@ -354,20 +354,20 @@ upDate = new Date(now.setDate(now.getDate() - UPDATE_INTERVAL_DAYS)); if (date > upDate) { var data = users[username].data; - console.log('GithubUserInfo:getData', 'CACHED', data); + // console.log('GithubUserInfo:getData', 'CACHED', data); fillData(defaultData(data), position, avatarSize); } else { - console.log('GithubUserInfo:getData', 'AJAX - OUTDATED', username, date, upDate); + // console.log('GithubUserInfo:getData', 'AJAX - OUTDATED', username, date, upDate); fetchData(username, position, avatarSize); } } else { - console.log('GithubUserInfo:getData', 'AJAX - NON-EXISTING', username); + // console.log('GithubUserInfo:getData', 'AJAX - NON-EXISTING', username); fetchData(username, position, avatarSize); } } function fetchData(username, position, avatarSize) { - console.log('GithubUserInfo:fetchData', username); + // console.log('GithubUserInfo:fetchData', username); GM_xmlhttpRequest({ method: 'GET', url: 'https://api.github.com/users/' + username, @@ -381,7 +381,7 @@ return; } var data = defaultData(normalizeData(dataParsed)); - console.log('GithubUserInfo:parseUserData', data.username); + // console.log('GithubUserInfo:parseUserData', data.username); GM_xmlhttpRequest({ method: 'GET', @@ -396,7 +396,7 @@ return; } data.orgs = dataParsed.length; - console.log('GithubUserInfo:parseOrgsData', data.username, data.orgs); + // console.log('GithubUserInfo:parseOrgsData', data.username, data.orgs); switch (data.type) { case 'Organization': @@ -423,7 +423,7 @@ return; } data.members = dataParsed.length; - console.log('GithubUserInfo:parseMembersData', data.username, data.members); + // console.log('GithubUserInfo:parseMembersData', data.username, data.members); fillData(data, position, avatarSize); setData(data, data.username); @@ -432,7 +432,7 @@ function parseRawData(data) { data = JSON.parse(data); if (data.message && data.message.startsWith('API rate limit exceeded')) { - console.log('GithubUserInfo:parseRawData', 'API RATE LIMIT EXCEEDED'); + console.warn('GithubUserInfo:parseRawData', 'API RATE LIMIT EXCEEDED'); return; } return data; @@ -479,7 +479,7 @@ } function setData(data, username) { - console.log('GithubUserInfo:setData', username, data); + // console.log('GithubUserInfo:setData', username, data); var usersString = GM_getValue('users', '{}'); var users = JSON.parse(usersString); users[username] = { @@ -490,7 +490,7 @@ } function fillData(data, position, avatarSize) { - console.log('GithubUserInfo:fillData', data, position, avatarSize); + // console.log('GithubUserInfo:fillData', data, position, avatarSize); userAvatar.setAttribute('href', 'https://github.com/' + data.username); userAvatarImg.style.height = avatarSize.height + 'px'; @@ -578,38 +578,34 @@ function init() { var avatars = document.querySelectorAll([ - '.avatar[alt^="@"]', // Logged-in user & commits author & issuse participant & users organization & organization member; - '.avatar-child[alt^="@"]', // Authored committed users; - '.gravatar[alt^="@"]', // Following & followers page; - '.timeline-comment-avatar[alt^="@"]', // GitHub comments author; - '.commits img[alt^="@"]', // Commits on user activity tab; - '.leaderboard-gravatar[alt^="@"]', // Trending developer: https://github.com/trending/developers; - '.gist-author img', // Gist author; - '.gist .js-discussion .timeline-comment-avatar' // Gist comments author; + '.avatar[alt^="@"]', // Logged-in user & commits author & issuse participant & users organization & organization member + '.avatar-child[alt^="@"]', // Authored committed users + '.gravatar[alt^="@"]', // Following & followers page + '.timeline-comment-avatar[alt^="@"]', // GitHub comments author + '.commits img[alt^="@"]', // Commits on user activity tab + '.leaderboard-gravatar[alt^="@"]', // Trending developer: https://github.com/trending/developers + '.gist-author img', // Gist author + '.gist .js-discussion .timeline-comment-avatar' // Gist comments author ].join(',')); Array.prototype.forEach.call(avatars, function avatarsForEach(avatar) { avatar.addEventListener('mouseenter', function mouseenter() { - console.log('GithubUserInfo:avatar', 'mouseenter'); + // console.log('GithubUserInfo:avatar', 'mouseenter'); _timer = window.setTimeout(function mouseenterTimer() { - console.log('GithubUserInfo:avatar', 'timeout'); + // console.log('GithubUserInfo:avatar', 'timeout'); getData(this); }.bind(this), 500); }); avatar.addEventListener('mouseleave', function mouseleave() { - console.log('GithubUserInfo:avatar', 'mouseleave'); + // console.log('GithubUserInfo:avatar', 'mouseleave'); window.clearTimeout(_timer); }); }); } - // Page load; - console.log('GithubUserInfo', 'page load'); + // Init init(); - // On pjax; - document.addEventListener('pjax:end', function pjaxEnd() { - console.log('GithubUserInfo', 'pjax'); - init(); - }); + // Pjax + document.addEventListener('pjax:end', init); })(); From 0046f6ee77e456fb92b8b7436e6df67d2e59edd7 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 Nov 2016 19:55:24 +0100 Subject: [PATCH 035/164] [GUI] Fix showing joined date --- Github_User_Info/Github_User_Info.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 2c8cfb8..6e2dc59 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -188,8 +188,8 @@ 'text-align: center;' + 'color: #CCC;'; userJoined.appendChild(userJoinedIcon); - userJoined.appendChild(document.createTextNode('Joined on ')); - var userJoinedText = unsafeWindow.document.createElement('time', 'local-time'); // https://github.com/github/time-elements + userJoined.appendChild(document.createTextNode('Joined ')); + var userJoinedText = unsafeWindow.document.createElement('relative-time'); // https://github.com/github/time-elements userJoinedText.setAttribute('day', 'numeric'); userJoinedText.setAttribute('month', 'short'); userJoinedText.setAttribute('year', 'numeric'); From cd4672cc125e0b5402d4557ab3d82027b30832c2 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 Nov 2016 20:23:54 +0100 Subject: [PATCH 036/164] [GUI] Use flexbox css for counts --- Github_User_Info/Github_User_Info.user.js | 32 +++++++---------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 6e2dc59..1a060bc 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -198,13 +198,10 @@ var userCounts = document.createElement('div'); userCounts.style = - 'align-content: stretch;' + 'border-top: 1px solid #EEE;' + 'clear: left;' + 'display: flex;' + - 'flex-wrap: wrap;' + - 'margin-top: 10px;' + - 'padding-top: 5px;' + + 'justify-content: space-around;' + 'text-align: center;' + 'white-space: nowrap;'; userMenu.appendChild(userCounts); @@ -212,7 +209,6 @@ var userFollowers = document.createElement('a'); userFollowers.style = 'display: none;' + - 'flex: 0 1 auto;' + 'text-decoration: none;'; userFollowers.classList.add('vcard-stat'); userFollowers.setAttribute('target', '_blank'); @@ -231,7 +227,6 @@ var userFollowing = document.createElement('a'); userFollowing.style = 'display: none;' + - 'flex: 0 1 auto;' + 'text-decoration: none;'; userFollowing.classList.add('vcard-stat'); userFollowing.setAttribute('target', '_blank'); @@ -250,7 +245,6 @@ var userRepos = document.createElement('a'); userRepos.style = 'display: none;' + - 'flex: 0 1 auto;' + 'text-decoration: none;'; userRepos.classList.add('vcard-stat'); userRepos.setAttribute('target', '_blank'); @@ -269,7 +263,6 @@ var userOrgs = document.createElement('a'); userOrgs.style = 'display: none;' + - 'flex: 0 1 auto;' + 'text-decoration: none;'; userOrgs.classList.add('vcard-stat'); userOrgs.setAttribute('target', '_blank'); @@ -288,7 +281,6 @@ var userMembers = document.createElement('a'); userMembers.style = 'display: none;' + - 'flex: 0 1 auto;' + 'text-decoration: none;'; userMembers.classList.add('vcard-stat'); userMembers.setAttribute('target', '_blank'); @@ -307,7 +299,6 @@ var userGists = document.createElement('a'); userGists.style = 'display: none;' + - 'flex: 0 1 auto;' + 'text-decoration: none;'; userGists.classList.add('vcard-stat'); userGists.setAttribute('target', '_blank'); @@ -530,42 +521,37 @@ userJoinedText.setAttribute('datetime', data.created_at); } - var userCountsHasValue = 0; + var userCountsHasValue = false; if (hasValue(data.followers, userFollowers)) { - userCountsHasValue++; + userCountsHasValue = true; userFollowers.setAttribute('href', 'https://github.com/' + data.username + '/followers'); userFollowersCount.textContent = data.followers; } if (hasValue(data.following, userFollowing)) { - userCountsHasValue++; + userCountsHasValue = true; userFollowing.setAttribute('href', 'https://github.com/' + data.username + '/following'); userFollowingCount.textContent = data.following; } - if (hasValue(true, userRepos)) { // Always show repos count, as long another count is shown too; - userCountsHasValue = (userCountsHasValue > 0 ? true : !!data.repos) ? userCountsHasValue + 1 : userCountsHasValue; + if (hasValue(true, userRepos)) { // Always show repos count, as long another count is shown too userRepos.setAttribute('href', 'https://github.com/' + data.username + '?tab=repositories'); userReposCount.textContent = data.repos; } if (hasValue(data.orgs, userOrgs)) { - userCountsHasValue++; + userCountsHasValue = true; userOrgs.setAttribute('href', 'https://github.com/' + data.username); userOrgsCount.textContent = data.orgs; } if (hasValue(data.members, userMembers)) { - userCountsHasValue++; + userCountsHasValue = true; userMembers.setAttribute('href', 'https://github.com/orgs/' + data.username + '/people'); userMembersCount.textContent = data.members; } if (hasValue(data.gists, userGists)) { - userCountsHasValue++; + userCountsHasValue = true; userGists.setAttribute('href', 'https://gist.github.com/' + data.username); userGistsCount.textContent = data.gists; } - userCounts.style.display = userCountsHasValue > 0 ? 'flex' : 'none'; - var precent = Math.min(25, 100 / userCountsHasValue); - [userFollowers, userFollowing, userRepos, userOrgs, userMembers, userGists].forEach(function(count){ - count.style.width = precent + "%"; - }); + userCounts.style.display = userCountsHasValue ? 'flex' : 'none'; //if (data.type === 'Organization' || data.type === 'User') {} } From cf5054ddfa61e30f138d34aa4a45c7881800c821 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 Nov 2016 23:32:12 +0100 Subject: [PATCH 037/164] [GUI] We're only fetching one page of all members --- Github_User_Info/Github_User_Info.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 1a060bc..198c9c9 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -544,7 +544,7 @@ if (hasValue(data.members, userMembers)) { userCountsHasValue = true; userMembers.setAttribute('href', 'https://github.com/orgs/' + data.username + '/people'); - userMembersCount.textContent = data.members; + userMembersCount.textContent = data.members === 30 ? '30+' : data.members; } if (hasValue(data.gists, userGists)) { userCountsHasValue = true; From 6e102d15e11eb5f9d3678b8a53c4da3399215605 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 Nov 2016 23:46:42 +0100 Subject: [PATCH 038/164] :clapper: New version of GitHub User Info --- Github_User_Info/Github_User_Info.user.js | 2 +- Github_User_Info/README.md | 106 ++++++++++++---------- 2 files changed, 57 insertions(+), 51 deletions(-) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 198c9c9..c75350b 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -13,7 +13,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png -// @version 0.3.5 +// @version 0.4.0 // @grant GM_xmlhttpRequest // @grant GM_setValue // @grant GM_getValue diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 8981db3..566e88f 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -8,7 +8,7 @@ ## Description -Show user information on avatar hover. +Show user/organization information on avatar hover. ## Screenshot @@ -18,60 +18,66 @@ Show user information on avatar hover. ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.3.5** - * Fixed issues after recent layout updates; -* **0.3.4** - * Fixed some styling; -* **0.3.3** - * Smoother avatar loading on non-cached user info; -* **0.3.2** - * Add support for following & followers page; - * Add support for trending developer; -* **0.3.1** - * Add support for authored committed users; -* **0.3.0** - * Add support for GitHub Gist (fixes https://github.com/jerone/UserScripts/issues/55); -* **0.2.1** - * Fixed local time on second hover (fixes https://github.com/jerone/UserScripts/issues/53); - * Added members count for orgs (closes https://github.com/jerone/UserScripts/issues/54); -* **0.2.0** - * Make location linkable to Google Maps; - * Added admin/staff recognition; - * User with all counts and 4 digit numbers, stretching popup; - * Don't error on API limit exceeded; - * Fixed not saving data; - * Always fill name; - * Added organization count; - * Fixed z-index; - * Added missing hover effect on counts; - * Better shadow; - * Also run on homepage news feed; - * Really fixing pjax events now; https://gist.github.com/jerone/e38e8637887559870d84 - * Animate avatar; - * Hide user counts when no counts are available; - * Added some logging; - * Added class to identify element; - * Added username fallback when no name; -* **0.1.0** - * Initial version; - - -## Resources - -* https://github.com/jerone (User) -* https://api.github.com/users/jerone (API user) -* https://github.com/github (Organisation with admin users) -* https://github.com/benbalter (User with all counts and 4 digit numbers, stretching popup) -* https://api.github.com/rate_limit (Read your API limit) -* https://developer.github.com/v3/ (API Documentation) +* **0.4.0** + * We're only fetching one page of all members + * Use flexbox css for counts + * Fix showing joined date + * Remove console messages +* **0.3.5** + * Fixed issues after recent layout updates +* **0.3.4** + * Fixed some styling +* **0.3.3** + * Smoother avatar loading on non-cached user info +* **0.3.2** + * Add support for following & followers page + * Add support for trending developer +* **0.3.1** + * Add support for authored committed users +* **0.3.0** + * Add support for GitHub Gist (fixes [#55](https://github.com/jerone/UserScripts/issues/55)) +* **0.2.1** + * Fixed local time on second hover (fixes [#53](https://github.com/jerone/UserScripts/issues/53)) + * Added members count for orgs (closes [#54](https://github.com/jerone/UserScripts/issues/54)) +* **0.2.0** + * Make location linkable to Google Maps + * Added admin/staff recognition + * User with all counts and 4 digit numbers, stretching popup + * Don't error on API limit exceeded + * Fixed not saving data + * Always fill name + * Added organization count + * Fixed z-index + * Added missing hover effect on counts + * Better shadow + * Also run on homepage news feed + * Really fixing pjax events now; + * Animate avatar + * Hide user counts when no counts are available + * Added some logging + * Added class to identify element + * Added username fallback when no name +* **0.1.0** + * Initial version + + +## Notes + +Use cases: + +* (User) +* (API user) +* (Organisation with admin users) +* (Read your API limit) +* (API Documentation) ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/8989-github-user-info) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_User_Info) +* [Greasy Fork](https://greasyfork.org/en/scripts/8989-github-user-info) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_User_Info) From 4762c57262a3f6bb663f1588ce0c548c3ec727a3 Mon Sep 17 00:00:00 2001 From: Nick Heath Date: Sat, 7 Jan 2017 13:46:51 -0800 Subject: [PATCH 039/164] Use a host-relative url so that github enterprise is supported. Fixes #117 --- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 665610e..822467d 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -37,7 +37,7 @@ Array.prototype.forEach.call(treeParts, function(part) { part.style.display = "inline"; }); - treeLink.setAttribute("href", String.format("https://github.com/{0}/{1}/tree/{2}", + treeLink.setAttribute("href", String.format("/{0}/{1}/tree/{2}", treeUser ? treeUser.textContent : author, // user; repo, // repository; escape(treeParts[treeParts.length - 1].textContent))); // branch; From 930fa95ab5a383103c4957b1692874504a6141ec Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 7 Jan 2017 23:09:12 +0100 Subject: [PATCH 040/164] :clapper: New version of GitHub Pull Request From Link --- .../Github_Pull_Request_From.user.js | 13 ++--- Github_Pull_Request_From/README.md | 54 ++++++++++--------- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 822467d..b77c5f3 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -11,7 +11,8 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 17 +// @icon https://github.com/fluidicon.png +// @version 18 // @grant none // @include https://github.com/*/* // ==/UserScript== @@ -38,19 +39,19 @@ part.style.display = "inline"; }); treeLink.setAttribute("href", String.format("/{0}/{1}/tree/{2}", - treeUser ? treeUser.textContent : author, // user; - repo, // repository; - escape(treeParts[treeParts.length - 1].textContent))); // branch; + treeUser ? treeUser.textContent : author, // user + repo, // repository + escape(treeParts[treeParts.length - 1].textContent))); // branch treeLink.innerHTML = treeSpan.innerHTML; treeSpan.innerHTML = ""; treeSpan.appendChild(treeLink); }); } - // Page load; + // Page load. init(); - // On pjax; + // On pjax. document.addEventListener('pjax:end', init); })(); diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 3dd6a1c..4a59b24 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -18,43 +18,47 @@ Make pull request branches linkable. ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla [Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **17** - * Fixed issues after recent layout updates (fixes https://github.com/jerone/UserScripts/issues/111); -* **16** - * Show underline (fixes https://github.com/jerone/UserScripts/issues/93); -* **15** - * Fixed invalid chars in url; -* **14** - * Fixed issues after recent layout updates; -* **13** - * Add missing tree author (fixes https://github.com/jerone/UserScripts/issues/51); -* **12** - * Don't link "unknown repository" (fixes https://github.com/jerone/UserScripts/issues/22); -* **11** - * Fixed issues after recent layout updates; - * Added native & TamperMonkey for Google Chrome compatibility; -* **10** - * Initial version; +* **18** + * Use a host-relative url so that github enterprise is supported. Fixes [#117](https://github.com/jerone/UserScripts/issues/117). +* **17** + * Fixed issues after recent layout updates. Fixes [#111](https://github.com/jerone/UserScripts/issues/111). +* **16** + * Show underline. Fixes [#93](https://github.com/jerone/UserScripts/issues/93). +* **15** + * Fixed invalid chars in url. +* **14** + * Fixed issues after recent layout updates. +* **13** + * Add missing tree author. Fixes [#51](https://github.com/jerone/UserScripts/issues/51). +* **12** + * Don't link "unknown repository". Fixes [#22](https://github.com/jerone/UserScripts/issues/22). +* **11** + * Fixed issues after recent layout updates. + * Added native & TamperMonkey for Google Chrome compatibility. +* **10** + * Initial version. -## Test cases +## Notes -* https://github.com/jerone/UserScripts/pull/12 (2 valid, 1 missing); -* https://github.com/jerone/UserScripts/pull/29 (1 mine, 1 extern); -* https://github.com/jerone/UserScripts/pull/47 (3 without username); +Use cases: + +* (2 valid, 1 missing). +* (1 mine, 1 extern). +* (3 without username). ## Contributions -* Changes based on Firefox extension [GitHubExtIns](https://github.com/diegocr/GitHubExtIns) by [Diego Casorran](https://github.com/diegocr). +* Changes based on Firefox extension [GitHubExtIns](https://github.com/diegocr/GitHubExtIns) by [Diego Casorran](https://github.com/diegocr). ## External links -* [Greasy Fork](https://greasyfork.org/scripts/64-github-pull-request-from-link) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pull_Request_From_Link) +* [Greasy Fork](https://greasyfork.org/scripts/64-github-pull-request-from-link) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pull_Request_From_Link) From 919d7100e9e8df09bc64c7fc4f5f5c296d4eaca1 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Fri, 2 Jun 2017 23:28:45 +0200 Subject: [PATCH 041/164] Fix gitter badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 457a80a..1e44696 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [UserScripts](https://github.com/jerone/UserScripts) -[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/jerone/UserScripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jerone/UserScripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) ## Description From 9458905b67ab317da9f138f0be8243f75f053375 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 1 Aug 2017 20:55:50 +0200 Subject: [PATCH 042/164] Shift open `.patch` was broken (fixes #119) --- Github_Commit_Diff/Github_Commit_Diff.user.js | 10 ++++++---- Github_Commit_Diff/README.md | 6 +++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 47f4776..3ab354a 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -1,4 +1,4 @@ -// ==UserScript== +// ==UserScript== // @name Github Commit Diff // @namespace https://github.com/jerone/UserScripts // @description Adds button to show diff (or patch) file for commit @@ -13,7 +13,9 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.6.5 +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch +// @version 1.6.6 // @grant none // ==/UserScript== @@ -101,7 +103,7 @@ if (e.shiftKey) { var patch = getPatchOrDiffHref('patch') e.preventDefault() - a.setAttribute('href', patch) + this.setAttribute('href', patch) if (e.which === 1) { // left click location.href = patch // To prevent Firefox default behavior (opening a new window) @@ -111,7 +113,7 @@ window.open(patch, 'GithubCommitDiff') } } else { - a.setAttribute('href', getPatchOrDiffHref('diff')) + this.setAttribute('href', getPatchOrDiffHref('diff')) } } diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 86d0925..192d2b6 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -1,4 +1,4 @@ -# [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff) +# [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Commit_Diff/Github_Commit_Diff.user.js) @@ -21,6 +21,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.6.6** + + * Shift open `.patch` was broken (fixes [119](https://github.com/jerone/UserScripts/issues/119)). + * **1.6.5** * Fixed issues after recent layout updates. From e152b33a553303f2ec1778a79b71d3ffc991d254 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 1 Aug 2017 20:58:52 +0200 Subject: [PATCH 043/164] Don't run on .patch & .diff route. --- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 6 ++++-- Github_Pull_Request_From/README.md | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index b77c5f3..a7c8792 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -1,4 +1,4 @@ -// ==UserScript== +// ==UserScript== // @name Github Pull Request From Link // @namespace https://github.com/jerone/UserScripts/ // @description Make pull request branches linkable @@ -12,9 +12,11 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png -// @version 18 +// @version 19 // @grant none // @include https://github.com/*/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch // ==/UserScript== (function() { diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 4a59b24..296ade9 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -1,4 +1,4 @@ -# [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From) +# [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js) @@ -23,6 +23,8 @@ Make pull request branches linkable. ## Version History +* **19** + * Don't run on .patch & .diff route. * **18** * Use a host-relative url so that github enterprise is supported. Fixes [#117](https://github.com/jerone/UserScripts/issues/117). * **17** From 377bba9166c47d873107633e195c4b0736d86e1b Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 27 Aug 2017 10:28:29 +0200 Subject: [PATCH 044/164] Fixed recognizing JSON content for GitHub JSON Dependencies Linker --- .../Github_JSON_Dependencies_Linker.user.js | 26 +++++++++---------- Github_JSON_Dependencies_Linker/README.md | 24 +++++++++-------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 0e8d4d9..54171ca 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.3.0 +// @version 0.3.1 // @grant GM_xmlhttpRequest // @run-at document-end // @include https://github.com/*/package.json @@ -24,14 +24,14 @@ (function() { - var blobElm = document.querySelector('.blob-wrapper'), + var blobElm = document.querySelector('.highlight'), blobLineElms = blobElm.querySelectorAll('.blob-code > span'), pkg = (function() { try { - // JSON parser could fail on JSON with comments; + // JSON parser could fail on JSON with comments. return JSON.parse(blobElm.textContent); } catch (ex) { - // Strip out comments from the JSON and try again; + // Strip out comments from the JSON and try again. return JSON.parse(stripJsonComments(blobElm.textContent)); } })(), @@ -65,7 +65,7 @@ return _modules; })(); - // Get an unique list of all modules; + // Get an unique list of all modules. function fetchModules(root) { dependencyKeys.forEach(function(dependencyKey) { var dependencies = root[dependencyKey] || {}; @@ -79,23 +79,23 @@ } fetchModules(pkg); - // Linkify module; + // Linkify module. function linkify(module, url) { - // Try to find the module; could be mulitple locations; + // Try to find the module; could be multiple locations. var moduleFilterText = '"' + module + '"'; var moduleElms = Array.prototype.filter.call(blobLineElms, function(blobLineElm) { if (blobLineElm.textContent.trim() === moduleFilterText) { - // Module name preceding a colon is never a key; + // Module name preceding a colon is never a key. var prev = blobLineElm.previousSibling; return !(prev && prev.textContent.trim() === ':'); } return false; }); - // Modules could exist in multiple dependency lists; + // Modules could exist in multiple dependency lists. Array.prototype.forEach.call(moduleElms, function(moduleElm) { - // Module names are textNodes on Github; + // Module names are textNodes on Github. var moduleElmText = Array.prototype.find.call(moduleElm.childNodes, function(moduleElmChild) { return moduleElmChild.nodeType === 3; }); @@ -104,7 +104,7 @@ moduleElmLink.setAttribute('href', url); moduleElmLink.appendChild(document.createTextNode(module)); - // Replace textNode, so we keep surrounding elements (like the highlighted quotes); + // Replace textNode, so we keep surrounding elements (like the highlighted quotes). moduleElm.replaceChild(moduleElmLink, moduleElmText); }); } @@ -160,10 +160,10 @@ return ret; } - // Init; + // Init. Object.keys(modules).forEach(function(dependencyKey) { modules[dependencyKey].forEach(function(module) { - if (isAtom && dependencyKey === 'packageDependencies') { // Atom needs to be before NPM; + if (isAtom && dependencyKey === 'packageDependencies') { // Atom needs to be before NPM. var url = 'https://atom.io/packages/' + module; linkify(module, url); } else if (isNPM) { diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index 077e612..deac598 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -38,25 +38,27 @@ In the JSON file it will search for the following dependency keys: ## Version History +* **0.3.1** + * Fixed recognizing JSON content. * **0.3.0** - * Added support for Atom for `packageDependencies`; + * Added support for Atom for `packageDependencies`. * **0.2.0** - * Module name preceding a colon is never a key; - * Added support for npm-shrinkwrap.json; - * Fetching module names is now recursive; + * Module name preceding a colon is never a key. + * Added support for npm-shrinkwrap.json. + * Fetching module names is now recursive. * **0.1.0** - * Initial version; + * Initial version. ## Test cases * https://github.com/jerone/PackageSize/blob/master/package.json (multiple package.json dependencies); -* https://github.com/npm/npm/blob/master/test/disabled/bundlerecurs/package.json -* https://github.com/npm/npm/blob/master/test/packages/npm-test-optional-deps/package.json (optionalDependencies & different semver); -* https://github.com/npm/npm/blob/master/test/packages/npm-test-bundled-git/package.json (git semver & bundledDependencies); -* https://github.com/npm/npm/blob/master/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json (npm-shrinkwrap.json); -* https://github.com/npm/npm/blob/master/test/packages/npm-test-url-dep/package.json (url semver); -* https://github.com/aspnet/MusicStore/blob/master/src/MusicStore.Spa/project.json (ASP.NET project.json with COMMENTS); +* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/disabled/bundlerecurs/package.json +* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-optional-deps/package.json (optionalDependencies & different semver); +* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-bundled-git/package.json (git semver & bundledDependencies); +* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json (npm-shrinkwrap.json); +* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-url-dep/package.json (url semver); +* https://github.com/aspnet/MusicStore/blob/8ce50e3fb34cbfc73537b9cf995fce3608c007fa/samples/MusicStore/project.json (ASP.NET project.json with COMMENTS); * https://github.com/atom/atom/blob/master/package.json (Atom package.json packageDependencies atomShellVersion); * https://github.com/suda/toolbar-main/blob/master/package.json (Atom package.json packageDependencies engines.atom); From 8150f4754c4c9b5545c6bbda323a9683de07741d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 16 Sep 2017 17:15:04 +0200 Subject: [PATCH 045/164] Add users filter (GitHub News Feed Filter) --- .../Github_News_Feed_Filter.user.js | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index dae719f..4ec9b26 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -19,8 +19,6 @@ // @version 7.1.0 // @grant none // ==/UserScript== -/* global Event, Set */ -/* jslint bitwise: true, multistr: true */ (function() { @@ -124,6 +122,8 @@ var REPOS = []; + var USERS = []; + var datasetId = "githubNewsFeedFilter"; var datasetIdLong = "data-github-news-feed-filter"; var filterElement = "github-news-feed-filter"; @@ -190,7 +190,7 @@ }); } - // Add filte menu item; + // Add filter menu item; function addFilterMenuItem(type, filter, parent, newsContainer, filterContainer) { // Filter item; var li = document.createElement("li"); @@ -407,6 +407,32 @@ } }); } + // Fix filter user identification; + function fixUserAlerts(newsContainer) { + USERS = [{ id: "*-user", text: "All users", icon: "octicon-person", classNames: ["*-user"] }]; + + var users = new Set(); + Array.prototype.forEach.call(newsContainer.querySelectorAll(".alert"), function (alert) { + var links = alert.querySelectorAll(".title a"); + var username = links[0].textContent; + alert.classList.add(username); + users.add(username); + + // Add member too. + if (alert.classList.contains("member_add")) { + var member = links[1].textContent; + alert.classList.add(member); + users.add(member); + } + }); + + [...users].sort(function (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()); + }).forEach(function(username) { + var user = { id: username, text: username, icon: "octicon-person", classNames: [username] }; + USERS.push(user); + }); + } // Update filter counts; function updateFilterCounts(filterContainer, newsContainer) { @@ -569,6 +595,25 @@ // Restore current filter; getCurrentFilter(type, filterContainer); }); + addFilterTab("user", "Users", inner, filterer, function onCreateUsers(type, filterContainer) { + // Fix filter identification and create users list; + fixUserAlerts(newsContainer); + // Create filter menu; + addFilterMenu(type, USERS, filterContainer, newsContainer, filterContainer, true); + }, function onSelectUsers(type, filterContainer) { + // Fix filter identification and create users list; + fixUserAlerts(newsContainer); + // Empty list, so it can be filled again; + while (filterContainer.hasChildNodes()) { + filterContainer.removeChild(filterContainer.lastChild); + } + // Create filter menu; + addFilterMenu(type, USERS, filterContainer, newsContainer, filterContainer, true); + // Update filter counts; + updateFilterCounts(filterContainer, newsContainer); + // Restore current filter; + getCurrentFilter(type, filterContainer); + }); // Open first filter tab; filterer.querySelector("a").dispatchEvent(new Event("click")); From 725e028d0d3e0e3944d057324773899f7bd38cbd Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 16 Sep 2017 17:33:01 +0200 Subject: [PATCH 046/164] Clean up (GitHub News Feed Filter) --- .../Github_News_Feed_Filter.user.js | 603 +++++++++--------- 1 file changed, 302 insertions(+), 301 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 4ec9b26..41c41c6 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Github News Feed Filter // @namespace https://github.com/jerone/UserScripts -// @description Add filters for Github homepage news feed items +// @description Add filters for GitHub homepage news feed items // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) // @license GNU GPLv3 @@ -23,99 +23,99 @@ (function() { var ICONS = {}; - ICONS["octicon-book"] = "M2 5h4v1H2v-1z m0 3h4v-1H2v1z m0 2h4v-1H2v1z m11-5H9v1h4v-1z m0 2H9v1h4v-1z m0 2H9v1h4v-1z m2-6v9c0 0.55-0.45 1-1 1H8.5l-1 1-1-1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h5.5l1 1 1-1h5.5c0.55 0 1 0.45 1 1z m-8 0.5l-0.5-0.5H1v9h6V3.5z m7-0.5H8.5l-0.5 0.5v8.5h6V3z"; - ICONS["octicon-comment-discussion"] = "M15 2H6c-0.55 0-1 0.45-1 1v2H1c-0.55 0-1 0.45-1 1v6c0 0.55 0.45 1 1 1h1v3l3-3h4c0.55 0 1-0.45 1-1V10h1l3 3V10h1c0.55 0 1-0.45 1-1V3c0-0.55-0.45-1-1-1zM9 12H4.5l-1.5 1.5v-1.5H1V6h4v3c0 0.55 0.45 1 1 1h3v2z m6-3H13v1.5l-1.5-1.5H6V3h9v6z"; - ICONS["octicon-gist"] = "M7.5 5l2.5 2.5-2.5 2.5-0.75-0.75 1.75-1.75-1.75-1.75 0.75-0.75z m-3 0L2 7.5l2.5 2.5 0.75-0.75-1.75-1.75 1.75-1.75-0.75-0.75zM0 13V2c0-0.55 0.45-1 1-1h10c0.55 0 1 0.45 1 1v11c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1z m1 0h10V2H1v11z"; - ICONS["octicon-gist-new"] = ICONS["octicon-plus"] = "M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"; - ICONS["octicon-git-branch"] = "M10 5c0-1.11-0.89-2-2-2s-2 0.89-2 2c0 0.73 0.41 1.38 1 1.72v0.3c-0.02 0.52-0.23 0.98-0.63 1.38s-0.86 0.61-1.38 0.63c-0.83 0.02-1.48 0.16-2 0.45V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.53-0.2-1-0.53-1.36 0.09-0.06 0.48-0.41 0.59-0.47 0.25-0.11 0.56-0.17 0.94-0.17 1.05-0.05 1.95-0.45 2.75-1.25s1.2-1.98 1.25-3.02h-0.02c0.61-0.36 1.02-1 1.02-1.73zM2 1.8c0.66 0 1.2 0.55 1.2 1.2s-0.55 1.2-1.2 1.2-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2z m0 12.41c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m6-8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; - ICONS["octicon-git-branch-create"] = ICONS["octicon-git-branch"]; - ICONS["octicon-git-branch-delete"] = ICONS["octicon-git-branch"]; - ICONS["octicon-git-commit"] = "M10.86 7c-0.45-1.72-2-3-3.86-3s-3.41 1.28-3.86 3H0v2h3.14c0.45 1.72 2 3 3.86 3s3.41-1.28 3.86-3h3.14V7H10.86zM7 10.2c-1.22 0-2.2-0.98-2.2-2.2s0.98-2.2 2.2-2.2 2.2 0.98 2.2 2.2-0.98 2.2-2.2 2.2z"; - ICONS["octicon-git-merge"] = "M10 7c-0.73 0-1.38 0.41-1.73 1.02v-0.02c-1.05-0.02-2.27-0.36-3.13-1.02-0.75-0.58-1.5-1.61-1.89-2.44 0.45-0.36 0.75-0.92 0.75-1.55 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V7.67c0.67 0.7 1.44 1.27 2.3 1.69s2.03 0.63 2.97 0.64v-0.02c0.36 0.61 1 1.02 1.73 1.02 1.11 0 2-0.89 2-2s-0.89-2-2-2zM3.2 13c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m8 6c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; - ICONS["octicon-git-pull-request"] = "M11 11.28c0-1.73 0-6.28 0-6.28-0.03-0.78-0.34-1.47-0.94-2.06s-1.28-0.91-2.06-0.94c0 0-1.02 0-1 0V0L4 3l3 3V4h1c0.27 0.02 0.48 0.11 0.69 0.31s0.3 0.42 0.31 0.69v6.28c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72z m-1 2.92c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2zM4 3c0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72 0 1.55 0 5.56 0 6.56-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V4.72c0.59-0.34 1-0.98 1-1.72z m-0.8 10c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; - ICONS["octicon-git-pull-request-abandoned"] = ICONS["octicon-git-pull-request"]; - ICONS["octicon-home"] = "M16 9L13 6V2H11v2L8 1 0 9h2l1 5c0 0.55 0.45 1 1 1h8c0.55 0 1-0.45 1-1l1-5h2zM12 14H9V10H7v4H4l-1.19-6.31 5.19-5.19 5.19 5.19-1.19 6.31z"; - ICONS["octicon-issue-closed"] = "M7 10h2v2H7V10z m2-6H7v5h2V4z m1.5 1.5l-1 1 2.5 2.5 4-4.5-1-1-3 3.5-1.5-1.5zM8 13.7c-3.14 0-5.7-2.56-5.7-5.7s2.56-5.7 5.7-5.7c1.83 0 3.45 0.88 4.5 2.2l0.92-0.92C12.14 2 10.19 1 8 1 4.14 1 1 4.14 1 8s3.14 7 7 7 7-3.14 7-7l-1.52 1.52c-0.66 2.41-2.86 4.19-5.48 4.19z"; - ICONS["octicon-issue-opened"] = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z"; - ICONS["octicon-issue-reopened"] = "M8 9H6V4h2v5zM6 12h2V10H6v2z m6.33-2H10l1.5 1.5c-1.05 1.33-2.67 2.2-4.5 2.2-3.14 0-5.7-2.56-5.7-5.7 0-0.34 0.03-0.67 0.09-1H0.08c-0.05 0.33-0.08 0.66-0.08 1 0 3.86 3.14 7 7 7 2.19 0 4.13-1.02 5.41-2.59l1.59 1.59V10H12.33zM1.67 6h2.33l-1.5-1.5c1.05-1.33 2.67-2.2 4.5-2.2 3.14 0 5.7 2.56 5.7 5.7 0 0.34-0.03 0.67-0.09 1h1.31c0.05-0.33 0.08-0.66 0.08-1 0-3.86-3.14-7-7-7-2.19 0-4.13 1.02-5.41 2.59L0 2v4h1.67z"; - ICONS["octicon-person"] = "M7 6H1c-0.55 0-1 0.45-1 1v5h2v3c0 0.55 0.45 1 1 1h2c0.55 0 1-0.45 1-1V12h2V7c0-0.55-0.45-1-1-1z m0 5h-1V9h-1v6H3V9h-1v2H1V7h6v4z m0-8C7 1.34 5.66 0 4 0S1 1.34 1 3s1.34 3 3 3 3-1.34 3-3zM4 5c-1.11 0-2-0.89-2-2S2.89 1 4 1s2 0.89 2 2-0.89 2-2 2z"; - ICONS["octicon-person-add"] = ICONS["octicon-person"]; - ICONS["octicon-plus"] = "M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"; - ICONS["octicon-radio-tower"] = "M4.79 6.11c0.25-0.25 0.25-0.67 0-0.92-0.32-0.33-0.48-0.76-0.48-1.19 0-0.43 0.16-0.86 0.48-1.19 0.25-0.26 0.25-0.67 0-0.92-0.12-0.13-0.29-0.19-0.45-0.19-0.16 0-0.33 0.06-0.45 0.19-0.57 0.58-0.85 1.35-0.85 2.11 0 0.76 0.29 1.53 0.85 2.11C4.14 6.36 4.55 6.36 4.79 6.11zM2.33 0.52c-0.13-0.13-0.29-0.19-0.46-0.19-0.16 0-0.33 0.06-0.46 0.19C0.48 1.48 0.01 2.74 0.01 3.99 0.01 5.25 0.48 6.51 1.41 7.47c0.25 0.26 0.66 0.26 0.91 0 0.25-0.26 0.25-0.68 0-0.94-0.68-0.7-1.02-1.62-1.02-2.54s0.34-1.84 1.02-2.54C2.58 1.2 2.58 0.78 2.33 0.52zM8.02 5.62c0.9 0 1.62-0.73 1.62-1.62 0-0.9-0.73-1.62-1.62-1.62-0.9 0-1.62 0.73-1.62 1.62C6.39 4.89 7.12 5.62 8.02 5.62zM14.59 0.53c-0.25-0.26-0.66-0.26-0.91 0-0.25 0.26-0.25 0.68 0 0.94 0.68 0.7 1.02 1.62 1.02 2.54 0 0.92-0.34 1.83-1.02 2.54-0.25 0.26-0.25 0.68 0 0.94 0.13 0.13 0.29 0.19 0.46 0.19 0.16 0 0.33-0.06 0.46-0.19 0.93-0.96 1.4-2.22 1.4-3.48C15.99 2.75 15.52 1.49 14.59 0.53zM8.02 6.92L8.02 6.92c-0.41 0-0.83-0.1-1.2-0.3L3.67 14.99h1.49l0.86-1h4l0.84 1h1.49L9.21 6.62C8.83 6.82 8.43 6.92 8.02 6.92zM8.01 7.4L9.02 11H7.02L8.01 7.4zM6.02 12.99l1-1h2l1 1H6.02zM11.21 1.89c-0.25 0.25-0.25 0.67 0 0.92 0.32 0.33 0.48 0.76 0.48 1.19 0 0.43-0.16 0.86-0.48 1.19-0.25 0.26-0.25 0.67 0 0.92 0.12 0.13 0.29 0.19 0.45 0.19 0.16 0 0.32-0.06 0.45-0.19 0.57-0.58 0.85-1.35 0.85-2.11 0-0.76-0.28-1.53-0.85-2.11C11.86 1.64 11.45 1.64 11.21 1.89z"; - ICONS["octicon-repo"] = "M4 9h-1v-1h1v1z m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z"; - ICONS["octicon-repo-clone"] = "M15 0H9v7c0 0.55 0.45 1 1 1h1v1h1v-1h3c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1zM11 7h-1v-1h1v1z m4 0H12v-1h3v1z m0-2H11V1h4v4z m-11 0h-1v-1h1v1z m0-2h-1v-1h1v1zM2 1h6V0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h2v2l1.5-1.5 1.5 1.5V14h5c0.55 0 1-0.45 1-1V10H2V1z m9 10v2H6v-1H3v1H1V11h10zM3 8h1v1h-1v-1z m1-1h-1v-1h1v1z"; - ICONS["octicon-repo-create"] = ICONS["octicon-plus"]; - ICONS["octicon-repo-push"] = "M4 3h-1v-1h1v1z m-1 2h1v-1h-1v1z m4 0L4 9h2v7h2V9h2L7 5zM11 0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h4v-1H1V11h4v-1H2V1h9.02l-0.02 9H9v1h2v2H9v1h2c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1z"; - ICONS["octicon-repo-forked"] = "M8 1c-1.11 0-2 0.89-2 2 0 0.73 0.41 1.38 1 1.72v1.28L5 8 3 6v-1.28c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v1.78l3 3v1.78c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V9.5l3-3V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2zM2 4.2c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3 10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3-10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"; - ICONS["octicon-repo-delete"] = ICONS["octicon-repo"]; - ICONS["octicon-repo-pull"] = "M13 8V6H7V4h6V2l3 3-3 3zM4 2h-1v1h1v-1z m7 5h1v6c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1v2h-1V1H2v9h9V7z m0 4H1v2h2v-1h3v1h5V11zM4 6h-1v1h1v-1z m0-2h-1v1h1v-1z m-1 5h1v-1h-1v1z"; - ICONS["octicon-star"] = "M14 6l-4.9-0.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14l4.33-2.33 4.33 2.33L10.4 9.26 14 6z"; - ICONS["octicon-tag"] = "M6.73 2.73c-0.47-0.47-1.11-0.73-1.77-0.73H2.5C1.13 2 0 3.13 0 4.5v2.47c0 0.66 0.27 1.3 0.73 1.77l6.06 6.06c0.39 0.39 1.02 0.39 1.41 0l4.59-4.59c0.39-0.39 0.39-1.02 0-1.41L6.73 2.73zM1.38 8.09c-0.31-0.3-0.47-0.7-0.47-1.13V4.5c0-0.88 0.72-1.59 1.59-1.59h2.47c0.42 0 0.83 0.16 1.13 0.47l6.14 6.13-4.73 4.73L1.38 8.09z m0.63-4.09h2v2H2V4z"; - ICONS["octicon-tag-add"] = ICONS["octicon-tag"]; - ICONS["octicon-tag-remove"] = ICONS["octicon-tag"]; - ICONS["octicon-triangle-left"] = "M6 2L0 8l6 6V2z"; + ICONS['octicon-book'] = 'M2 5h4v1H2v-1z m0 3h4v-1H2v1z m0 2h4v-1H2v1z m11-5H9v1h4v-1z m0 2H9v1h4v-1z m0 2H9v1h4v-1z m2-6v9c0 0.55-0.45 1-1 1H8.5l-1 1-1-1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h5.5l1 1 1-1h5.5c0.55 0 1 0.45 1 1z m-8 0.5l-0.5-0.5H1v9h6V3.5z m7-0.5H8.5l-0.5 0.5v8.5h6V3z'; + ICONS['octicon-comment-discussion'] = 'M15 2H6c-0.55 0-1 0.45-1 1v2H1c-0.55 0-1 0.45-1 1v6c0 0.55 0.45 1 1 1h1v3l3-3h4c0.55 0 1-0.45 1-1V10h1l3 3V10h1c0.55 0 1-0.45 1-1V3c0-0.55-0.45-1-1-1zM9 12H4.5l-1.5 1.5v-1.5H1V6h4v3c0 0.55 0.45 1 1 1h3v2z m6-3H13v1.5l-1.5-1.5H6V3h9v6z'; + ICONS['octicon-gist'] = 'M7.5 5l2.5 2.5-2.5 2.5-0.75-0.75 1.75-1.75-1.75-1.75 0.75-0.75z m-3 0L2 7.5l2.5 2.5 0.75-0.75-1.75-1.75 1.75-1.75-0.75-0.75zM0 13V2c0-0.55 0.45-1 1-1h10c0.55 0 1 0.45 1 1v11c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1z m1 0h10V2H1v11z'; + ICONS['octicon-gist-new'] = ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5v2z'; + ICONS['octicon-git-branch'] = 'M10 5c0-1.11-0.89-2-2-2s-2 0.89-2 2c0 0.73 0.41 1.38 1 1.72v0.3c-0.02 0.52-0.23 0.98-0.63 1.38s-0.86 0.61-1.38 0.63c-0.83 0.02-1.48 0.16-2 0.45V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.53-0.2-1-0.53-1.36 0.09-0.06 0.48-0.41 0.59-0.47 0.25-0.11 0.56-0.17 0.94-0.17 1.05-0.05 1.95-0.45 2.75-1.25s1.2-1.98 1.25-3.02h-0.02c0.61-0.36 1.02-1 1.02-1.73zM2 1.8c0.66 0 1.2 0.55 1.2 1.2s-0.55 1.2-1.2 1.2-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2z m0 12.41c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m6-8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; + ICONS['octicon-git-branch-create'] = ICONS['octicon-git-branch']; + ICONS['octicon-git-branch-delete'] = ICONS['octicon-git-branch']; + ICONS['octicon-git-commit'] = 'M10.86 7c-0.45-1.72-2-3-3.86-3s-3.41 1.28-3.86 3H0v2h3.14c0.45 1.72 2 3 3.86 3s3.41-1.28 3.86-3h3.14V7H10.86zM7 10.2c-1.22 0-2.2-0.98-2.2-2.2s0.98-2.2 2.2-2.2 2.2 0.98 2.2 2.2-0.98 2.2-2.2 2.2z'; + ICONS['octicon-git-merge'] = 'M10 7c-0.73 0-1.38 0.41-1.73 1.02v-0.02c-1.05-0.02-2.27-0.36-3.13-1.02-0.75-0.58-1.5-1.61-1.89-2.44 0.45-0.36 0.75-0.92 0.75-1.55 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V7.67c0.67 0.7 1.44 1.27 2.3 1.69s2.03 0.63 2.97 0.64v-0.02c0.36 0.61 1 1.02 1.73 1.02 1.11 0 2-0.89 2-2s-0.89-2-2-2zM3.2 13c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m8 6c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; + ICONS['octicon-git-pull-request'] = 'M11 11.28c0-1.73 0-6.28 0-6.28-0.03-0.78-0.34-1.47-0.94-2.06s-1.28-0.91-2.06-0.94c0 0-1.02 0-1 0V0L4 3l3 3V4h1c0.27 0.02 0.48 0.11 0.69 0.31s0.3 0.42 0.31 0.69v6.28c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72z m-1 2.92c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2zM4 3c0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72 0 1.55 0 5.56 0 6.56-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V4.72c0.59-0.34 1-0.98 1-1.72z m-0.8 10c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; + ICONS['octicon-git-pull-request-abandoned'] = ICONS['octicon-git-pull-request']; + ICONS['octicon-home'] = 'M16 9L13 6V2H11v2L8 1 0 9h2l1 5c0 0.55 0.45 1 1 1h8c0.55 0 1-0.45 1-1l1-5h2zM12 14H9V10H7v4H4l-1.19-6.31 5.19-5.19 5.19 5.19-1.19 6.31z'; + ICONS['octicon-issue-closed'] = 'M7 10h2v2H7V10z m2-6H7v5h2V4z m1.5 1.5l-1 1 2.5 2.5 4-4.5-1-1-3 3.5-1.5-1.5zM8 13.7c-3.14 0-5.7-2.56-5.7-5.7s2.56-5.7 5.7-5.7c1.83 0 3.45 0.88 4.5 2.2l0.92-0.92C12.14 2 10.19 1 8 1 4.14 1 1 4.14 1 8s3.14 7 7 7 7-3.14 7-7l-1.52 1.52c-0.66 2.41-2.86 4.19-5.48 4.19z'; + ICONS['octicon-issue-opened'] = 'M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z'; + ICONS['octicon-issue-reopened'] = 'M8 9H6V4h2v5zM6 12h2V10H6v2z m6.33-2H10l1.5 1.5c-1.05 1.33-2.67 2.2-4.5 2.2-3.14 0-5.7-2.56-5.7-5.7 0-0.34 0.03-0.67 0.09-1H0.08c-0.05 0.33-0.08 0.66-0.08 1 0 3.86 3.14 7 7 7 2.19 0 4.13-1.02 5.41-2.59l1.59 1.59V10H12.33zM1.67 6h2.33l-1.5-1.5c1.05-1.33 2.67-2.2 4.5-2.2 3.14 0 5.7 2.56 5.7 5.7 0 0.34-0.03 0.67-0.09 1h1.31c0.05-0.33 0.08-0.66 0.08-1 0-3.86-3.14-7-7-7-2.19 0-4.13 1.02-5.41 2.59L0 2v4h1.67z'; + ICONS['octicon-person'] = 'M7 6H1c-0.55 0-1 0.45-1 1v5h2v3c0 0.55 0.45 1 1 1h2c0.55 0 1-0.45 1-1V12h2V7c0-0.55-0.45-1-1-1z m0 5h-1V9h-1v6H3V9h-1v2H1V7h6v4z m0-8C7 1.34 5.66 0 4 0S1 1.34 1 3s1.34 3 3 3 3-1.34 3-3zM4 5c-1.11 0-2-0.89-2-2S2.89 1 4 1s2 0.89 2 2-0.89 2-2 2z'; + ICONS['octicon-person-add'] = ICONS['octicon-person']; + ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5v2z'; + ICONS['octicon-radio-tower'] = 'M4.79 6.11c0.25-0.25 0.25-0.67 0-0.92-0.32-0.33-0.48-0.76-0.48-1.19 0-0.43 0.16-0.86 0.48-1.19 0.25-0.26 0.25-0.67 0-0.92-0.12-0.13-0.29-0.19-0.45-0.19-0.16 0-0.33 0.06-0.45 0.19-0.57 0.58-0.85 1.35-0.85 2.11 0 0.76 0.29 1.53 0.85 2.11C4.14 6.36 4.55 6.36 4.79 6.11zM2.33 0.52c-0.13-0.13-0.29-0.19-0.46-0.19-0.16 0-0.33 0.06-0.46 0.19C0.48 1.48 0.01 2.74 0.01 3.99 0.01 5.25 0.48 6.51 1.41 7.47c0.25 0.26 0.66 0.26 0.91 0 0.25-0.26 0.25-0.68 0-0.94-0.68-0.7-1.02-1.62-1.02-2.54s0.34-1.84 1.02-2.54C2.58 1.2 2.58 0.78 2.33 0.52zM8.02 5.62c0.9 0 1.62-0.73 1.62-1.62 0-0.9-0.73-1.62-1.62-1.62-0.9 0-1.62 0.73-1.62 1.62C6.39 4.89 7.12 5.62 8.02 5.62zM14.59 0.53c-0.25-0.26-0.66-0.26-0.91 0-0.25 0.26-0.25 0.68 0 0.94 0.68 0.7 1.02 1.62 1.02 2.54 0 0.92-0.34 1.83-1.02 2.54-0.25 0.26-0.25 0.68 0 0.94 0.13 0.13 0.29 0.19 0.46 0.19 0.16 0 0.33-0.06 0.46-0.19 0.93-0.96 1.4-2.22 1.4-3.48C15.99 2.75 15.52 1.49 14.59 0.53zM8.02 6.92L8.02 6.92c-0.41 0-0.83-0.1-1.2-0.3L3.67 14.99h1.49l0.86-1h4l0.84 1h1.49L9.21 6.62C8.83 6.82 8.43 6.92 8.02 6.92zM8.01 7.4L9.02 11H7.02L8.01 7.4zM6.02 12.99l1-1h2l1 1H6.02zM11.21 1.89c-0.25 0.25-0.25 0.67 0 0.92 0.32 0.33 0.48 0.76 0.48 1.19 0 0.43-0.16 0.86-0.48 1.19-0.25 0.26-0.25 0.67 0 0.92 0.12 0.13 0.29 0.19 0.45 0.19 0.16 0 0.32-0.06 0.45-0.19 0.57-0.58 0.85-1.35 0.85-2.11 0-0.76-0.28-1.53-0.85-2.11C11.86 1.64 11.45 1.64 11.21 1.89z'; + ICONS['octicon-repo'] = 'M4 9h-1v-1h1v1z m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z'; + ICONS['octicon-repo-clone'] = 'M15 0H9v7c0 0.55 0.45 1 1 1h1v1h1v-1h3c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1zM11 7h-1v-1h1v1z m4 0H12v-1h3v1z m0-2H11V1h4v4z m-11 0h-1v-1h1v1z m0-2h-1v-1h1v1zM2 1h6V0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h2v2l1.5-1.5 1.5 1.5V14h5c0.55 0 1-0.45 1-1V10H2V1z m9 10v2H6v-1H3v1H1V11h10zM3 8h1v1h-1v-1z m1-1h-1v-1h1v1z'; + ICONS['octicon-repo-create'] = ICONS['octicon-plus']; + ICONS['octicon-repo-push'] = 'M4 3h-1v-1h1v1z m-1 2h1v-1h-1v1z m4 0L4 9h2v7h2V9h2L7 5zM11 0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h4v-1H1V11h4v-1H2V1h9.02l-0.02 9H9v1h2v2H9v1h2c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1z'; + ICONS['octicon-repo-forked'] = 'M8 1c-1.11 0-2 0.89-2 2 0 0.73 0.41 1.38 1 1.72v1.28L5 8 3 6v-1.28c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v1.78l3 3v1.78c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V9.5l3-3V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2zM2 4.2c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3 10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3-10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; + ICONS['octicon-repo-delete'] = ICONS['octicon-repo']; + ICONS['octicon-repo-pull'] = 'M13 8V6H7V4h6V2l3 3-3 3zM4 2h-1v1h1v-1z m7 5h1v6c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1v2h-1V1H2v9h9V7z m0 4H1v2h2v-1h3v1h5V11zM4 6h-1v1h1v-1z m0-2h-1v1h1v-1z m-1 5h1v-1h-1v1z'; + ICONS['octicon-star'] = 'M14 6l-4.9-0.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14l4.33-2.33 4.33 2.33L10.4 9.26 14 6z'; + ICONS['octicon-tag'] = 'M6.73 2.73c-0.47-0.47-1.11-0.73-1.77-0.73H2.5C1.13 2 0 3.13 0 4.5v2.47c0 0.66 0.27 1.3 0.73 1.77l6.06 6.06c0.39 0.39 1.02 0.39 1.41 0l4.59-4.59c0.39-0.39 0.39-1.02 0-1.41L6.73 2.73zM1.38 8.09c-0.31-0.3-0.47-0.7-0.47-1.13V4.5c0-0.88 0.72-1.59 1.59-1.59h2.47c0.42 0 0.83 0.16 1.13 0.47l6.14 6.13-4.73 4.73L1.38 8.09z m0.63-4.09h2v2H2V4z'; + ICONS['octicon-tag-add'] = ICONS['octicon-tag']; + ICONS['octicon-tag-remove'] = ICONS['octicon-tag']; + ICONS['octicon-triangle-left'] = 'M6 2L0 8l6 6V2z'; var ACTIONS = [ - { id: "*-action", text: "All news feed", icon: "octicon-radio-tower", classNames: ["*-action"] }, + { id: '*-action', text: 'All news feed', icon: 'octicon-radio-tower', classNames: ['*-action'] }, { - id: "issues", text: "Issues", icon: "octicon-issue-opened", classNames: ["issues_opened", "issues_closed", "issues_reopened", "issues_comment"], subFilters: [ - { id: "issues opened", text: "Opened", icon: "octicon-issue-opened", classNames: ["issues_opened"] }, - { id: "issues closed", text: "Closed", icon: "octicon-issue-closed", classNames: ["issues_closed"] }, - { id: "issues reopened", text: "Reopened", icon: "octicon-issue-reopened", classNames: ["issues_reopened"] }, - { id: "issues comments", text: "Comments", icon: "octicon-comment-discussion", classNames: ["issues_comment"] } + id: 'issues', text: 'Issues', icon: 'octicon-issue-opened', classNames: ['issues_opened', 'issues_closed', 'issues_reopened', 'issues_comment'], subFilters: [ + { id: 'issues opened', text: 'Opened', icon: 'octicon-issue-opened', classNames: ['issues_opened'] }, + { id: 'issues closed', text: 'Closed', icon: 'octicon-issue-closed', classNames: ['issues_closed'] }, + { id: 'issues reopened', text: 'Reopened', icon: 'octicon-issue-reopened', classNames: ['issues_reopened'] }, + { id: 'issues comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['issues_comment'] } ] }, { - id: "commits", text: "Commits", icon: "octicon-git-commit", classNames: ["push", "commit_comment"], subFilters: [ - { id: "commits pushed", text: "Pushed", icon: "octicon-git-commit", classNames: ["push"] }, - { id: "commits comments", text: "Comments", icon: "octicon-comment-discussion", classNames: ["commit_comment"] } + id: 'commits', text: 'Commits', icon: 'octicon-git-commit', classNames: ['push', 'commit_comment'], subFilters: [ + { id: 'commits pushed', text: 'Pushed', icon: 'octicon-git-commit', classNames: ['push'] }, + { id: 'commits comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['commit_comment'] } ] }, { - id: "pr", text: "Pull Requests", icon: "octicon-git-pull-request", classNames: ["pull_request_opened", "pull_request_closed", "pull_request_merged", "pull_request_comment"], subFilters: [ - { id: "pr opened", text: "Opened", icon: "octicon-git-pull-request", classNames: ["pull_request_opened"] }, - { id: "pr closed", text: "Closed", icon: "octicon-git-pull-request-abandoned", classNames: ["pull_request_closed"] }, - { id: "pr merged", text: "Merged", icon: "octicon-git-merge", classNames: ["pull_request_merged"] }, - { id: "pr comments", text: "Comments", icon: "octicon-comment-discussion", classNames: ["pull_request_comment"] } + id: 'pr', text: 'Pull Requests', icon: 'octicon-git-pull-request', classNames: ['pull_request_opened', 'pull_request_closed', 'pull_request_merged', 'pull_request_comment'], subFilters: [ + { id: 'pr opened', text: 'Opened', icon: 'octicon-git-pull-request', classNames: ['pull_request_opened'] }, + { id: 'pr closed', text: 'Closed', icon: 'octicon-git-pull-request-abandoned', classNames: ['pull_request_closed'] }, + { id: 'pr merged', text: 'Merged', icon: 'octicon-git-merge', classNames: ['pull_request_merged'] }, + { id: 'pr comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['pull_request_comment'] } ] }, { - id: "repo", text: "Repo", icon: "octicon-repo", classNames: ["create", "public", "fork", "branch_create", "branch_delete", "tag_add", "tag_remove", "release", "delete"], subFilters: [ - { id: "repo created", text: "Created", icon: "octicon-repo-create", classNames: ["create"] }, - { id: "repo public", text: "Public", icon: "octicon-repo-push", classNames: ["public"] }, - { id: "repo forked", text: "Forked", icon: "octicon-repo-forked", classNames: ["fork"] }, - { id: "repo deleted", text: "Deleted", icon: "octicon-repo-delete", classNames: ["delete"] }, - { id: "repo released", text: "Release", icon: "octicon-repo-pull", classNames: ["release"] }, + id: 'repo', text: 'Repo', icon: 'octicon-repo', classNames: ['create', 'public', 'fork', 'branch_create', 'branch_delete', 'tag_add', 'tag_remove', 'release', 'delete'], subFilters: [ + { id: 'repo created', text: 'Created', icon: 'octicon-repo-create', classNames: ['create'] }, + { id: 'repo public', text: 'Public', icon: 'octicon-repo-push', classNames: ['public'] }, + { id: 'repo forked', text: 'Forked', icon: 'octicon-repo-forked', classNames: ['fork'] }, + { id: 'repo deleted', text: 'Deleted', icon: 'octicon-repo-delete', classNames: ['delete'] }, + { id: 'repo released', text: 'Release', icon: 'octicon-repo-pull', classNames: ['release'] }, { - id: "repo branched", text: "Branch", icon: "octicon-git-branch", classNames: ["branch_create", "branch_delete"], subFilters: [ - { id: "repo branch created", text: "Created", icon: "octicon-git-branch-create", classNames: ["branch_create"] }, - { id: "repo branch deleted", text: "Deleted", icon: "octicon-git-branch-delete", classNames: ["branch_delete"] } + id: 'repo branched', text: 'Branch', icon: 'octicon-git-branch', classNames: ['branch_create', 'branch_delete'], subFilters: [ + { id: 'repo branch created', text: 'Created', icon: 'octicon-git-branch-create', classNames: ['branch_create'] }, + { id: 'repo branch deleted', text: 'Deleted', icon: 'octicon-git-branch-delete', classNames: ['branch_delete'] } ] }, { - id: "repo tagged", text: "Tag", icon: "octicon-tag", classNames: ["tag_add", "tag_remove"], subFilters: [ - { id: "repo tag added", text: "Added", icon: "octicon-tag-add", classNames: ["tag_add"] }, - { id: "repo tag removed", text: "Removed", icon: "octicon-tag-remove", classNames: ["tag_remove"] } + id: 'repo tagged', text: 'Tag', icon: 'octicon-tag', classNames: ['tag_add', 'tag_remove'], subFilters: [ + { id: 'repo tag added', text: 'Added', icon: 'octicon-tag-add', classNames: ['tag_add'] }, + { id: 'repo tag removed', text: 'Removed', icon: 'octicon-tag-remove', classNames: ['tag_remove'] } ] } ] }, { - id: "user", text: "User", icon: "octicon-person", classNames: ["watch_started", "member_add", "team_add"], subFilters: [ - { id: "user starred", text: "Starred", icon: "octicon-star", classNames: ["watch_started"] }, - { id: "user added", text: "Member added", icon: "octicon-person-add", classNames: ["member_add", "team_add"] } + id: 'user', text: 'User', icon: 'octicon-person', classNames: ['watch_started', 'member_add', 'team_add'], subFilters: [ + { id: 'user starred', text: 'Starred', icon: 'octicon-star', classNames: ['watch_started'] }, + { id: 'user added', text: 'Member added', icon: 'octicon-person-add', classNames: ['member_add', 'team_add'] } ] }, { - id: "wiki", text: "Wiki", icon: "octicon-book", classNames: ["wiki_created", "wiki_edited"], subFilters: [ - { id: "wiki created", text: "Created", icon: "octicon-plus", classNames: ["wiki_created"] }, - { id: "wiki edited", text: "Edited", icon: "octicon-book", classNames: ["wiki_edited"] } + id: 'wiki', text: 'Wiki', icon: 'octicon-book', classNames: ['wiki_created', 'wiki_edited'], subFilters: [ + { id: 'wiki created', text: 'Created', icon: 'octicon-plus', classNames: ['wiki_created'] }, + { id: 'wiki edited', text: 'Edited', icon: 'octicon-book', classNames: ['wiki_edited'] } ] }, { - id: "gist", text: "Gist", icon: "octicon-gist", classNames: ["gist_created", "gist_updated"], subFilters: [ - { id: "gist created", text: "Created", icon: "octicon-gist-new", classNames: ["gist_created"] }, - { id: "gist updated", text: "Updated", icon: "octicon-gist", classNames: ["gist_updated"] } + id: 'gist', text: 'Gist', icon: 'octicon-gist', classNames: ['gist_created', 'gist_updated'], subFilters: [ + { id: 'gist created', text: 'Created', icon: 'octicon-gist-new', classNames: ['gist_created'] }, + { id: 'gist updated', text: 'Updated', icon: 'octicon-gist', classNames: ['gist_updated'] } ] } ]; @@ -124,60 +124,60 @@ var USERS = []; - var datasetId = "githubNewsFeedFilter"; - var datasetIdLong = "data-github-news-feed-filter"; - var filterElement = "github-news-feed-filter"; - var filterListElement = "github-news-feed-filter-list"; + var datasetId = 'githubNewsFeedFilter'; + var datasetIdLong = 'data-github-news-feed-filter'; + var filterElement = 'github-news-feed-filter'; + var filterListElement = 'github-news-feed-filter-list'; function proxy(fn) { return function() { var that = this; return function(e) { - var args = that.slice(0); // clone; - args.unshift(e); // prepend event; + var args = that.slice(0); // Clone. + args.unshift(e); // Prepend event. fn.apply(this, args); }; }.call([].slice.call(arguments, 1)); } function addStyle(css) { - var node = document.createElement("style"); - node.type = "text/css"; + var node = document.createElement('style'); + node.type = 'text/css'; node.appendChild(document.createTextNode(css)); document.head.appendChild(node); } - addStyle("\ - github-news-feed-filter { display: block; }\ - github-news-feed-filter .count { margin-right: 15px; }\ - \ - /* Needed for user?tab=activity; */\ - .profilecols github-news-feed-filter .filter-bar { padding: 10px 10px 0px 10px; }\ - .profilecols github-news-feed-filter .filter-bar .repo-filterer li { float: none; }\ - \ - github-news-feed-filter .filter-list .mini-repo-list-item { padding-right: 64px; }\ - \ - github-news-feed-filter .filter-list .filter-list .mini-repo-list-item { padding-left: 40px; border-top: 1px dashed #E5E5E5; }\ - github-news-feed-filter .filter-list .filter-list .filter-list .mini-repo-list-item { padding-left: 50px; }\ - \ - github-news-feed-filter .filter-list { display: none; }\ - github-news-feed-filter .open > .filter-list { display: block; }\ - github-news-feed-filter .filter-list.open { display: block; }\ - \ - github-news-feed-filter .private { font-weight: bold; }\ - \ - github-news-feed-filter .stars .octicon { position: absolute; right: -4px; }\ - github-news-feed-filter .filter-list-item.open > a > .stars > .octicon { transform: rotate(-90deg); }\ - \ - .no-alerts { font-style: italic; }\ - "); - - // Add filter menu list; + addStyle(` + github-news-feed-filter { display: block; } + github-news-feed-filter .count { margin-right: 15px; } + + /* Needed for user?tab=activity */ + .profilecols github-news-feed-filter .filter-bar { padding: 10px 10px 0px 10px; } + .profilecols github-news-feed-filter .filter-bar .repo-filterer li { float: none; } + + github-news-feed-filter .filter-list .mini-repo-list-item { padding-right: 64px; } + + github-news-feed-filter .filter-list .filter-list .mini-repo-list-item { padding-left: 40px; border-top: 1px dashed #E5E5E5; } + github-news-feed-filter .filter-list .filter-list .filter-list .mini-repo-list-item { padding-left: 50px; } + + github-news-feed-filter .filter-list { display: none; } + github-news-feed-filter .open > .filter-list { display: block; } + github-news-feed-filter .filter-list.open { display: block; } + + github-news-feed-filter .private { font-weight: bold; } + + github-news-feed-filter .stars .octicon { position: absolute; right: -4px; } + github-news-feed-filter .filter-list-item.open > a > .stars > .octicon { transform: rotate(-90deg); } + + .no-alerts { font-style: italic; } + `); + + // Add filter menu list. function addFilterMenu(type, filters, parent, newsContainer, filterContainer, main) { - var ul = document.createElement("ul"); - ul.classList.add("filter-list"); + var ul = document.createElement('ul'); + ul.classList.add('filter-list'); if (main) { - ul.classList.add("mini-repo-list"); + ul.classList.add('mini-repo-list'); } parent.appendChild(ul); @@ -190,67 +190,67 @@ }); } - // Add filter menu item; + // Add filter menu item. function addFilterMenuItem(type, filter, parent, newsContainer, filterContainer) { - // Filter item; - var li = document.createElement("li"); - li.classList.add("filter-list-item"); + // Filter item. + var li = document.createElement('li'); + li.classList.add('filter-list-item'); li.filterClassNames = filter.classNames; parent.appendChild(li); - // Filter link; - var a = document.createElement("a"); - a.classList.add("mini-repo-list-item", "css-truncate"); - a.setAttribute("href", filter.link || "/"); - a.setAttribute("title", filter.classNames.join(" & ")); + // Filter link. + var a = document.createElement('a'); + a.classList.add('mini-repo-list-item', 'css-truncate'); + a.setAttribute('href', filter.link || '/'); + a.setAttribute('title', filter.classNames.join(' & ')); a.dataset[datasetId] = filter.id; - a.addEventListener("click", proxy(onFilterItemClick, type, newsContainer, filterContainer)); + a.addEventListener('click', proxy(onFilterItemClick, type, newsContainer, filterContainer)); li.appendChild(a); - // Filter icon; - var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - svg.classList.add("repo-icon", "octicon", filter.icon); - svg.setAttribute("height", "16"); - svg.setAttribute("width", "16"); + // Filter icon. + var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + svg.classList.add('repo-icon', 'octicon', filter.icon); + svg.setAttribute('height', '16'); + svg.setAttribute('width', '16'); a.appendChild(svg); - var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - path.setAttribute("d", ICONS[filter.icon]); + var path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + path.setAttribute('d', ICONS[filter.icon]); svg.appendChild(path); - // Filter text; - var text = filter.text.split("/"); - var t = document.createElement("span"); - t.classList.add("repo-and-owner", "css-truncate-target"); + // Filter text. + var text = filter.text.split('/'); + var t = document.createElement('span'); + t.classList.add('repo-and-owner', 'css-truncate-target'); a.appendChild(t); - var to = document.createElement("span"); - to.classList.add("owner"); + var to = document.createElement('span'); + to.classList.add('owner'); to.appendChild(document.createTextNode(text[0])); t.appendChild(to); if (text.length > 1) { text.shift(); - t.appendChild(document.createTextNode("/")); - var tr = document.createElement("span"); - tr.classList.add("repo"); - tr.appendChild(document.createTextNode(text.join("/"))); + t.appendChild(document.createTextNode('/')); + var tr = document.createElement('span'); + tr.classList.add('repo'); + tr.appendChild(document.createTextNode(text.join('/'))); t.appendChild(tr); } - // Filter count & sub list arrow; - var s = document.createElement("span"); - s.classList.add("stars"); - var c = document.createElement("span"); - c.classList.add("count"); - c.appendChild(document.createTextNode("0")); + // Filter count & sub list arrow. + var s = document.createElement('span'); + s.classList.add('stars'); + var c = document.createElement('span'); + c.classList.add('count'); + c.appendChild(document.createTextNode('0')); s.appendChild(c); if (filter.subFilters) { - s.appendChild(document.createTextNode(" ")); - var osvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - osvg.classList.add("octicon", "octicon-triangle-left"); - osvg.setAttribute("height", "16"); - osvg.setAttribute("width", "6"); + s.appendChild(document.createTextNode(' ')); + var osvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + osvg.classList.add('octicon', 'octicon-triangle-left'); + osvg.setAttribute('height', '16'); + osvg.setAttribute('width', '6'); s.appendChild(osvg); - var opath = document.createElementNS("http://www.w3.org/2000/svg", "path"); - opath.setAttribute("d", ICONS["octicon-triangle-left"]); + var opath = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + opath.setAttribute('d', ICONS['octicon-triangle-left']); osvg.appendChild(opath); } a.appendChild(s); @@ -258,168 +258,168 @@ return li; } - // Filter item click event; + // Filter item click event. function onFilterItemClick(e, type, newsContainer, filterContainer) { e.preventDefault(); - // Store current filter; + // Store current filter. setCurrentFilter(type, this.dataset[datasetId]); - // Open/close sub list; - Array.forEach(filterContainer.querySelectorAll(".open"), function(item) { item.classList.remove("open"); }); + // Open/close sub list. + Array.forEach(filterContainer.querySelectorAll('.open'), function(item) { item.classList.remove('open'); }); showParentMenu(this); - this.parentNode.classList.add("open"); + this.parentNode.classList.add('open'); - // Give it a colored background; - Array.forEach(filterContainer.querySelectorAll(".private"), function(m) { m.classList.remove("private"); }); - this.parentNode.classList.add("private"); + // Give it a colored background. + Array.forEach(filterContainer.querySelectorAll('.private'), function(m) { m.classList.remove('private'); }); + this.parentNode.classList.add('private'); - // Toggle alert visibility; + // Toggle alert visibility. toggleAlertsVisibility(newsContainer); } - // Toggle alert visibility; + // Toggle alert visibility. function toggleAlertsVisibility(newsContainer) { - // Get selected filters; + // Get selected filters. var anyVisibleAlert = false; var classNames = []; - var selected = document.querySelectorAll(filterElement + " .private"); + var selected = document.querySelectorAll(filterElement + ' .private'); if (selected.length > 0) { Array.prototype.forEach.call(selected, function(item) { classNames.push(item.filterClassNames); }); } - // Show/hide alerts; - if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf("*"); }); })) { + // Show/hide alerts. + if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf('*'); }); })) { anyVisibleAlert = true; - Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { - alert.style.display = "block"; + Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { + alert.style.display = 'block'; }); } else { - Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { - var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf("*") || alert.classList.contains(c); }); }); + Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { + var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); anyVisibleAlert = show || anyVisibleAlert; - alert.style.display = show ? "block" : "none"; + alert.style.display = show ? 'block' : 'none'; }); } - // Show/hide message about no alerts; - var none = newsContainer.querySelector(".no-alerts"); + // Show/hide message about no alerts. + var none = newsContainer.querySelector('.no-alerts'); if (anyVisibleAlert && none) { none.parentNode.removeChild(none); } else if (!anyVisibleAlert && !none) { - none = document.createElement("div"); - none.classList.add("no-alerts", "protip"); - none.appendChild(document.createTextNode("No feed items for this filter. Please select another filter.")); + none = document.createElement('div'); + none.classList.add('no-alerts', 'protip'); + none.appendChild(document.createTextNode('No feed items for this filter. Please select another filter.')); newsContainer.insertBefore(none, newsContainer.firstElementChild.nextElementSibling); } } - // Traverse back up the tree to open sub lists; + // Traverse back up the tree to open sub lists. function showParentMenu(menuItem) { var parentMenuItem = menuItem.parentNode; - if (parentMenuItem.classList.contains("filter-list-item")) { - parentMenuItem.classList.add("open"); + if (parentMenuItem.classList.contains('filter-list-item')) { + parentMenuItem.classList.add('open'); showParentMenu(parentMenuItem.parentNode); } } - // Fix filter action identification; + // Fix filter action identification. function fixActionAlerts(newsContainer) { - Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { + Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { if (!!~alert.querySelector('.title').textContent.indexOf('created branch')) { - alert.classList.remove("create"); - alert.classList.add("branch_create"); + alert.classList.remove('create'); + alert.classList.add('branch_create'); } else if (!!~alert.querySelector('.title').textContent.indexOf('deleted branch')) { - alert.classList.remove("delete"); - alert.classList.add("branch_delete"); - } else if (alert.getElementsByClassName("octicon-tag").length > 0 && !alert.classList.contains("release")) { - alert.classList.remove("create"); - alert.classList.add("tag_add"); - } else if (alert.getElementsByClassName("octicon-tag-remove").length > 0) { - alert.classList.remove("delete"); - alert.classList.add("tag_remove"); - } else if (alert.getElementsByClassName("octicon-git-pull-request").length > 0) { - if (alert.classList.contains("issues_opened")) { - alert.classList.remove("issues_opened"); - alert.classList.add("pull_request_opened"); - } else if (alert.classList.contains("issues_closed")) { - alert.classList.remove("issues_closed"); + alert.classList.remove('delete'); + alert.classList.add('branch_delete'); + } else if (alert.getElementsByClassName('octicon-tag').length > 0 && !alert.classList.contains('release')) { + alert.classList.remove('create'); + alert.classList.add('tag_add'); + } else if (alert.getElementsByClassName('octicon-tag-remove').length > 0) { + alert.classList.remove('delete'); + alert.classList.add('tag_remove'); + } else if (alert.getElementsByClassName('octicon-git-pull-request').length > 0) { + if (alert.classList.contains('issues_opened')) { + alert.classList.remove('issues_opened'); + alert.classList.add('pull_request_opened'); + } else if (alert.classList.contains('issues_closed')) { + alert.classList.remove('issues_closed'); if (!!~alert.querySelector('.title').textContent.indexOf('merged pull request')) { - alert.classList.add("pull_request_merged"); + alert.classList.add('pull_request_merged'); } else { - alert.classList.add("pull_request_closed"); + alert.classList.add('pull_request_closed'); } } - } else if (alert.classList.contains("issues_comment") && alert.querySelectorAll(".title a")[1].href.split("/")[5] === "pull") { - alert.classList.remove("issues_comment"); - alert.classList.add("pull_request_comment"); - } else if (alert.classList.contains("gollum")) { - alert.classList.remove("gollum"); - if (!!~alert.querySelector('.title').textContent.indexOf(" created the ")) { - alert.classList.add("wiki_created"); - } else if (!!~alert.querySelector('.title').textContent.indexOf(" edited the ")) { - alert.classList.add("wiki_edited"); + } else if (alert.classList.contains('issues_comment') && alert.querySelectorAll('.title a')[1].href.split('/')[5] === 'pull') { + alert.classList.remove('issues_comment'); + alert.classList.add('pull_request_comment'); + } else if (alert.classList.contains('gollum')) { + alert.classList.remove('gollum'); + if (!!~alert.querySelector('.title').textContent.indexOf(' created the ')) { + alert.classList.add('wiki_created'); + } else if (!!~alert.querySelector('.title').textContent.indexOf(' edited the ')) { + alert.classList.add('wiki_edited'); } - } else if (alert.classList.contains("gist")) { - alert.classList.remove("gist"); - alert.classList.add("gist_" + alert.querySelector(".title span").textContent); + } else if (alert.classList.contains('gist')) { + alert.classList.remove('gist'); + alert.classList.add('gist_' + alert.querySelector('.title span').textContent); } }); } - // Fix filter repo identification; + // Fix filter repo identification. function fixRepoAlerts(newsContainer) { - REPOS = [{ id: "*-repo", text: "All repositories", icon: "octicon-repo", classNames: ["*-repo"] }]; + REPOS = [{ id: '*-repo', text: 'All repositories', icon: 'octicon-repo', classNames: ['*-repo'] }]; - // Get unique list of repos; + // Get unique list of repos. var userRepos = new Set(); - Array.prototype.forEach.call(newsContainer.querySelectorAll(".alert"), function(alert) { - var links = alert.querySelectorAll(".title a"); - var userRepo = links[links.length - 1].textContent.split("#")[0]; // Remove issue number from text; + Array.prototype.forEach.call(newsContainer.querySelectorAll('.alert'), function(alert) { + var links = alert.querySelectorAll('.title a'); + var userRepo = links[links.length - 1].textContent.split('#')[0]; // Remove issue number from text. userRepos.add(userRepo); - var repo = userRepo.split("/")[1]; + var repo = userRepo.split('/')[1]; alert.classList.add(repo, userRepo); }); - // Get list of user repos (forks) per repo names; + // Get list of user repos (forks) per repo names. var repos = {}; userRepos.forEach(function(userRepo) { - var repo = userRepo.split("/")[1]; + var repo = userRepo.split('/')[1]; if (!repos[repo]) { repos[repo] = []; } repos[repo].push(userRepo); }); - // Populate global property; + // Populate global property. Object.keys(repos).forEach(function(repo) { if (repos[repo].length === 1) { var userRepo = repos[repo][0]; - REPOS.push({ id: userRepo, text: userRepo, link: userRepo, icon: "octicon-repo", classNames: [userRepo] }); + REPOS.push({ id: userRepo, text: userRepo, link: userRepo, icon: 'octicon-repo', classNames: [userRepo] }); } else { - var repoForks = { id: repo, text: repo, icon: "octicon-repo-clone", classNames: [repo], subFilters: [] }; + var repoForks = { id: repo, text: repo, icon: 'octicon-repo-clone', classNames: [repo], subFilters: [] }; repos[repo].forEach(function(userRepo) { repoForks.classNames.push(userRepo); - repoForks.subFilters.push({ id: userRepo, text: userRepo, link: userRepo, icon: "octicon-repo", classNames: [userRepo] }); + repoForks.subFilters.push({ id: userRepo, text: userRepo, link: userRepo, icon: 'octicon-repo', classNames: [userRepo] }); }); REPOS.push(repoForks); } }); } - // Fix filter user identification; + // Fix filter user identification. function fixUserAlerts(newsContainer) { - USERS = [{ id: "*-user", text: "All users", icon: "octicon-person", classNames: ["*-user"] }]; + USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-person', classNames: ['*-user'] }]; var users = new Set(); - Array.prototype.forEach.call(newsContainer.querySelectorAll(".alert"), function (alert) { - var links = alert.querySelectorAll(".title a"); + Array.prototype.forEach.call(newsContainer.querySelectorAll('.alert'), function (alert) { + var links = alert.querySelectorAll('.title a'); var username = links[0].textContent; alert.classList.add(username); users.add(username); // Add member too. - if (alert.classList.contains("member_add")) { + if (alert.classList.contains('member_add')) { var member = links[1].textContent; alert.classList.add(member); users.add(member); @@ -429,199 +429,200 @@ [...users].sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }).forEach(function(username) { - var user = { id: username, text: username, icon: "octicon-person", classNames: [username] }; + var user = { id: username, text: username, icon: 'octicon-person', classNames: [username] }; USERS.push(user); }); } - // Update filter counts; + // Update filter counts. function updateFilterCounts(filterContainer, newsContainer) { - Array.forEach(filterContainer.querySelectorAll("li.filter-list-item"), function(li) { - // Count alerts based on other filters; + Array.forEach(filterContainer.querySelectorAll('li.filter-list-item'), function(li) { + // Count alerts based on other filters. var countFiltered = 0; var classNames = [li.filterClassNames]; - var selected = document.querySelectorAll(filterElement + " li.filter-list-item.private"); + var selected = document.querySelectorAll(filterElement + ' li.filter-list-item.private'); if (selected.length > 0) { Array.prototype.forEach.call(selected, function(item) { - if (item.parentNode.parentNode !== filterContainer) { // exclude list item from current filter container; + if (item.parentNode.parentNode !== filterContainer) { // Exclude list item from current filter container. classNames.push(item.filterClassNames); } }); } - Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { - var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf("*") || alert.classList.contains(c); }); }); + Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { + var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); if (show) { countFiltered++; } }); - // Count alerts based on current filter; + // Count alerts based on current filter. var countAll = 0; - if (!!~li.filterClassNames[0].indexOf("*")) { - countAll = newsContainer.querySelectorAll(".alert").length; + if (!!~li.filterClassNames[0].indexOf('*')) { + countAll = newsContainer.querySelectorAll('.alert').length; } else { - Array.forEach(newsContainer.querySelectorAll(".alert"), function(alert) { + Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { if (li.filterClassNames.some(function(cl) { return alert.classList.contains(cl); })) { countAll++; } }); } - li.querySelector(".count").textContent = countAll + " (" + countFiltered + ")"; + li.querySelector('.count').textContent = countAll + ' (' + countFiltered + ')'; }); } var CURRENT = {}; - // Set current filter; + // Set current filter. function setCurrentFilter(type, filter) { CURRENT[type] = filter; } - // Get current filter; + // Get current filter. function getCurrentFilter(type, filterContainer) { - var filter = CURRENT[type] || "*-" + type; - filterContainer.querySelector('[' + datasetIdLong + '="' + filter + '"]').dispatchEvent(new Event("click")); + var filter = CURRENT[type] || '*-' + type; + filterContainer.querySelector('[' + datasetIdLong + '="' + filter + '"]').dispatchEvent(new Event('click')); } + // Add filter tab. function addFilterTab(type, text, inner, filterer, onCreate, onSelect) { - var filterTab = document.createElement("li"); + var filterTab = document.createElement('li'); filterer.appendChild(filterTab); - var filterTabInner = document.createElement("a"); - filterTabInner.setAttribute("href", "#"); - filterTabInner.classList.add("repo-filter", "js-repo-filter-tab"); + var filterTabInner = document.createElement('a'); + filterTabInner.setAttribute('href', '#'); + filterTabInner.classList.add('repo-filter', 'js-repo-filter-tab'); filterTabInner.appendChild(document.createTextNode(text)); filterTab.appendChild(filterTabInner); var filterContainer = document.createElement(filterListElement); inner.appendChild(filterContainer); - filterTabInner.addEventListener("click", proxy(filterTabInnerClick, type, inner, filterContainer, onSelect)); + filterTabInner.addEventListener('click', proxy(filterTabInnerClick, type, inner, filterContainer, onSelect)); onCreate && onCreate(type, filterContainer); } - // Filter tab click event; + // Filter tab click event. function filterTabInnerClick(e, type, inner, filterContainer, onSelect) { e.preventDefault(); - var selected = inner.querySelector(".filter-selected"); - selected && selected.classList.remove("filter-selected"); - this.classList.add("filter-selected"); + var selected = inner.querySelector('.filter-selected'); + selected && selected.classList.remove('filter-selected'); + this.classList.add('filter-selected'); Array.forEach(inner.querySelectorAll(filterListElement), function(menu) { - menu && menu.classList.remove("open"); + menu && menu.classList.remove('open'); }); - filterContainer.classList.add("open"); + filterContainer.classList.add('open'); onSelect && onSelect(type, filterContainer); } - // Init; + // Init. (function init() { - var newsContainer = document.querySelector(".news"); + var newsContainer = document.querySelector('.news'); if (!newsContainer) { return; } - // GitHub homepage or profile activity tab; - var sidebar = document.querySelector(".dashboard-sidebar") || document.querySelector(".profilecols > .column:first-child"); + // GitHub homepage or profile activity tab. + var sidebar = document.querySelector('.dashboard-sidebar') || document.querySelector('.profilecols > .column:first-child'); var wrapper = document.createElement(filterElement); - wrapper.classList.add("boxed-group", "flush", "user-repos"); + wrapper.classList.add('boxed-group', 'flush', 'user-repos'); sidebar.insertBefore(wrapper, sidebar.firstChild); - var headerAction = document.createElement("div"); - headerAction.classList.add("boxed-group-action"); + var headerAction = document.createElement('div'); + headerAction.classList.add('boxed-group-action'); wrapper.appendChild(headerAction); - var headerLink = document.createElement("a"); - headerLink.setAttribute("href", "https://github.com/jerone/UserScripts"); - headerLink.classList.add("btn", "btn-sm"); + var headerLink = document.createElement('a'); + headerLink.setAttribute('href', 'https://github.com/jerone/UserScripts'); + headerLink.classList.add('btn', 'btn-sm'); headerAction.appendChild(headerLink); - var headerLinkSvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - headerLinkSvg.classList.add("octicon", "octicon-home"); - headerLinkSvg.setAttribute("height", "16"); - headerLinkSvg.setAttribute("width", "16"); - headerLinkSvg.setAttribute("title", "Open Github News Feed Filter homepage"); + var headerLinkSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + headerLinkSvg.classList.add('octicon', 'octicon-home'); + headerLinkSvg.setAttribute('height', '16'); + headerLinkSvg.setAttribute('width', '16'); + headerLinkSvg.setAttribute('title', 'Open Github News Feed Filter homepage'); headerLink.appendChild(headerLinkSvg); - var headerLinkPath = document.createElementNS("http://www.w3.org/2000/svg", "path"); - headerLinkPath.setAttribute("d", ICONS["octicon-home"]); + var headerLinkPath = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + headerLinkPath.setAttribute('d', ICONS['octicon-home']); headerLinkSvg.appendChild(headerLinkPath); - var headerText = document.createElement("h3"); - headerText.appendChild(document.createTextNode("News feed filter")); + var headerText = document.createElement('h3'); + headerText.appendChild(document.createTextNode('News feed filter')); wrapper.appendChild(headerText); - var inner = document.createElement("div"); - inner.classList.add("boxed-group-inner"); + var inner = document.createElement('div'); + inner.classList.add('boxed-group-inner'); wrapper.appendChild(inner); - var bar = document.createElement("div"); - bar.classList.add("filter-repos", "filter-bar"); + var bar = document.createElement('div'); + bar.classList.add('filter-repos', 'filter-bar'); inner.appendChild(bar); - var filterer = document.createElement("ul"); - filterer.classList.add("repo-filterer"); + var filterer = document.createElement('ul'); + filterer.classList.add('repo-filterer'); bar.appendChild(filterer); - // Create filter tabs; - addFilterTab("action", "Actions", inner, filterer, function onCreateActions(type, filterContainer) { - // Create filter menu; + // Create filter tabs. + addFilterTab('action', 'Actions', inner, filterer, function onCreateActions(type, filterContainer) { + // Create filter menu. addFilterMenu(type, ACTIONS, filterContainer, newsContainer, filterContainer, true); }, function onSelectActions(type, filterContainer) { - // Fix alert identification; + // Fix alert identification. fixActionAlerts(newsContainer); - // Update filter counts; + // Update filter counts. updateFilterCounts(filterContainer, newsContainer); - // Restore current filter; + // Restore current filter. getCurrentFilter(type, filterContainer); }); - addFilterTab("repo", "Repositories", inner, filterer, function onCreateRepos(type, filterContainer) { - // Fix filter identification and create repos list; + addFilterTab('repo', 'Repositories', inner, filterer, function onCreateRepos(type, filterContainer) { + // Fix filter identification and create repos list. fixRepoAlerts(newsContainer); - // Create filter menu; + // Create filter menu. addFilterMenu(type, REPOS, filterContainer, newsContainer, filterContainer, true); }, function onSelectRepos(type, filterContainer) { - // Fix alert identification and create repos list; + // Fix alert identification and create repos list. fixRepoAlerts(newsContainer); - // Empty list, so it can be filled again; + // Empty list, so it can be filled again. while (filterContainer.hasChildNodes()) { filterContainer.removeChild(filterContainer.lastChild); } - // Create filter menu; + // Create filter menu. addFilterMenu(type, REPOS, filterContainer, newsContainer, filterContainer, true); - // Update filter counts; + // Update filter counts. updateFilterCounts(filterContainer, newsContainer); - // Restore current filter; + // Restore current filter. getCurrentFilter(type, filterContainer); }); - addFilterTab("user", "Users", inner, filterer, function onCreateUsers(type, filterContainer) { - // Fix filter identification and create users list; + addFilterTab('user', 'Users', inner, filterer, function onCreateUsers(type, filterContainer) { + // Fix filter identification and create users list. fixUserAlerts(newsContainer); - // Create filter menu; + // Create filter menu. addFilterMenu(type, USERS, filterContainer, newsContainer, filterContainer, true); }, function onSelectUsers(type, filterContainer) { - // Fix filter identification and create users list; + // Fix filter identification and create users list. fixUserAlerts(newsContainer); - // Empty list, so it can be filled again; + // Empty list, so it can be filled again. while (filterContainer.hasChildNodes()) { filterContainer.removeChild(filterContainer.lastChild); } - // Create filter menu; + // Create filter menu. addFilterMenu(type, USERS, filterContainer, newsContainer, filterContainer, true); - // Update filter counts; + // Update filter counts. updateFilterCounts(filterContainer, newsContainer); - // Restore current filter; + // Restore current filter. getCurrentFilter(type, filterContainer); }); - // Open first filter tab; - filterer.querySelector("a").dispatchEvent(new Event("click")); + // Open first filter tab. + filterer.querySelector('a').dispatchEvent(new Event('click')); - // Update on clicking "More"-button; + // Update on clicking "More"-button. new MutationObserver(function() { - // Re-click the current selected filter on open filter tab; - filterer.querySelector("a.filter-selected").dispatchEvent(new Event("click")); + // Re-click the current selected filter on open filter tab. + filterer.querySelector('a.filter-selected').dispatchEvent(new Event('click')); }).observe(newsContainer, { childList: true }); })(); From 7efb24a3520bc77128b74332e9502bae8bcb248f Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 16 Sep 2017 17:37:47 +0200 Subject: [PATCH 047/164] Activity stream doesn't exists anymore (GitHub News Feed Filter) --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 5 ----- Github_News_Feed_Filter/README.md | 3 +-- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 41c41c6..67113f0 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -15,7 +15,6 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @include https://github.com/*tab=activity* // @version 7.1.0 // @grant none // ==/UserScript== @@ -151,10 +150,6 @@ github-news-feed-filter { display: block; } github-news-feed-filter .count { margin-right: 15px; } - /* Needed for user?tab=activity */ - .profilecols github-news-feed-filter .filter-bar { padding: 10px 10px 0px 10px; } - .profilecols github-news-feed-filter .filter-bar .repo-filterer li { float: none; } - github-news-feed-filter .filter-list .mini-repo-list-item { padding-right: 64px; } github-news-feed-filter .filter-list .filter-list .mini-repo-list-item { padding-left: 40px; border-top: 1px dashed #E5E5E5; } diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index af64534..207bae5 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -9,7 +9,7 @@ Add filters for [Github homepage](https://github.com) news feed items. -This script also works for organizations and on user profiles [public activity](https://github.com/jerone?tab=activity) +This script also works for organizations. (page refresh is required). Currently integrated filters: @@ -179,7 +179,6 @@ Currently integrated filters: ## TODO -* ~~Run on users public activity stream ([](https://github.com/jerone?tab=activity));~~ _Only works on direct access._ * ~~Filter by repo~~; * Filter by user; From 3a1aac21c5e5c5c03718eb0917fe297ca0ea8b2d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 16 Sep 2017 17:42:06 +0200 Subject: [PATCH 048/164] =?UTF-8?q?=F0=9F=8E=AC=20New=20version=20of=20Git?= =?UTF-8?q?hub=20News=20Feed=20Filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Github_News_Feed_Filter.user.js | 2 +- Github_News_Feed_Filter/README.md | 78 ++++++++++--------- 2 files changed, 41 insertions(+), 39 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 67113f0..faf0e7a 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -15,7 +15,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 7.1.0 +// @version 7.2.0 // @grant none // ==/UserScript== diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 207bae5..5b77a37 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -7,14 +7,13 @@ ## Description -Add filters for [Github homepage](https://github.com) news feed items. +Add filters for [GitHub homepage](https://github.com) news feed items. This script also works for organizations. -(page refresh is required). Currently integrated filters: -* Actions +* **Actions** * Issues @@ -72,9 +71,13 @@ Currently integrated filters: * Created * Updated -* Repositories +* **Repositories** - * _Variable on the repos currently in your news list_ + * _Variable on the repos currently in your news list._ + +* **Users** + + * _Variable on the users currently in your news list._ ## Screenshot @@ -86,101 +89,100 @@ Currently integrated filters: ## Version History +* **7.2.0** + + * ✨ Filter by user. + * **7.1.0** - * :bug: Fixed issues after layout updates. Closes [#114](https://github.com/jerone/UserScripts/pull/114) + * 🐛 Fixed issues after layout updates. Closes [#114](https://github.com/jerone/UserScripts/pull/114). * **7.0.1** - * :bug: Fixed falsely identification branch creation and deletion + * 🐛 Fixed falsely identification branch creation and deletion. * **7.0.0** - * Restored icons after GitHub switching to SVG + * Restored icons after GitHub switching to SVG. * **6.2** - * :sparkles: Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70) + * ✨ Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70). * **6.1** - * :bug: Fixed counting repo releases as tag actions - * :sparkles: Split wiki filter in created and edited + * 🐛 Fixed counting repo releases as tag actions. + * ✨ Split wiki filter in created and edited. * **6.0** - * Fixed issues after Github site update ([#68](https://github.com/jerone/UserScripts/issues/68)) + * Fixed issues after GitHub site update ([#68](https://github.com/jerone/UserScripts/issues/68)). * **5.3** - * Added filter history support + * Added filter history support. * **5.2** - * Fixed issues after Github site update ([#6](https://github.com/jerone/UserScripts/issues/6)) + * Fixed issues after GitHub site update ([#6](https://github.com/jerone/UserScripts/issues/6)). * **5.1** - * Added support for user public activity + * Added support for user public activity. * **5.0** - * More filters added + * More filters added. * **4.6** - * Show message when filter has no feed items + * Show message when filter has no feed items. * **4.5** - * Added branch deleting support + * Added branch deleting support. * **4.4** - * Added support for organizations - * Added commit comments + * Added support for organizations. + * Added commit comments. * **4.3** - * Reordered menu - * Expanded Gist create & update - * Changed Starred in User actions and added member add + * Reordered menu. + * Expanded Gist create & update. + * Changed Starred in User actions and added member add. * **4.2** - * Added support for Scriptish + * Added support for Scriptish. * **4.1** - * Added fork filter - * Added sub-filters for issues (comments, opened, closed, reopened) + * Added fork filter. + * Added sub-filters for issues (comments, opened, closed, reopened). * **4.0** - * Better integrated menu style + * Better integrated menu style. * **3.1** - * Moved PR comments to PR filter + * Moved PR comments to PR filter. * **3.0** - * Added Stars, Repo and Wiki filter - * Moved Comments to Issues filter - * Made menu lower + * Added Stars, Repo and Wiki filter. + * Moved Comments to Issues filter. + * Made menu lower. * **2.0** - * Added Pull Requests filter + * Added Pull Requests filter. * **1.0** - * Initial version - -## TODO - -* ~~Filter by repo~~; -* Filter by user; + * Initial version. ## External links From d0ae080f7231efef996833d711df27fd4b4c7fe8 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 16 Sep 2017 17:48:59 +0200 Subject: [PATCH 049/164] General --- .gitignore | 1 + _resources/UserScripts/UserScripts.sln | 30 ++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c7c2ff7..5298f00 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.v12.suo *.suo *.bak +*.vs diff --git a/_resources/UserScripts/UserScripts.sln b/_resources/UserScripts/UserScripts.sln index 8b3e357..998dc4d 100644 --- a/_resources/UserScripts/UserScripts.sln +++ b/_resources/UserScripts/UserScripts.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.12 MinimumVisualStudioVersion = 10.0.40219.1 Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "UserScripts", "http://localhost:28135", "{84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}" ProjectSection(WebsiteProperties) = preProject @@ -30,6 +30,27 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution WebEssentials-Settings.json = WebEssentials-Settings.json EndProjectSection EndProject +Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "gm_scripts", "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\", "{FC4B0BF2-B3D5-4519-9764-ECA520C06AD3}" + ProjectSection(WebsiteProperties) = preProject + TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" + Debug.AspNetCompiler.VirtualPath = "/localhost_53345" + Debug.AspNetCompiler.PhysicalPath = "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\" + Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_53345\" + Debug.AspNetCompiler.Updateable = "true" + Debug.AspNetCompiler.ForceOverwrite = "true" + Debug.AspNetCompiler.FixedNames = "false" + Debug.AspNetCompiler.Debug = "True" + Release.AspNetCompiler.VirtualPath = "/localhost_53345" + Release.AspNetCompiler.PhysicalPath = "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\" + Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_53345\" + Release.AspNetCompiler.Updateable = "true" + Release.AspNetCompiler.ForceOverwrite = "true" + Release.AspNetCompiler.FixedNames = "false" + Release.AspNetCompiler.Debug = "False" + VWDPort = "53345" + SlnRelativePath = "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\" + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -37,8 +58,13 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC4B0BF2-B3D5-4519-9764-ECA520C06AD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC4B0BF2-B3D5-4519-9764-ECA520C06AD3}.Debug|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {DD273BE9-45B9-4AA2-BBF9-7E32467B97B9} + EndGlobalSection EndGlobal From ae3312878709c40dd21489b3422b04845f760228 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 26 Sep 2017 20:59:51 +0200 Subject: [PATCH 050/164] Init GitHub Commit Compare --- .../GitHub_Commit_Compare.user.js | 206 ++++++++++++++++++ README.md | 1 + 2 files changed, 207 insertions(+) create mode 100644 GitHub_Commit_Compare/GitHub_Commit_Compare.user.js diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js new file mode 100644 index 0000000..f34ad81 --- /dev/null +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -0,0 +1,206 @@ +// ==UserScript== +// @name GitHub Commit Compare +// @namespace https://github.com/jerone/UserScripts +// @description TODO +// @author jerone +// @copyright 2017+, jerone (http://jeroenvanwarmerdam.nl) +// @license GNU GPLv3 +// @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare +// @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare +// @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.com/fluidicon.png +// @include https://github.com/*/*/commits +// @include https://github.com/*/*/commits/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch +// @version 0.0.1 +// @grant none +// ==/UserScript== + +(function () { + + function addButton() { + var e; + if ((e = document.querySelector('.file-navigation'))) { + + const r = e.querySelector('#GitHubCommitCompareGroup'); + if (r) { + r.parentElement.removeChild(r); + } + + const c = document.createElement('input'); + c.type = 'checkbox'; + c.addEventListener('change', function () { + var bb = document.querySelectorAll('.GitHubCommitCompareButtonAB'); + if (this.checked) { + if (bb.length === 0) { + addCompareButtons(); + } else { + Array.from(bb).forEach(function (b) { + b.style.display = ''; + }); + } + } else { + Array.from(bb).forEach(function(b) { + b.style.display = 'none'; + }); + } + }); + + const l = document.createElement('label'); + l.style.cssText = ` + float: left; + padding: 3px 10px; + font-size: 12px; + font-weight: 600; + line-height: 20px; + color: #24292e; + vertical-align: middle; + background-color: #fff; + border: 1px solid rgba(27,31,35,0.2); + border-right: 0; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + `; + l.setAttribute('aria-label', 'Show commit compare checkboxes'); + l.appendChild(c); + + const p = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + p.setAttributeNS(null, + 'd', + 'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); + + const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + s.classList.add('octicon', 'octicon-diff'); + s.setAttributeNS(null, 'height', 16); + s.setAttributeNS(null, 'width', 14); + s.setAttributeNS(null, 'viewBox', '0 0 14 16'); + s.appendChild(p); + + const a = document.createElement('a'); + a.id = 'GitHubCommitCompareButton'; + a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n'); + a.setAttribute('href', '#'); + a.setAttribute('rel', 'nofollow'); + a.setAttribute('aria-label', 'Show commit compare checkboxes'); + a.style.cssText = `border-top-left-radius: 0; + border-bottom-left-radius: 0;`; + a.appendChild(s); + a.appendChild(document.createElement("span")); + + const g = document.createElement('div'); + g.id = 'GitHubCommitCompareGroup'; + g.classList.add('float-right'); + g.appendChild(l); + g.appendChild(a); + + e.appendChild(g); + } + } + + function addCompareButtons() { + function updateCheckboxes() { + var compareAdisabled = true; + var compareBdisabled = false; + + const compares = document.querySelectorAll('.GitHubCommitCompareButtonAB'); + Array.from(compares).forEach(function (compare) { + var compareA = compare.querySelector('[name="GitHubCommitCompareButtonA"]'); + var compareB = compare.querySelector('[name="GitHubCommitCompareButtonB"]'); + + compareA.disabled = compareAdisabled; + compareA.parentNode.classList.toggle('disabled', compareAdisabled); + + if (compareA.checked) { + compareBdisabled = true; + } + if (compareB.checked) { + compareAdisabled = false; + } + + compareB.disabled = compareBdisabled; + compareB.parentNode.classList.toggle('disabled', compareBdisabled); + }); + + updateCompare(); + } + + function updateCompare() { + const compareA = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonA"]:checked'); + const hashA = compareA.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; + const compareB = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonB"]:checked'); + const hashB = compareB.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; + + const a = document.getElementById('GitHubCommitCompareButton'); + a.setAttribute('href', `https://github.com/greasemonkey/greasemonkey/compare/${hashA}...${hashB}`); + a.querySelector('span').textContent = ` ${hashA.substring(0, 7)}...${hashB.substring(0, 7)}`; + } + + const commits = document.querySelectorAll('.commits-list-item .commit-links-cell'); + Array.from(commits).forEach(function (item, index) { + const c1 = document.createElement('input'); + c1.name = 'GitHubCommitCompareButtonA'; + c1.type = 'radio'; + c1.addEventListener('change', updateCheckboxes); + if (index === 1) c1.checked = true; + + const l1 = document.createElement('label'); + l1.classList.add('btn', 'btn-outline', 'BtnGroup-item'/*, 'tooltipped', 'tooltipped-s'*/); + l1.setAttribute('aria-label', 'Choose a base commit'); + l1.appendChild(c1); + + const c2 = document.createElement('input'); + c2.name = 'GitHubCommitCompareButtonB'; + c2.type = 'radio'; + c2.addEventListener('change', updateCheckboxes); + if (index === 0) c2.checked = true; + + const l2 = document.createElement('label'); + l2.classList.add('btn', 'btn-outline', 'BtnGroup-item'/*, 'tooltipped', 'tooltipped-s'*/); + l2.setAttribute('aria-label', 'Choose a head commit'); + l2.appendChild(c2); + + const p3 = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + p3.setAttributeNS(null, + 'd', + 'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); + + const s3 = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + s3.classList.add('octicon', 'octicon-diff'); + s3.setAttributeNS(null, 'height', 16); + s3.setAttributeNS(null, 'width', 14); + s3.setAttributeNS(null, 'viewBox', '0 0 14 16'); + s3.appendChild(p3); + + const l3 = document.createElement('a'); + l3.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-sw'); + l3.setAttribute('aria-label', 'TODO'); + l3.appendChild(s3); + + const gg = document.createElement('div'); + gg.classList.add('GitHubCommitCompareButtonAB', 'commit-links-group', 'BtnGroup'); + gg.appendChild(l3); + gg.appendChild(l1); + gg.appendChild(l2); + + item.style.width = '350px'; + if (item.querySelector('.muted-link')) { // Insert after number of comments button. + item.insertBefore(gg, item.querySelector('.muted-link').nextSibling); + } else { + item.insertBefore(gg, item.firstChild); + } + }); + + updateCheckboxes(); // Init update checkboxes. + } + + // Init. + addButton(); + + // Pjax. + document.addEventListener('pjax:end', addButton); + +})() diff --git a/README.md b/README.md index 1e44696..cc5b032 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # [UserScripts](https://github.com/jerone/UserScripts) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jerone/UserScripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Awesome Userscripts](https://img.shields.io/badge/-mentioned_in_awesome_userscripts-CCA6C4.svg?colorA=CCA6C4&colorB=261120&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI%2BICAgIDxwYXRoIGZpbGw9IiMyNjExMjAiIGQ9Ik0xOS4xNCA0LjVMMTQuMjMgMGwtLjY5Ljc1IDQuMDkgMy43NUgxLjUxTDUuNi43NSA0LjkxIDAgMCA0LjV2Mi45N0MwIDguODEgMS4yOSA5LjkgMi44OCA5LjloMy4wM2MxLjU5IDAgMi44OC0xLjA5IDIuODgtMi40M1Y1LjUyaDEuNTd2MS45NWMwIDEuMzQgMS4yOSAyLjQzIDIuODggMi40M2gzLjAzYzEuNTkgMCAyLjg4LTEuMDkgMi44OC0yLjQzbC0uMDEtMi45N3oiLz48L3N2Zz4%3D)](https://github.com/brunocvcunha/awesome-userscripts#readme) ## Description From 9f2b35176d705631b2ce18bff001850a8cf35d2a Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Sep 2017 18:01:10 +0200 Subject: [PATCH 051/164] Restore buttons on navigation --- .../GitHub_Commit_Compare.user.js | 359 +++++++++--------- 1 file changed, 188 insertions(+), 171 deletions(-) diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index f34ad81..1862b27 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GitHub Commit Compare // @namespace https://github.com/jerone/UserScripts -// @description TODO +// @description Add controls to compare commits. // @author jerone // @copyright 2017+, jerone (http://jeroenvanwarmerdam.nl) // @license GNU GPLv3 @@ -23,178 +23,195 @@ (function () { function addButton() { - var e; - if ((e = document.querySelector('.file-navigation'))) { - - const r = e.querySelector('#GitHubCommitCompareGroup'); - if (r) { - r.parentElement.removeChild(r); - } - - const c = document.createElement('input'); - c.type = 'checkbox'; - c.addEventListener('change', function () { - var bb = document.querySelectorAll('.GitHubCommitCompareButtonAB'); - if (this.checked) { - if (bb.length === 0) { - addCompareButtons(); - } else { - Array.from(bb).forEach(function (b) { - b.style.display = ''; - }); - } - } else { - Array.from(bb).forEach(function(b) { - b.style.display = 'none'; - }); - } - }); - - const l = document.createElement('label'); - l.style.cssText = ` - float: left; - padding: 3px 10px; - font-size: 12px; - font-weight: 600; - line-height: 20px; - color: #24292e; - vertical-align: middle; - background-color: #fff; - border: 1px solid rgba(27,31,35,0.2); - border-right: 0; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - `; - l.setAttribute('aria-label', 'Show commit compare checkboxes'); - l.appendChild(c); - - const p = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - p.setAttributeNS(null, - 'd', - 'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); - - const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - s.classList.add('octicon', 'octicon-diff'); - s.setAttributeNS(null, 'height', 16); - s.setAttributeNS(null, 'width', 14); - s.setAttributeNS(null, 'viewBox', '0 0 14 16'); - s.appendChild(p); - - const a = document.createElement('a'); - a.id = 'GitHubCommitCompareButton'; - a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n'); - a.setAttribute('href', '#'); - a.setAttribute('rel', 'nofollow'); - a.setAttribute('aria-label', 'Show commit compare checkboxes'); - a.style.cssText = `border-top-left-radius: 0; - border-bottom-left-radius: 0;`; - a.appendChild(s); - a.appendChild(document.createElement("span")); - - const g = document.createElement('div'); - g.id = 'GitHubCommitCompareGroup'; - g.classList.add('float-right'); - g.appendChild(l); - g.appendChild(a); - - e.appendChild(g); - } + var nav; + if ((nav = document.querySelector('.file-navigation'))) { + + // Check if our group of buttons are already attached. + // Remove it, as the 'old' buttons don't have events anymore. + const e = document.getElementById('GitHubCommitCompareGroup'); + if (e) { + e.parentElement.removeChild(e); + } + Array.from(document.querySelectorAll('.GitHubCommitCompareButtonAB')).forEach(function (b) { + b.parentElement.removeChild(b); + }); + + const c = document.createElement('input'); + c.type = 'checkbox'; + c.addEventListener('change', + function () { + const bb = document.querySelectorAll('.GitHubCommitCompareButtonAB'); + if (this.checked) { + if (bb.length === 0) { + addCompareButtons(); + } else { + Array.from(bb).forEach(function (b) { + b.classList.remove('d-none'); + }); + } + } else { + Array.from(bb).forEach(function (b) { + b.classList.add('d-none'); + }); + } + const bbb = document.getElementById('GitHubCommitCompareButton'); + if (bbb) bbb.classList.remove('disabled'); + }); + + const l = document.createElement('label'); + l.classList.add('tooltipped', 'tooltipped-n'); + l.setAttribute('aria-label', 'Show commit compare buttons'); + l.style.cssText = ` + float: left; + padding: 3px 10px; + font-size: 12px; + font-weight: 600; + line-height: 20px; + color: #24292e; + vertical-align: middle; + background-color: #fff; + border: 1px solid rgba(27,31,35,0.2); + border-right: 0; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + `; + l.appendChild(c); + + const p = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + p.setAttributeNS(null, + 'd', + 'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); + + const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + s.classList.add('octicon', 'octicon-diff'); + s.setAttributeNS(null, 'height', 16); + s.setAttributeNS(null, 'width', 14); + s.setAttributeNS(null, 'viewBox', '0 0 14 16'); + s.appendChild(p); + + const a = document.createElement('a'); + a.id = 'GitHubCommitCompareButton'; + a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n', 'disabled'); + a.setAttribute('href', '#'); + a.setAttribute('rel', 'nofollow'); + a.setAttribute('aria-label', 'Compare these commits'); + a.style.cssText = ` + border-top-left-radius: 0; + border-bottom-left-radius: 0; + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + `; + a.appendChild(s); + a.appendChild(document.createElement("span")); + + const g = document.createElement('div'); + g.id = 'GitHubCommitCompareGroup'; + g.classList.add('float-right'); + g.appendChild(l); + g.appendChild(a); + + nav.appendChild(g); + } + } + + function updateRadioButtons() { + var compareAdisabled = true; + var compareBdisabled = false; + + const compares = document.querySelectorAll('.GitHubCommitCompareButtonAB'); + Array.from(compares).forEach(function (compare) { + const compareA = compare.querySelector('[name="GitHubCommitCompareButtonA"]'); + const compareB = compare.querySelector('[name="GitHubCommitCompareButtonB"]'); + + compareA.disabled = compareAdisabled; + compareA.parentNode.classList.toggle('disabled', compareAdisabled); + + if (compareA.checked) { + compareBdisabled = true; + } + if (compareB.checked) { + compareAdisabled = false; + } + + compareB.disabled = compareBdisabled; + compareB.parentNode.classList.toggle('disabled', compareBdisabled); + }); + + updateCompareButton(); + } + + function updateCompareButton() { + const repo = document.querySelector('meta[property="og:url"]').content; + + const compareA = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonA"]:checked'); + const hashA = compareA.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; + const compareB = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonB"]:checked'); + const hashB = compareB.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; + + const a = document.getElementById('GitHubCommitCompareButton'); + a.setAttribute('href', `${repo}/compare/${hashA}...${hashB}`); + a.querySelector('span').textContent = ` ${hashA.substring(0, 7)}...${hashB.substring(0, 7)}`; + + //localStorage.setItem('GitHubCommitCompareButtonHashA', hashA); + //localStorage.setItem('GitHubCommitCompareButtonHashB', hashB); } function addCompareButtons() { - function updateCheckboxes() { - var compareAdisabled = true; - var compareBdisabled = false; - - const compares = document.querySelectorAll('.GitHubCommitCompareButtonAB'); - Array.from(compares).forEach(function (compare) { - var compareA = compare.querySelector('[name="GitHubCommitCompareButtonA"]'); - var compareB = compare.querySelector('[name="GitHubCommitCompareButtonB"]'); - - compareA.disabled = compareAdisabled; - compareA.parentNode.classList.toggle('disabled', compareAdisabled); - - if (compareA.checked) { - compareBdisabled = true; - } - if (compareB.checked) { - compareAdisabled = false; - } - - compareB.disabled = compareBdisabled; - compareB.parentNode.classList.toggle('disabled', compareBdisabled); - }); - - updateCompare(); - } - - function updateCompare() { - const compareA = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonA"]:checked'); - const hashA = compareA.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; - const compareB = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonB"]:checked'); - const hashB = compareB.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; - - const a = document.getElementById('GitHubCommitCompareButton'); - a.setAttribute('href', `https://github.com/greasemonkey/greasemonkey/compare/${hashA}...${hashB}`); - a.querySelector('span').textContent = ` ${hashA.substring(0, 7)}...${hashB.substring(0, 7)}`; - } - - const commits = document.querySelectorAll('.commits-list-item .commit-links-cell'); - Array.from(commits).forEach(function (item, index) { - const c1 = document.createElement('input'); - c1.name = 'GitHubCommitCompareButtonA'; - c1.type = 'radio'; - c1.addEventListener('change', updateCheckboxes); - if (index === 1) c1.checked = true; - - const l1 = document.createElement('label'); - l1.classList.add('btn', 'btn-outline', 'BtnGroup-item'/*, 'tooltipped', 'tooltipped-s'*/); - l1.setAttribute('aria-label', 'Choose a base commit'); - l1.appendChild(c1); - - const c2 = document.createElement('input'); - c2.name = 'GitHubCommitCompareButtonB'; - c2.type = 'radio'; - c2.addEventListener('change', updateCheckboxes); - if (index === 0) c2.checked = true; - - const l2 = document.createElement('label'); - l2.classList.add('btn', 'btn-outline', 'BtnGroup-item'/*, 'tooltipped', 'tooltipped-s'*/); - l2.setAttribute('aria-label', 'Choose a head commit'); - l2.appendChild(c2); - - const p3 = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - p3.setAttributeNS(null, - 'd', - 'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); - - const s3 = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - s3.classList.add('octicon', 'octicon-diff'); - s3.setAttributeNS(null, 'height', 16); - s3.setAttributeNS(null, 'width', 14); - s3.setAttributeNS(null, 'viewBox', '0 0 14 16'); - s3.appendChild(p3); - - const l3 = document.createElement('a'); - l3.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-sw'); - l3.setAttribute('aria-label', 'TODO'); - l3.appendChild(s3); - - const gg = document.createElement('div'); - gg.classList.add('GitHubCommitCompareButtonAB', 'commit-links-group', 'BtnGroup'); - gg.appendChild(l3); - gg.appendChild(l1); - gg.appendChild(l2); - - item.style.width = '350px'; - if (item.querySelector('.muted-link')) { // Insert after number of comments button. - item.insertBefore(gg, item.querySelector('.muted-link').nextSibling); - } else { - item.insertBefore(gg, item.firstChild); - } - }); - - updateCheckboxes(); // Init update checkboxes. + const commits = document.querySelectorAll('.commits-list-item .commit-links-cell'); + Array.from(commits).forEach(function (item, index) { + const c1 = document.createElement('input'); + c1.name = 'GitHubCommitCompareButtonA'; + c1.type = 'radio'; + c1.addEventListener('change', updateRadioButtons); + if (index === 1) c1.checked = true; + + const l1 = document.createElement('label'); + l1.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-s'); + l1.setAttribute('aria-label', 'Choose a base commit'); + l1.appendChild(c1); + + const c2 = document.createElement('input'); + c2.name = 'GitHubCommitCompareButtonB'; + c2.type = 'radio'; + c2.addEventListener('change', updateRadioButtons); + if (index === 0) c2.checked = true; + + const l2 = document.createElement('label'); + l2.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-s'); + l2.setAttribute('aria-label', 'Choose a head commit'); + l2.appendChild(c2); + + // const p3 = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + // p3.setAttributeNS(null, + //'d', + //'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); + + // const s3 = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + // s3.classList.add('octicon', 'octicon-diff'); + // s3.setAttributeNS(null, 'height', 16); + // s3.setAttributeNS(null, 'width', 14); + // s3.setAttributeNS(null, 'viewBox', '0 0 14 16'); + // s3.appendChild(p3); + + // const l3 = document.createElement('a'); + // l3.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-sw'); + // l3.setAttribute('aria-label', 'TODO'); + // l3.appendChild(s3); + + const gg = document.createElement('div'); + gg.classList.add('GitHubCommitCompareButtonAB', 'commit-links-group', 'BtnGroup'); + gg.appendChild(l1); + gg.appendChild(l2); + //gg.appendChild(l3); + + //item.style.width = '350px'; + if (item.querySelector('.muted-link')) { // Insert after number of comments button. + item.insertBefore(gg, item.querySelector('.muted-link').nextSibling); + } else { + item.insertBefore(gg, item.firstChild); + } + }); + + updateRadioButtons(); // Update radio buttons. } // Init. @@ -203,4 +220,4 @@ // Pjax. document.addEventListener('pjax:end', addButton); -})() +})(); From 62eb9326e096a807a1297f2f37fae7c2b0fe2304 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Sep 2017 18:01:36 +0200 Subject: [PATCH 052/164] Add GitHub Commit Compare to repo readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc5b032..a888eae 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u - [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items. - [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit. - [Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit. +- [Github Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare#readme) - Add controls to compare commits. - [Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover. - [Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing. - [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable. From 417442ca34098851a2fa6af8f383b18421cee864 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Sep 2017 18:19:06 +0200 Subject: [PATCH 053/164] Copyright all resources --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a888eae..e61d236 100644 --- a/README.md +++ b/README.md @@ -59,4 +59,4 @@ Please review the [guidelines for contributing](https://github.com/jerone/UserSc ## License -All UserScripts in [this repository](https://github.com/jerone/UserScripts) are [licensed under GNU GPLv3](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) unless explicitly otherwise stated. +All UserScripts and other resources in [this repository](https://github.com/jerone/UserScripts) are [licensed under GNU GPLv3](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) unless explicitly otherwise stated. From 2b556c42e9b27be9607143c96f7ae62d27cdef84 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 27 Sep 2017 18:19:25 +0200 Subject: [PATCH 054/164] Add GitHub Commit Compare readme & screenshot --- GitHub_Commit_Compare/README.md | 24 ++++++++++++++++++++++++ GitHub_Commit_Compare/screenshot.jpg | Bin 0 -> 55354 bytes 2 files changed, 24 insertions(+) create mode 100644 GitHub_Commit_Compare/README.md create mode 100644 GitHub_Commit_Compare/screenshot.jpg diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md new file mode 100644 index 0000000..518486d --- /dev/null +++ b/GitHub_Commit_Compare/README.md @@ -0,0 +1,24 @@ +# [GitHub Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare) + +[![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js) +[![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js) +[![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) +[![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) + +## Description + +Add controls to compare commits. + +## Screenshot + +![GitHub Commit Compare screenshot](https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/screenshot.jpg) + +## Compatible + +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. + +## Version History + +* **0.0.1** + + * Initial version. diff --git a/GitHub_Commit_Compare/screenshot.jpg b/GitHub_Commit_Compare/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a82cd908ffe2518dd441f0321237b736f0be52b GIT binary patch literal 55354 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 Date: Sun, 1 Oct 2017 17:29:39 +0200 Subject: [PATCH 055/164] Fix URL generation with hash (Github Commit Whitespace) --- Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 4 ++-- Github_Commit_Whitespace/README.md | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index a4f07a6..b26b4b6 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -13,7 +13,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.com/fluidicon.png // @include https://github.com/* -// @version 1.5.2 +// @version 1.5.3 // @grant none // ==/UserScript== @@ -79,7 +79,7 @@ if (!on) { searches.push('w=1') } - return location.href.replace(location.search, '') + (searches.length > 0 ? '?' + searches.join('&') : '') + return location.href.replace(location.search, '').replace(location.hash, '') + (searches.length > 0 ? '?' + searches.join('&') : '') + location.hash; } // Init diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index 2f37a3e..bac1d1d 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -27,6 +27,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.5.3** + + * Fix URL generation with hash. + * **1.5.2** * Fixed issues after recent layout updates. @@ -93,6 +97,8 @@ Use cases: * (compare) +* (compare with hash) + ## External links * [Greasy Fork](https://greasyfork.org/scripts/467-github-commit-whitespace) From cf23fae7f81b3a330b081dee65149875552a7ed5 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Fri, 13 Oct 2017 22:46:42 +0200 Subject: [PATCH 056/164] :bug: Rewrite after site changes. Fixes #121 --- .../Github_News_Feed_Filter.user.js | 62 +++++++++++-------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index faf0e7a..ce219de 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -288,11 +288,13 @@ // Show/hide alerts. if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf('*'); }); })) { anyVisibleAlert = true; - Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { - alert.style.display = 'block'; + Array.prototype.forEach.call(newsContainer.querySelectorAll('.body'), function(alert) { + alert.parentNode.style.display = 'block'; }); } else { - Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + return alert.parentNode; + }).forEach(function(alert) { var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); anyVisibleAlert = show || anyVisibleAlert; alert.style.display = show ? 'block' : 'none'; @@ -322,11 +324,13 @@ // Fix filter action identification. function fixActionAlerts(newsContainer) { - Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { - if (!!~alert.querySelector('.title').textContent.indexOf('created branch')) { + Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + return alert.parentNode; + }).forEach(function(alert) { + if (!!~alert.textContent.indexOf('created branch')) { alert.classList.remove('create'); alert.classList.add('branch_create'); - } else if (!!~alert.querySelector('.title').textContent.indexOf('deleted branch')) { + } else if (!!~alert.textContent.indexOf('deleted branch')) { alert.classList.remove('delete'); alert.classList.add('branch_delete'); } else if (alert.getElementsByClassName('octicon-tag').length > 0 && !alert.classList.contains('release')) { @@ -341,20 +345,20 @@ alert.classList.add('pull_request_opened'); } else if (alert.classList.contains('issues_closed')) { alert.classList.remove('issues_closed'); - if (!!~alert.querySelector('.title').textContent.indexOf('merged pull request')) { + if (!!~alert.textContent.indexOf('merged pull request')) { alert.classList.add('pull_request_merged'); } else { alert.classList.add('pull_request_closed'); } } - } else if (alert.classList.contains('issues_comment') && alert.querySelectorAll('.title a')[1].href.split('/')[5] === 'pull') { + } else if (alert.classList.contains('issues_comment') && alert.querySelectorAll('[data-ga-click*="target"]')[1].href.split('/')[5] === 'pull') { alert.classList.remove('issues_comment'); alert.classList.add('pull_request_comment'); } else if (alert.classList.contains('gollum')) { alert.classList.remove('gollum'); - if (!!~alert.querySelector('.title').textContent.indexOf(' created the ')) { + if (!!~alert.textContent.indexOf(' created the ')) { alert.classList.add('wiki_created'); - } else if (!!~alert.querySelector('.title').textContent.indexOf(' edited the ')) { + } else if (!!~alert.textContent.indexOf(' edited a wiki page in ')) { alert.classList.add('wiki_edited'); } } else if (alert.classList.contains('gist')) { @@ -369,9 +373,10 @@ // Get unique list of repos. var userRepos = new Set(); - Array.prototype.forEach.call(newsContainer.querySelectorAll('.alert'), function(alert) { - var links = alert.querySelectorAll('.title a'); - var userRepo = links[links.length - 1].textContent.split('#')[0]; // Remove issue number from text. + Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + return alert.parentNode; + }).forEach(function(alert) { + var userRepo = alert.querySelector('[data-ga-click*="target:repo"]').textContent; userRepos.add(userRepo); var repo = userRepo.split('/')[1]; alert.classList.add(repo, userRepo); @@ -407,21 +412,22 @@ USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-person', classNames: ['*-user'] }]; var users = new Set(); - Array.prototype.forEach.call(newsContainer.querySelectorAll('.alert'), function (alert) { - var links = alert.querySelectorAll('.title a'); - var username = links[0].textContent; + Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + return alert.parentNode; + }).forEach(function(alert) { + var username = alert.querySelector('[data-ga-click*="target:actor"]').textContent; alert.classList.add(username); users.add(username); - // Add member too. - if (alert.classList.contains('member_add')) { - var member = links[1].textContent; - alert.classList.add(member); - users.add(member); - } + //// Add member too. + //if (alert.classList.contains('member_add')) { + // var member = links[1].textContent; + // alert.classList.add(member); + // users.add(member); + //} }); - [...users].sort(function (a, b) { + [...users].sort(function(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }).forEach(function(username) { var user = { id: username, text: username, icon: 'octicon-person', classNames: [username] }; @@ -443,7 +449,9 @@ } }); } - Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + return alert.parentNode; + }).forEach(function(alert) { var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); if (show) { countFiltered++; @@ -453,9 +461,11 @@ // Count alerts based on current filter. var countAll = 0; if (!!~li.filterClassNames[0].indexOf('*')) { - countAll = newsContainer.querySelectorAll('.alert').length; + countAll = newsContainer.querySelectorAll('.body').length; } else { - Array.forEach(newsContainer.querySelectorAll('.alert'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + return alert.parentNode; + }).forEach(function(alert) { if (li.filterClassNames.some(function(cl) { return alert.classList.contains(cl); })) { countAll++; } From b0b7380d975bb660e85ccd50ae0f664af715efb3 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 14:41:22 +0200 Subject: [PATCH 057/164] Removed issue and PR related news items. Per https://github.com/jerone/UserScripts/issues/121#issuecomment-336629514 --- .../Github_News_Feed_Filter.user.js | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index ce219de..47261e0 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -30,13 +30,7 @@ ICONS['octicon-git-branch-create'] = ICONS['octicon-git-branch']; ICONS['octicon-git-branch-delete'] = ICONS['octicon-git-branch']; ICONS['octicon-git-commit'] = 'M10.86 7c-0.45-1.72-2-3-3.86-3s-3.41 1.28-3.86 3H0v2h3.14c0.45 1.72 2 3 3.86 3s3.41-1.28 3.86-3h3.14V7H10.86zM7 10.2c-1.22 0-2.2-0.98-2.2-2.2s0.98-2.2 2.2-2.2 2.2 0.98 2.2 2.2-0.98 2.2-2.2 2.2z'; - ICONS['octicon-git-merge'] = 'M10 7c-0.73 0-1.38 0.41-1.73 1.02v-0.02c-1.05-0.02-2.27-0.36-3.13-1.02-0.75-0.58-1.5-1.61-1.89-2.44 0.45-0.36 0.75-0.92 0.75-1.55 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V7.67c0.67 0.7 1.44 1.27 2.3 1.69s2.03 0.63 2.97 0.64v-0.02c0.36 0.61 1 1.02 1.73 1.02 1.11 0 2-0.89 2-2s-0.89-2-2-2zM3.2 13c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m8 6c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; - ICONS['octicon-git-pull-request'] = 'M11 11.28c0-1.73 0-6.28 0-6.28-0.03-0.78-0.34-1.47-0.94-2.06s-1.28-0.91-2.06-0.94c0 0-1.02 0-1 0V0L4 3l3 3V4h1c0.27 0.02 0.48 0.11 0.69 0.31s0.3 0.42 0.31 0.69v6.28c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72z m-1 2.92c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2zM4 3c0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72 0 1.55 0 5.56 0 6.56-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V4.72c0.59-0.34 1-0.98 1-1.72z m-0.8 10c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; - ICONS['octicon-git-pull-request-abandoned'] = ICONS['octicon-git-pull-request']; ICONS['octicon-home'] = 'M16 9L13 6V2H11v2L8 1 0 9h2l1 5c0 0.55 0.45 1 1 1h8c0.55 0 1-0.45 1-1l1-5h2zM12 14H9V10H7v4H4l-1.19-6.31 5.19-5.19 5.19 5.19-1.19 6.31z'; - ICONS['octicon-issue-closed'] = 'M7 10h2v2H7V10z m2-6H7v5h2V4z m1.5 1.5l-1 1 2.5 2.5 4-4.5-1-1-3 3.5-1.5-1.5zM8 13.7c-3.14 0-5.7-2.56-5.7-5.7s2.56-5.7 5.7-5.7c1.83 0 3.45 0.88 4.5 2.2l0.92-0.92C12.14 2 10.19 1 8 1 4.14 1 1 4.14 1 8s3.14 7 7 7 7-3.14 7-7l-1.52 1.52c-0.66 2.41-2.86 4.19-5.48 4.19z'; - ICONS['octicon-issue-opened'] = 'M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z'; - ICONS['octicon-issue-reopened'] = 'M8 9H6V4h2v5zM6 12h2V10H6v2z m6.33-2H10l1.5 1.5c-1.05 1.33-2.67 2.2-4.5 2.2-3.14 0-5.7-2.56-5.7-5.7 0-0.34 0.03-0.67 0.09-1H0.08c-0.05 0.33-0.08 0.66-0.08 1 0 3.86 3.14 7 7 7 2.19 0 4.13-1.02 5.41-2.59l1.59 1.59V10H12.33zM1.67 6h2.33l-1.5-1.5c1.05-1.33 2.67-2.2 4.5-2.2 3.14 0 5.7 2.56 5.7 5.7 0 0.34-0.03 0.67-0.09 1h1.31c0.05-0.33 0.08-0.66 0.08-1 0-3.86-3.14-7-7-7-2.19 0-4.13 1.02-5.41 2.59L0 2v4h1.67z'; ICONS['octicon-person'] = 'M7 6H1c-0.55 0-1 0.45-1 1v5h2v3c0 0.55 0.45 1 1 1h2c0.55 0 1-0.45 1-1V12h2V7c0-0.55-0.45-1-1-1z m0 5h-1V9h-1v6H3V9h-1v2H1V7h6v4z m0-8C7 1.34 5.66 0 4 0S1 1.34 1 3s1.34 3 3 3 3-1.34 3-3zM4 5c-1.11 0-2-0.89-2-2S2.89 1 4 1s2 0.89 2 2-0.89 2-2 2z'; ICONS['octicon-person-add'] = ICONS['octicon-person']; ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5v2z'; @@ -56,28 +50,12 @@ var ACTIONS = [ { id: '*-action', text: 'All news feed', icon: 'octicon-radio-tower', classNames: ['*-action'] }, - { - id: 'issues', text: 'Issues', icon: 'octicon-issue-opened', classNames: ['issues_opened', 'issues_closed', 'issues_reopened', 'issues_comment'], subFilters: [ - { id: 'issues opened', text: 'Opened', icon: 'octicon-issue-opened', classNames: ['issues_opened'] }, - { id: 'issues closed', text: 'Closed', icon: 'octicon-issue-closed', classNames: ['issues_closed'] }, - { id: 'issues reopened', text: 'Reopened', icon: 'octicon-issue-reopened', classNames: ['issues_reopened'] }, - { id: 'issues comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['issues_comment'] } - ] - }, { id: 'commits', text: 'Commits', icon: 'octicon-git-commit', classNames: ['push', 'commit_comment'], subFilters: [ { id: 'commits pushed', text: 'Pushed', icon: 'octicon-git-commit', classNames: ['push'] }, { id: 'commits comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['commit_comment'] } ] }, - { - id: 'pr', text: 'Pull Requests', icon: 'octicon-git-pull-request', classNames: ['pull_request_opened', 'pull_request_closed', 'pull_request_merged', 'pull_request_comment'], subFilters: [ - { id: 'pr opened', text: 'Opened', icon: 'octicon-git-pull-request', classNames: ['pull_request_opened'] }, - { id: 'pr closed', text: 'Closed', icon: 'octicon-git-pull-request-abandoned', classNames: ['pull_request_closed'] }, - { id: 'pr merged', text: 'Merged', icon: 'octicon-git-merge', classNames: ['pull_request_merged'] }, - { id: 'pr comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['pull_request_comment'] } - ] - }, { id: 'repo', text: 'Repo', icon: 'octicon-repo', classNames: ['create', 'public', 'fork', 'branch_create', 'branch_delete', 'tag_add', 'tag_remove', 'release', 'delete'], subFilters: [ { id: 'repo created', text: 'Created', icon: 'octicon-repo-create', classNames: ['create'] }, @@ -339,21 +317,6 @@ } else if (alert.getElementsByClassName('octicon-tag-remove').length > 0) { alert.classList.remove('delete'); alert.classList.add('tag_remove'); - } else if (alert.getElementsByClassName('octicon-git-pull-request').length > 0) { - if (alert.classList.contains('issues_opened')) { - alert.classList.remove('issues_opened'); - alert.classList.add('pull_request_opened'); - } else if (alert.classList.contains('issues_closed')) { - alert.classList.remove('issues_closed'); - if (!!~alert.textContent.indexOf('merged pull request')) { - alert.classList.add('pull_request_merged'); - } else { - alert.classList.add('pull_request_closed'); - } - } - } else if (alert.classList.contains('issues_comment') && alert.querySelectorAll('[data-ga-click*="target"]')[1].href.split('/')[5] === 'pull') { - alert.classList.remove('issues_comment'); - alert.classList.add('pull_request_comment'); } else if (alert.classList.contains('gollum')) { alert.classList.remove('gollum'); if (!!~alert.textContent.indexOf(' created the ')) { From b28b9b475f63cc81d78a61972f75a5228e351369 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 14:42:35 +0200 Subject: [PATCH 058/164] Removed gist related news items --- .../Github_News_Feed_Filter.user.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 47261e0..4956368 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -24,8 +24,6 @@ var ICONS = {}; ICONS['octicon-book'] = 'M2 5h4v1H2v-1z m0 3h4v-1H2v1z m0 2h4v-1H2v1z m11-5H9v1h4v-1z m0 2H9v1h4v-1z m0 2H9v1h4v-1z m2-6v9c0 0.55-0.45 1-1 1H8.5l-1 1-1-1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h5.5l1 1 1-1h5.5c0.55 0 1 0.45 1 1z m-8 0.5l-0.5-0.5H1v9h6V3.5z m7-0.5H8.5l-0.5 0.5v8.5h6V3z'; ICONS['octicon-comment-discussion'] = 'M15 2H6c-0.55 0-1 0.45-1 1v2H1c-0.55 0-1 0.45-1 1v6c0 0.55 0.45 1 1 1h1v3l3-3h4c0.55 0 1-0.45 1-1V10h1l3 3V10h1c0.55 0 1-0.45 1-1V3c0-0.55-0.45-1-1-1zM9 12H4.5l-1.5 1.5v-1.5H1V6h4v3c0 0.55 0.45 1 1 1h3v2z m6-3H13v1.5l-1.5-1.5H6V3h9v6z'; - ICONS['octicon-gist'] = 'M7.5 5l2.5 2.5-2.5 2.5-0.75-0.75 1.75-1.75-1.75-1.75 0.75-0.75z m-3 0L2 7.5l2.5 2.5 0.75-0.75-1.75-1.75 1.75-1.75-0.75-0.75zM0 13V2c0-0.55 0.45-1 1-1h10c0.55 0 1 0.45 1 1v11c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1z m1 0h10V2H1v11z'; - ICONS['octicon-gist-new'] = ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5v2z'; ICONS['octicon-git-branch'] = 'M10 5c0-1.11-0.89-2-2-2s-2 0.89-2 2c0 0.73 0.41 1.38 1 1.72v0.3c-0.02 0.52-0.23 0.98-0.63 1.38s-0.86 0.61-1.38 0.63c-0.83 0.02-1.48 0.16-2 0.45V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.53-0.2-1-0.53-1.36 0.09-0.06 0.48-0.41 0.59-0.47 0.25-0.11 0.56-0.17 0.94-0.17 1.05-0.05 1.95-0.45 2.75-1.25s1.2-1.98 1.25-3.02h-0.02c0.61-0.36 1.02-1 1.02-1.73zM2 1.8c0.66 0 1.2 0.55 1.2 1.2s-0.55 1.2-1.2 1.2-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2z m0 12.41c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m6-8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; ICONS['octicon-git-branch-create'] = ICONS['octicon-git-branch']; ICONS['octicon-git-branch-delete'] = ICONS['octicon-git-branch']; @@ -88,12 +86,6 @@ { id: 'wiki created', text: 'Created', icon: 'octicon-plus', classNames: ['wiki_created'] }, { id: 'wiki edited', text: 'Edited', icon: 'octicon-book', classNames: ['wiki_edited'] } ] - }, - { - id: 'gist', text: 'Gist', icon: 'octicon-gist', classNames: ['gist_created', 'gist_updated'], subFilters: [ - { id: 'gist created', text: 'Created', icon: 'octicon-gist-new', classNames: ['gist_created'] }, - { id: 'gist updated', text: 'Updated', icon: 'octicon-gist', classNames: ['gist_updated'] } - ] } ]; @@ -324,9 +316,6 @@ } else if (!!~alert.textContent.indexOf(' edited a wiki page in ')) { alert.classList.add('wiki_edited'); } - } else if (alert.classList.contains('gist')) { - alert.classList.remove('gist'); - alert.classList.add('gist_' + alert.querySelector('.title span').textContent); } }); } From 803d37426a66f69f66a19f7f86dbbb692ac39f43 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 14:48:23 +0200 Subject: [PATCH 059/164] Replace member news items with just starred --- .../Github_News_Feed_Filter.user.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 4956368..c1ff190 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -30,7 +30,6 @@ ICONS['octicon-git-commit'] = 'M10.86 7c-0.45-1.72-2-3-3.86-3s-3.41 1.28-3.86 3H0v2h3.14c0.45 1.72 2 3 3.86 3s3.41-1.28 3.86-3h3.14V7H10.86zM7 10.2c-1.22 0-2.2-0.98-2.2-2.2s0.98-2.2 2.2-2.2 2.2 0.98 2.2 2.2-0.98 2.2-2.2 2.2z'; ICONS['octicon-home'] = 'M16 9L13 6V2H11v2L8 1 0 9h2l1 5c0 0.55 0.45 1 1 1h8c0.55 0 1-0.45 1-1l1-5h2zM12 14H9V10H7v4H4l-1.19-6.31 5.19-5.19 5.19 5.19-1.19 6.31z'; ICONS['octicon-person'] = 'M7 6H1c-0.55 0-1 0.45-1 1v5h2v3c0 0.55 0.45 1 1 1h2c0.55 0 1-0.45 1-1V12h2V7c0-0.55-0.45-1-1-1z m0 5h-1V9h-1v6H3V9h-1v2H1V7h6v4z m0-8C7 1.34 5.66 0 4 0S1 1.34 1 3s1.34 3 3 3 3-1.34 3-3zM4 5c-1.11 0-2-0.89-2-2S2.89 1 4 1s2 0.89 2 2-0.89 2-2 2z'; - ICONS['octicon-person-add'] = ICONS['octicon-person']; ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5v2z'; ICONS['octicon-radio-tower'] = 'M4.79 6.11c0.25-0.25 0.25-0.67 0-0.92-0.32-0.33-0.48-0.76-0.48-1.19 0-0.43 0.16-0.86 0.48-1.19 0.25-0.26 0.25-0.67 0-0.92-0.12-0.13-0.29-0.19-0.45-0.19-0.16 0-0.33 0.06-0.45 0.19-0.57 0.58-0.85 1.35-0.85 2.11 0 0.76 0.29 1.53 0.85 2.11C4.14 6.36 4.55 6.36 4.79 6.11zM2.33 0.52c-0.13-0.13-0.29-0.19-0.46-0.19-0.16 0-0.33 0.06-0.46 0.19C0.48 1.48 0.01 2.74 0.01 3.99 0.01 5.25 0.48 6.51 1.41 7.47c0.25 0.26 0.66 0.26 0.91 0 0.25-0.26 0.25-0.68 0-0.94-0.68-0.7-1.02-1.62-1.02-2.54s0.34-1.84 1.02-2.54C2.58 1.2 2.58 0.78 2.33 0.52zM8.02 5.62c0.9 0 1.62-0.73 1.62-1.62 0-0.9-0.73-1.62-1.62-1.62-0.9 0-1.62 0.73-1.62 1.62C6.39 4.89 7.12 5.62 8.02 5.62zM14.59 0.53c-0.25-0.26-0.66-0.26-0.91 0-0.25 0.26-0.25 0.68 0 0.94 0.68 0.7 1.02 1.62 1.02 2.54 0 0.92-0.34 1.83-1.02 2.54-0.25 0.26-0.25 0.68 0 0.94 0.13 0.13 0.29 0.19 0.46 0.19 0.16 0 0.33-0.06 0.46-0.19 0.93-0.96 1.4-2.22 1.4-3.48C15.99 2.75 15.52 1.49 14.59 0.53zM8.02 6.92L8.02 6.92c-0.41 0-0.83-0.1-1.2-0.3L3.67 14.99h1.49l0.86-1h4l0.84 1h1.49L9.21 6.62C8.83 6.82 8.43 6.92 8.02 6.92zM8.01 7.4L9.02 11H7.02L8.01 7.4zM6.02 12.99l1-1h2l1 1H6.02zM11.21 1.89c-0.25 0.25-0.25 0.67 0 0.92 0.32 0.33 0.48 0.76 0.48 1.19 0 0.43-0.16 0.86-0.48 1.19-0.25 0.26-0.25 0.67 0 0.92 0.12 0.13 0.29 0.19 0.45 0.19 0.16 0 0.32-0.06 0.45-0.19 0.57-0.58 0.85-1.35 0.85-2.11 0-0.76-0.28-1.53-0.85-2.11C11.86 1.64 11.45 1.64 11.21 1.89z'; ICONS['octicon-repo'] = 'M4 9h-1v-1h1v1z m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z'; @@ -75,12 +74,7 @@ } ] }, - { - id: 'user', text: 'User', icon: 'octicon-person', classNames: ['watch_started', 'member_add', 'team_add'], subFilters: [ - { id: 'user starred', text: 'Starred', icon: 'octicon-star', classNames: ['watch_started'] }, - { id: 'user added', text: 'Member added', icon: 'octicon-person-add', classNames: ['member_add', 'team_add'] } - ] - }, + { id: 'starred', text: 'Starred', icon: 'octicon-star', classNames: ['watch_started'] }, { id: 'wiki', text: 'Wiki', icon: 'octicon-book', classNames: ['wiki_created', 'wiki_edited'], subFilters: [ { id: 'wiki created', text: 'Created', icon: 'octicon-plus', classNames: ['wiki_created'] }, @@ -370,13 +364,6 @@ var username = alert.querySelector('[data-ga-click*="target:actor"]').textContent; alert.classList.add(username); users.add(username); - - //// Add member too. - //if (alert.classList.contains('member_add')) { - // var member = links[1].textContent; - // alert.classList.add(member); - // users.add(member); - //} }); [...users].sort(function(a, b) { From f37b6469009a777ad230e96d5d9642243ee6f903 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 15:10:09 +0200 Subject: [PATCH 060/164] Updated octicons --- .../Github_News_Feed_Filter.user.js | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index c1ff190..256129f 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -22,28 +22,28 @@ (function() { var ICONS = {}; - ICONS['octicon-book'] = 'M2 5h4v1H2v-1z m0 3h4v-1H2v1z m0 2h4v-1H2v1z m11-5H9v1h4v-1z m0 2H9v1h4v-1z m0 2H9v1h4v-1z m2-6v9c0 0.55-0.45 1-1 1H8.5l-1 1-1-1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h5.5l1 1 1-1h5.5c0.55 0 1 0.45 1 1z m-8 0.5l-0.5-0.5H1v9h6V3.5z m7-0.5H8.5l-0.5 0.5v8.5h6V3z'; - ICONS['octicon-comment-discussion'] = 'M15 2H6c-0.55 0-1 0.45-1 1v2H1c-0.55 0-1 0.45-1 1v6c0 0.55 0.45 1 1 1h1v3l3-3h4c0.55 0 1-0.45 1-1V10h1l3 3V10h1c0.55 0 1-0.45 1-1V3c0-0.55-0.45-1-1-1zM9 12H4.5l-1.5 1.5v-1.5H1V6h4v3c0 0.55 0.45 1 1 1h3v2z m6-3H13v1.5l-1.5-1.5H6V3h9v6z'; - ICONS['octicon-git-branch'] = 'M10 5c0-1.11-0.89-2-2-2s-2 0.89-2 2c0 0.73 0.41 1.38 1 1.72v0.3c-0.02 0.52-0.23 0.98-0.63 1.38s-0.86 0.61-1.38 0.63c-0.83 0.02-1.48 0.16-2 0.45V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v6.56C0.41 11.63 0 12.27 0 13c0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.53-0.2-1-0.53-1.36 0.09-0.06 0.48-0.41 0.59-0.47 0.25-0.11 0.56-0.17 0.94-0.17 1.05-0.05 1.95-0.45 2.75-1.25s1.2-1.98 1.25-3.02h-0.02c0.61-0.36 1.02-1 1.02-1.73zM2 1.8c0.66 0 1.2 0.55 1.2 1.2s-0.55 1.2-1.2 1.2-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2z m0 12.41c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m6-8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; + ICONS['octicon-book'] = 'M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z'; + ICONS['octicon-comment-discussion'] = 'M15 1H6c-.55 0-1 .45-1 1v2H1c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h1v3l3-3h4c.55 0 1-.45 1-1V9h1l3 3V9h1c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zM9 11H4.5L3 12.5V11H1V5h4v3c0 .55.45 1 1 1h3v2zm6-3h-2v1.5L11.5 8H6V2h9v6z'; + ICONS['octicon-git-branch'] = 'M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'; ICONS['octicon-git-branch-create'] = ICONS['octicon-git-branch']; ICONS['octicon-git-branch-delete'] = ICONS['octicon-git-branch']; - ICONS['octicon-git-commit'] = 'M10.86 7c-0.45-1.72-2-3-3.86-3s-3.41 1.28-3.86 3H0v2h3.14c0.45 1.72 2 3 3.86 3s3.41-1.28 3.86-3h3.14V7H10.86zM7 10.2c-1.22 0-2.2-0.98-2.2-2.2s0.98-2.2 2.2-2.2 2.2 0.98 2.2 2.2-0.98 2.2-2.2 2.2z'; - ICONS['octicon-home'] = 'M16 9L13 6V2H11v2L8 1 0 9h2l1 5c0 0.55 0.45 1 1 1h8c0.55 0 1-0.45 1-1l1-5h2zM12 14H9V10H7v4H4l-1.19-6.31 5.19-5.19 5.19 5.19-1.19 6.31z'; - ICONS['octicon-person'] = 'M7 6H1c-0.55 0-1 0.45-1 1v5h2v3c0 0.55 0.45 1 1 1h2c0.55 0 1-0.45 1-1V12h2V7c0-0.55-0.45-1-1-1z m0 5h-1V9h-1v6H3V9h-1v2H1V7h6v4z m0-8C7 1.34 5.66 0 4 0S1 1.34 1 3s1.34 3 3 3 3-1.34 3-3zM4 5c-1.11 0-2-0.89-2-2S2.89 1 4 1s2 0.89 2 2-0.89 2-2 2z'; - ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5v2z'; - ICONS['octicon-radio-tower'] = 'M4.79 6.11c0.25-0.25 0.25-0.67 0-0.92-0.32-0.33-0.48-0.76-0.48-1.19 0-0.43 0.16-0.86 0.48-1.19 0.25-0.26 0.25-0.67 0-0.92-0.12-0.13-0.29-0.19-0.45-0.19-0.16 0-0.33 0.06-0.45 0.19-0.57 0.58-0.85 1.35-0.85 2.11 0 0.76 0.29 1.53 0.85 2.11C4.14 6.36 4.55 6.36 4.79 6.11zM2.33 0.52c-0.13-0.13-0.29-0.19-0.46-0.19-0.16 0-0.33 0.06-0.46 0.19C0.48 1.48 0.01 2.74 0.01 3.99 0.01 5.25 0.48 6.51 1.41 7.47c0.25 0.26 0.66 0.26 0.91 0 0.25-0.26 0.25-0.68 0-0.94-0.68-0.7-1.02-1.62-1.02-2.54s0.34-1.84 1.02-2.54C2.58 1.2 2.58 0.78 2.33 0.52zM8.02 5.62c0.9 0 1.62-0.73 1.62-1.62 0-0.9-0.73-1.62-1.62-1.62-0.9 0-1.62 0.73-1.62 1.62C6.39 4.89 7.12 5.62 8.02 5.62zM14.59 0.53c-0.25-0.26-0.66-0.26-0.91 0-0.25 0.26-0.25 0.68 0 0.94 0.68 0.7 1.02 1.62 1.02 2.54 0 0.92-0.34 1.83-1.02 2.54-0.25 0.26-0.25 0.68 0 0.94 0.13 0.13 0.29 0.19 0.46 0.19 0.16 0 0.33-0.06 0.46-0.19 0.93-0.96 1.4-2.22 1.4-3.48C15.99 2.75 15.52 1.49 14.59 0.53zM8.02 6.92L8.02 6.92c-0.41 0-0.83-0.1-1.2-0.3L3.67 14.99h1.49l0.86-1h4l0.84 1h1.49L9.21 6.62C8.83 6.82 8.43 6.92 8.02 6.92zM8.01 7.4L9.02 11H7.02L8.01 7.4zM6.02 12.99l1-1h2l1 1H6.02zM11.21 1.89c-0.25 0.25-0.25 0.67 0 0.92 0.32 0.33 0.48 0.76 0.48 1.19 0 0.43-0.16 0.86-0.48 1.19-0.25 0.26-0.25 0.67 0 0.92 0.12 0.13 0.29 0.19 0.45 0.19 0.16 0 0.32-0.06 0.45-0.19 0.57-0.58 0.85-1.35 0.85-2.11 0-0.76-0.28-1.53-0.85-2.11C11.86 1.64 11.45 1.64 11.21 1.89z'; - ICONS['octicon-repo'] = 'M4 9h-1v-1h1v1z m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z'; - ICONS['octicon-repo-clone'] = 'M15 0H9v7c0 0.55 0.45 1 1 1h1v1h1v-1h3c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1zM11 7h-1v-1h1v1z m4 0H12v-1h3v1z m0-2H11V1h4v4z m-11 0h-1v-1h1v1z m0-2h-1v-1h1v1zM2 1h6V0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h2v2l1.5-1.5 1.5 1.5V14h5c0.55 0 1-0.45 1-1V10H2V1z m9 10v2H6v-1H3v1H1V11h10zM3 8h1v1h-1v-1z m1-1h-1v-1h1v1z'; + ICONS['octicon-git-commit'] = 'M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z'; + ICONS['octicon-home'] = 'M16 9l-3-3V2h-2v2L8 1 0 9h2l1 5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1l1-5h2zm-4 5H9v-4H7v4H4L2.81 7.69 8 2.5l5.19 5.19L12 14z'; + ICONS['octicon-person'] = 'M12 14.002a.998.998 0 0 1-.998.998H1.001A1 1 0 0 1 0 13.999V13c0-2.633 4-4 4-4s.229-.409 0-1c-.841-.62-.944-1.59-1-4 .173-2.413 1.867-3 3-3s2.827.586 3 3c-.056 2.41-.159 3.38-1 4-.229.59 0 1 0 1s4 1.367 4 4v1.002z'; + ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5z'; + ICONS['octicon-radio-tower'] = 'M4.79 6.11c.25-.25.25-.67 0-.92-.32-.33-.48-.76-.48-1.19 0-.43.16-.86.48-1.19.25-.26.25-.67 0-.92a.613.613 0 0 0-.45-.19c-.16 0-.33.06-.45.19-.57.58-.85 1.35-.85 2.11 0 .76.29 1.53.85 2.11.25.25.66.25.9 0zM2.33.52a.651.651 0 0 0-.92 0C.48 1.48.01 2.74.01 3.99c0 1.26.47 2.52 1.4 3.48.25.26.66.26.91 0s.25-.68 0-.94c-.68-.7-1.02-1.62-1.02-2.54 0-.92.34-1.84 1.02-2.54a.66.66 0 0 0 .01-.93zm5.69 5.1A1.62 1.62 0 1 0 6.4 4c-.01.89.72 1.62 1.62 1.62zM14.59.53a.628.628 0 0 0-.91 0c-.25.26-.25.68 0 .94.68.7 1.02 1.62 1.02 2.54 0 .92-.34 1.83-1.02 2.54-.25.26-.25.68 0 .94a.651.651 0 0 0 .92 0c.93-.96 1.4-2.22 1.4-3.48A5.048 5.048 0 0 0 14.59.53zM8.02 6.92c-.41 0-.83-.1-1.2-.3l-3.15 8.37h1.49l.86-1h4l.84 1h1.49L9.21 6.62c-.38.2-.78.3-1.19.3zm-.01.48L9.02 11h-2l.99-3.6zm-1.99 5.59l1-1h2l1 1h-4zm5.19-11.1c-.25.25-.25.67 0 .92.32.33.48.76.48 1.19 0 .43-.16.86-.48 1.19-.25.26-.25.67 0 .92a.63.63 0 0 0 .9 0c.57-.58.85-1.35.85-2.11 0-.76-.28-1.53-.85-2.11a.634.634 0 0 0-.9 0z'; + ICONS['octicon-repo'] = 'M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z'; + ICONS['octicon-repo-clone'] = 'M15 0H9v7c0 .55.45 1 1 1h1v1h1V8h3c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1zm-4 7h-1V6h1v1zm4 0h-3V6h3v1zm0-2h-4V1h4v4zM4 5H3V4h1v1zm0-2H3V2h1v1zM2 1h6V0H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h2v2l1.5-1.5L6 16v-2h5c.55 0 1-.45 1-1v-3H2V1zm9 10v2H6v-1H3v1H1v-2h10zM3 8h1v1H3V8zm1-1H3V6h1v1z'; ICONS['octicon-repo-create'] = ICONS['octicon-plus']; - ICONS['octicon-repo-push'] = 'M4 3h-1v-1h1v1z m-1 2h1v-1h-1v1z m4 0L4 9h2v7h2V9h2L7 5zM11 0H1C0.45 0 0 0.45 0 1v12c0 0.55 0.45 1 1 1h4v-1H1V11h4v-1H2V1h9.02l-0.02 9H9v1h2v2H9v1h2c0.55 0 1-0.45 1-1V1c0-0.55-0.45-1-1-1z'; - ICONS['octicon-repo-forked'] = 'M8 1c-1.11 0-2 0.89-2 2 0 0.73 0.41 1.38 1 1.72v1.28L5 8 3 6v-1.28c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v1.78l3 3v1.78c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V9.5l3-3V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2zM2 4.2c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3 10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3-10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z'; + ICONS['octicon-repo-push'] = 'M4 3H3V2h1v1zM3 5h1V4H3v1zm4 0L4 9h2v7h2V9h2L7 5zm4-5H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h4v-1H1v-2h4v-1H2V1h9.02L11 10H9v1h2v2H9v1h2c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1z'; + ICONS['octicon-repo-forked'] = 'M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'; ICONS['octicon-repo-delete'] = ICONS['octicon-repo']; - ICONS['octicon-repo-pull'] = 'M13 8V6H7V4h6V2l3 3-3 3zM4 2h-1v1h1v-1z m7 5h1v6c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1v2h-1V1H2v9h9V7z m0 4H1v2h2v-1h3v1h5V11zM4 6h-1v1h1v-1z m0-2h-1v1h1v-1z m-1 5h1v-1h-1v1z'; - ICONS['octicon-star'] = 'M14 6l-4.9-0.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14l4.33-2.33 4.33 2.33L10.4 9.26 14 6z'; - ICONS['octicon-tag'] = 'M6.73 2.73c-0.47-0.47-1.11-0.73-1.77-0.73H2.5C1.13 2 0 3.13 0 4.5v2.47c0 0.66 0.27 1.3 0.73 1.77l6.06 6.06c0.39 0.39 1.02 0.39 1.41 0l4.59-4.59c0.39-0.39 0.39-1.02 0-1.41L6.73 2.73zM1.38 8.09c-0.31-0.3-0.47-0.7-0.47-1.13V4.5c0-0.88 0.72-1.59 1.59-1.59h2.47c0.42 0 0.83 0.16 1.13 0.47l6.14 6.13-4.73 4.73L1.38 8.09z m0.63-4.09h2v2H2V4z'; + ICONS['octicon-repo-pull'] = 'M13 8V6H7V4h6V2l3 3-3 3zM4 2H3v1h1V2zm7 5h1v6c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v2h-1V1H2v9h9V7zm0 4H1v2h2v-1h3v1h5v-2zM4 6H3v1h1V6zm0-2H3v1h1V4zM3 9h1V8H3v1z'; + ICONS['octicon-star'] = 'M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z'; + ICONS['octicon-tag'] = 'M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z'; ICONS['octicon-tag-add'] = ICONS['octicon-tag']; ICONS['octicon-tag-remove'] = ICONS['octicon-tag']; - ICONS['octicon-triangle-left'] = 'M6 2L0 8l6 6V2z'; + ICONS['octicon-triangle-left'] = 'M6 2L0 8l6 6z'; var ACTIONS = [ { id: '*-action', text: 'All news feed', icon: 'octicon-radio-tower', classNames: ['*-action'] }, From e748d9919c30d0c6f647cf668b9f27485ba0a8b8 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 15:13:03 +0200 Subject: [PATCH 061/164] Use organization icon for all users selection --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 256129f..5aa729d 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -30,6 +30,7 @@ ICONS['octicon-git-commit'] = 'M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z'; ICONS['octicon-home'] = 'M16 9l-3-3V2h-2v2L8 1 0 9h2l1 5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1l1-5h2zm-4 5H9v-4H7v4H4L2.81 7.69 8 2.5l5.19 5.19L12 14z'; ICONS['octicon-person'] = 'M12 14.002a.998.998 0 0 1-.998.998H1.001A1 1 0 0 1 0 13.999V13c0-2.633 4-4 4-4s.229-.409 0-1c-.841-.62-.944-1.59-1-4 .173-2.413 1.867-3 3-3s2.827.586 3 3c-.056 2.41-.159 3.38-1 4-.229.59 0 1 0 1s4 1.367 4 4v1.002z'; + ICONS['octicon-organization'] = 'M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4'; ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5z'; ICONS['octicon-radio-tower'] = 'M4.79 6.11c.25-.25.25-.67 0-.92-.32-.33-.48-.76-.48-1.19 0-.43.16-.86.48-1.19.25-.26.25-.67 0-.92a.613.613 0 0 0-.45-.19c-.16 0-.33.06-.45.19-.57.58-.85 1.35-.85 2.11 0 .76.29 1.53.85 2.11.25.25.66.25.9 0zM2.33.52a.651.651 0 0 0-.92 0C.48 1.48.01 2.74.01 3.99c0 1.26.47 2.52 1.4 3.48.25.26.66.26.91 0s.25-.68 0-.94c-.68-.7-1.02-1.62-1.02-2.54 0-.92.34-1.84 1.02-2.54a.66.66 0 0 0 .01-.93zm5.69 5.1A1.62 1.62 0 1 0 6.4 4c-.01.89.72 1.62 1.62 1.62zM14.59.53a.628.628 0 0 0-.91 0c-.25.26-.25.68 0 .94.68.7 1.02 1.62 1.02 2.54 0 .92-.34 1.83-1.02 2.54-.25.26-.25.68 0 .94a.651.651 0 0 0 .92 0c.93-.96 1.4-2.22 1.4-3.48A5.048 5.048 0 0 0 14.59.53zM8.02 6.92c-.41 0-.83-.1-1.2-.3l-3.15 8.37h1.49l.86-1h4l.84 1h1.49L9.21 6.62c-.38.2-.78.3-1.19.3zm-.01.48L9.02 11h-2l.99-3.6zm-1.99 5.59l1-1h2l1 1h-4zm5.19-11.1c-.25.25-.25.67 0 .92.32.33.48.76.48 1.19 0 .43-.16.86-.48 1.19-.25.26-.25.67 0 .92a.63.63 0 0 0 .9 0c.57-.58.85-1.35.85-2.11 0-.76-.28-1.53-.85-2.11a.634.634 0 0 0-.9 0z'; ICONS['octicon-repo'] = 'M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z'; @@ -355,7 +356,7 @@ } // Fix filter user identification. function fixUserAlerts(newsContainer) { - USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-person', classNames: ['*-user'] }]; + USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-organization', classNames: ['*-user'] }]; var users = new Set(); Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { From fd68a727b8667e0e1628e305949bdbc7d945c101 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 15:28:54 +0200 Subject: [PATCH 062/164] Fixed no-alert message dom position --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 5aa729d..b2d6834 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -274,7 +274,7 @@ none = document.createElement('div'); none.classList.add('no-alerts', 'protip'); none.appendChild(document.createTextNode('No feed items for this filter. Please select another filter.')); - newsContainer.insertBefore(none, newsContainer.firstElementChild.nextElementSibling); + newsContainer.insertBefore(none, newsContainer.querySelector('.tabnav').nextElementSibling); } } From bb36b8f44a138d1ac51039f633f4162b13dda7b6 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 14 Oct 2017 17:55:13 +0200 Subject: [PATCH 063/164] =?UTF-8?q?=F0=9F=8E=AC=20New=20version=20of=20Git?= =?UTF-8?q?hub=20News=20Feed=20Filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Github_News_Feed_Filter.user.js | 2 +- Github_News_Feed_Filter/README.md | 30 +++++-------------- 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index b2d6834..8520149 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -15,7 +15,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 7.2.0 +// @version 8.0.0 // @grant none // ==/UserScript== diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 5b77a37..544a625 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -15,25 +15,11 @@ Currently integrated filters: * **Actions** - * Issues - - * Opened - * Closed - * Reopened - * Comments - * Commits * Pushed * Comments - * Pull Requests - - * Opened - * Closed - * Merged - * Comments - * Repo * Created @@ -56,21 +42,13 @@ Currently integrated filters: * Added * Removed - * User - - * Starred - * Member added + * Starred * Wiki * Created * Edited - * Gist - - * Created - * Updated - * **Repositories** * _Variable on the repos currently in your news list._ @@ -89,6 +67,12 @@ Currently integrated filters: ## Version History +* **8.0.0** + + * Fixed issues after GitHub site update ([#121](https://github.com/jerone/UserScripts/issues/121)). + + GitHub completely redesigned the news feed and removed the issue, PR, member adding and gist related news items. + * **7.2.0** * ✨ Filter by user. From fe09d1e5df87fc573d4d49e21eae09d5389c4874 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 29 Nov 2017 21:37:59 +0100 Subject: [PATCH 064/164] Mention https://github.com/Mottie/GitHub-userscripts --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e61d236..d264259 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u - [Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available. - [Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript. - ~~[Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github.~~ (deprecated) +- For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme). ### Twitter From c06d850a55345597017ce436464f2cfba749eea5 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 29 Nov 2017 21:51:05 +0100 Subject: [PATCH 065/164] Update Awesome badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d264259..e2cf652 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # [UserScripts](https://github.com/jerone/UserScripts) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jerone/UserScripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -[![Awesome Userscripts](https://img.shields.io/badge/-mentioned_in_awesome_userscripts-CCA6C4.svg?colorA=CCA6C4&colorB=261120&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI%2BICAgIDxwYXRoIGZpbGw9IiMyNjExMjAiIGQ9Ik0xOS4xNCA0LjVMMTQuMjMgMGwtLjY5Ljc1IDQuMDkgMy43NUgxLjUxTDUuNi43NSA0LjkxIDAgMCA0LjV2Mi45N0MwIDguODEgMS4yOSA5LjkgMi44OCA5LjloMy4wM2MxLjU5IDAgMi44OC0xLjA5IDIuODgtMi40M1Y1LjUyaDEuNTd2MS45NWMwIDEuMzQgMS4yOSAyLjQzIDIuODggMi40M2gzLjAzYzEuNTkgMCAyLjg4LTEuMDkgMi44OC0yLjQzbC0uMDEtMi45N3oiLz48L3N2Zz4%3D)](https://github.com/brunocvcunha/awesome-userscripts#readme) +[![Mentioned in Awesome Userscripts](https://awesome.re/mentioned-badge.svg)](https://github.com/brunocvcunha/awesome-userscripts#readme) ## Description From c2d70d35219b39704634eff4784782e1e382de9e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 13:50:33 +0100 Subject: [PATCH 066/164] Fixed issues after GitHub site update --- Github_Image_Viewer/Github_Image_Viewer.user.js | 7 ++++--- Github_Image_Viewer/README.md | 16 +++++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 9005036..14e1014 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -12,7 +12,8 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.4.0 +// @version 0.4.1 +// @icon https://github.com/fluidicon.png // @grant none // @run-at document-end // @include https://github.com/* @@ -100,8 +101,8 @@ Attach: function() { document.getElementById("js-repo-pjax-container").addEventListener("mousemove", function(e) { var target = e.target; - if (target.classList && target.classList.contains("js-directory-link") - && GithubImageViewer._imageRegex.test(target.href)) { + if (target.classList && target.classList.contains("js-navigation-open") && + GithubImageViewer._imageRegex.test(target.href)) { if (target.getAttribute("title")) { target.dataset.title = target.getAttribute("title"); diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index 4d7a37a..b9bbf9a 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -34,18 +34,20 @@ Supported file extensions are: ## Version History +* **0.4.1** + * Fixed issues after GitHub site update. * **0.4.0** - * Added Bitmap `.bmp` support (closes https://github.com/jerone/UserScripts/issues/82); - * Detect upper-case extensions (fixes https://github.com/jerone/UserScripts/issues/82); - * Images should now have a name, temping to exclude folder named as image extensions (fixes https://github.com/jerone/UserScripts/issues/82); + * Added Bitmap `.bmp` support (closes https://github.com/jerone/UserScripts/issues/82). + * Detect upper-case extensions (fixes https://github.com/jerone/UserScripts/issues/82). + * Images should now have a name, temping to exclude folder named as image extensions (fixes https://github.com/jerone/UserScripts/issues/82). * **0.3.0** - * Removed tooltips; + * Removed tooltips. * **0.2.0** - * Fixed hiding preview on some conditions (fixes https://github.com/jerone/UserScripts/issues/31); + * Fixed hiding preview on some conditions (fixes https://github.com/jerone/UserScripts/issues/31). * **0.1.1** - * Small z-index fix; + * Small z-index fix. * **0.1.0** - * Initial version; + * Initial version. ## Notes From 5ce688df14543e61107fdbedca1374b95af96084 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 14:06:05 +0100 Subject: [PATCH 067/164] Officially I won't support Greasemonkey anymore; only Tampermonkey --- CONTRIBUTING.md | 4 ++-- GitHub_Commit_Compare/README.md | 2 +- Github_Commit_Diff/README.md | 4 ++-- Github_Commit_Whitespace/README.md | 2 +- Github_Image_Viewer/README.md | 2 +- Github_JSON_Dependencies_Linker/README.md | 2 +- Github_News_Feed_Filter/README.md | 2 +- Github_Pages_Linker/README.md | 2 +- Github_Pull_Request_From/README.md | 4 ++-- Github_Reply_Comments/README.md | 2 +- Github_User_Info/README.md | 2 +- _resources/TEMPLATE.md | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 85e8671..0b32fbd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,12 +9,12 @@ When reporting an issue include the script name in the title and follow the temp > **Script**: `{name}` `{version}`
> **Browser**: `{name}` `{version}`
-> **Addon** (e.g. Greasemonkey): `{name}` `{version}`
+> **Addon** (e.g. Tampermonkey): `{name}` `{version}`
> **Error Message**: `{message}`
> **Screenshot**: `{drag&drop}`
> **Description**: `{description}`
-**Or click [here](https://github.com/jerone/UserScripts/issues/new?title=%28{script%20name}%29%20{summary}&body=**Script**%3A%20{name}%20{version}%0A**Browser**%3A%20{name}%20{version}%0A**Addon**%20%28e.g.%20Greasemonkey%29%3A%20{name}%20{version}%0A**Error%20Message**%3A%20%60{message}%60%0A**Screenshot**%3A%20{drag%26drop}%0A**Description**%3A%20{description}) to open a new issue.** +**Or click [here](https://github.com/jerone/UserScripts/issues/new?title=%28{script%20name}%29%20{summary}&body=**Script**%3A%20{name}%20{version}%0A**Browser**%3A%20{name}%20{version}%0A**Addon**%20%28e.g.%20Tampermonkey%29%3A%20{name}%20{version}%0A**Error%20Message**%3A%20%60{message}%60%0A**Screenshot**%3A%20{drag%26drop}%0A**Description**%3A%20{description}) to open a new issue.** ## Bug fixes diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md index 518486d..1216688 100644 --- a/GitHub_Commit_Compare/README.md +++ b/GitHub_Commit_Compare/README.md @@ -15,7 +15,7 @@ Add controls to compare commits. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 192d2b6..cf8d015 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -1,4 +1,4 @@ -# [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff) +# [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Commit_Diff/Github_Commit_Diff.user.js) @@ -17,7 +17,7 @@ This works on commits, pull requests and compare pages. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index bac1d1d..0c3acbf 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -23,7 +23,7 @@ This works on commits, pull requests and compare pages. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index b9bbf9a..b436950 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -29,7 +29,7 @@ Supported file extensions are: ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index deac598..8e3e5c9 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -33,7 +33,7 @@ In the JSON file it will search for the following dependency keys: ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 544a625..2c25901 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -63,7 +63,7 @@ Currently integrated filters: ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index bcf92dd..ad289ef 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -15,7 +15,7 @@ Add a link to Github Pages (gh-pages) when available. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 296ade9..532af8e 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -1,4 +1,4 @@ -# [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From) +# [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js) @@ -18,7 +18,7 @@ Make pull request branches linkable. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla [Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla [Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 97f7988..6c26845 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -16,7 +16,7 @@ reply button on an comment. ## Compatible -![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 566e88f..1ce250f 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -18,7 +18,7 @@ Show user/organization information on avatar hover. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/_resources/TEMPLATE.md b/_resources/TEMPLATE.md index 5a0ab1e..c8c3b2a 100644 --- a/_resources/TEMPLATE.md +++ b/_resources/TEMPLATE.md @@ -18,7 +18,7 @@ Lorum ipsum ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History From 84f70077055900b9bcb7f4b916c1e59ed7a49621 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 14:06:26 +0100 Subject: [PATCH 068/164] Grammar --- April_Fools_CSS/README.md | 2 +- Github_Pages_Linker/README.md | 2 +- Github_User_Info/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/April_Fools_CSS/README.md b/April_Fools_CSS/README.md index bd51ffc..53c625a 100644 --- a/April_Fools_CSS/README.md +++ b/April_Fools_CSS/README.md @@ -8,7 +8,7 @@ ## Description -Some CSS april fools +Some CSS April fools ## Compatible diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index ad289ef..cd13c72 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -7,7 +7,7 @@ ## Description -Add a link to Github Pages (gh-pages) when available. +Add a link to GitHub Pages (gh-pages) when available. ## Screenshot diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 1ce250f..36bcf6b 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -72,7 +72,7 @@ Use cases: * (User) * (API user) -* (Organisation with admin users) +* (Organization with admin users) * (Read your API limit) * (API Documentation) From c0d5620f653ca62f62f4d68b697388a43268a9de Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 14:16:24 +0100 Subject: [PATCH 069/164] Improved GCE deprecation message --- Github_Comment_Enhancer/README.md | 139 +----------------------------- 1 file changed, 1 insertion(+), 138 deletions(-) diff --git a/Github_Comment_Enhancer/README.md b/Github_Comment_Enhancer/README.md index ab92267..2cbd3c8 100644 --- a/Github_Comment_Enhancer/README.md +++ b/Github_Comment_Enhancer/README.md @@ -1,6 +1,5 @@ # [Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer) (deprecated) -[![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js) [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) @@ -8,7 +7,7 @@ ## Notice -THIS USERSCRIPT IS SADLY DEPRECATED. +*THIS USERSCRIPT IS SADLY **DEPRECATED***. Most of this UserScript functionality has been [implemented by GitHub](https://github.com/blog/2097-improved-commenting-with-markdown). The *reply*-feature that GitHub didn't implement, has been moved to it's own UserScript: [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme). ## Description @@ -49,139 +48,3 @@ Every comment field also got a toolbar, consisting of the following buttons: ## Screenshot ![Github Comment Enhancer Screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/screenshot.jpg) - - -## Compatible - -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - - -## Version History - -* **2.9.0** - * Fixed GitHub changes (fixes https://github.com/jerone/UserScripts/issues/98); -* **2.8.3** - * Fixed erroring on non-editor pages (fixes https://github.com/jerone/UserScripts/issues/95); -* **2.8.2** - * Fix working on contact page (fixes https://github.com/jerone/UserScripts/issues/91); -* **2.8.1** - * Emoji menu overlaps text (fixes https://github.com/jerone/UserScripts/issues/92); -* **2.8.0** - * Reverted commit 9bf8974 to fix the toolbar on the wiki. - * Included fix for enabling and disabling buttons per language on wiki. - * Also fixes non-working italic button (fixes #83). - * Added clear button back to wiki. - * Moved help button to the right. - * Only execute action when button is not disabled. - * :sparkles: Added dialog when inserting link or image. - * Homepage is now link to userscript readme. -* **2.7.0** - * Fixed Github's name completion (fixes https://github.com/jerone/UserScripts/issues/81); - * Restored using enter key on dropdown menus. - * Fixed emoji text. -* **2.6.0** - * Fixes wrong button styles in gists (fixes https://github.com/jerone/UserScripts/issues/78); - * Fixed modals showing below other elements; - * Added extra button with complete list of all code syntax (closes https://github.com/jerone/UserScripts/issues/18); -* **2.5.1** - * Fixed showing list of all emoji (fixes https://github.com/jerone/UserScripts/issues/75); -* **2.5.0** - * Fixed not running everywhere (fixes https://github.com/jerone/UserScripts/issues/66); - * Better clear button icon; - * Fixed comment form header on inline comments; -* **2.4.1** - * Fixed a small bug with cached suggestions for emoji when returning to an issue/PR; -* **2.4.0** - * Keyboard shortcuts (fixes https://github.com/jerone/UserScripts/issues/19); -* **2.3.0** - * Added emoji's (fixes https://github.com/jerone/UserScripts/issues/37); - * Added underline button; - * Added option to choose the character that precedes the list; - * Added option to choose the characters that makes up a horizontal line; - * Fixed running on GitHub Gists and inline comments on commits (fixes https://github.com/jerone/UserScripts/issues/43); - * Fixed linking @users on GitHub Gists (fixes https://github.com/jerone/UserScripts/issues/13); - * Reply in correct inline commit comment textarea (fixes https://github.com/jerone/UserScripts/issues/14); - * Searching snippets improved; - * Improve table code; - * Added missing tooltips; - * Corrected dependency message; -* **2.2.0** - * Fixed issues after recent layout updates (fixes https://github.com/jerone/UserScripts/issues/43); - * Added support for GFM task lists in replies (fixes https://github.com/jerone/UserScripts/issues/35); -* **2.1.0** - * Added tab character as a snippet (thnx to [r-a-y](https://github.com/r-a-y), fixes https://github.com/jerone/UserScripts/issues/41); - * Updated toMarkdown for replies; -* **2.0.3** - * Fixed reply button style issue after recent layout update; - * Fix ordered list with multi-line (fixes https://github.com/jerone/UserScripts/issues/20); - * Small style fix with bold button in Chrome; -* **2.0.2** - * Fix multiple reply buttons when navigating back; - * Added native & TamperMonkey for Google Chrome compatibility (fixes https://github.com/jerone/UserScripts/issues/11); -* **2.0.1** - * Small bug fix with reply after another layout update from Github; -* **2.0** - * Fixed issues after recent layout updates (https://github.com/blog/1866-the-new-github-issues); - * Fixed pjax for new issues & PR listing pages; - * Added reply buttons (using [to-markdown](https://github.com/domchristie/to-markdown) to convert to Markdown); -* **1.6** - * Removed floating arrow (fixes https://github.com/jerone/UserScripts/issues/7); - * Fixed history back; - * Fixed buttons on Github Gist; - * Fixed inline comments; -* **1.5** - * Added pinned contributing message; - * Added tooltips for all buttons; -* **1.4** - * Included on [Github Gist](https://gist.github.com); - * Fixed issue with missing trailing space when selected; - * Added snippets (only useragent atm); - * Added clear button; -* **1.3** - * Navigation logic implemented; - * Inline comment logic implemented; - * Included on Wiki pages; - * Fixed warnings by JSHint; -* **1.2** - * Added simple table logic; - * Added headers 4 'til 6; - * Combined headers in one button; - * Reordered buttons; - * Added Task Lists https://help.github.com/articles/writing-on-github#task-lists - * Added fenced code blocks; - * Clean up; -* **1.1.1** - * Fixed space being not part of selection again; -* **1.1** - * Fixed space being not part of selection; - * Added new line when needed; -* **1.0** - * Initial version; - - -## Test cases - -* https://github.com/jerone/UserScripts/issues/new (new issue) -* https://github.com/jerone/UserScripts/issues/1 (new comment & edit comment) -* https://github.com/jerone/UserScripts/commit/master (comments below & inline comments) -* https://github.com/jerone/UserScripts/wiki/_new (new wiki) -* https://github.com/jerone/bootstrap-material-design/pull/new/feature/sass (new PR) -* https://gist.github.com/jerone/9526258 (new comment & edit comment) -* https://github.com/contact (new message without suggester) - - -## Dependencies - -* Part of [domchristie](https://github.com/domchristie)'s library [**to-markdown**](https://github.com/domchristie/to-markdown) is used. - - -## Contributors - -* [tophf](https://github.com/tophf) -* [r-a-y](https://github.com/r-a-y) - - -## External links - -* [Greasy Fork](https://greasyfork.org/scripts/493-github-comment-enhancer) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Comment_Enhancer) From 0d5af1d12180d2340ec30f9795ad2c486e35cf1c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 18:28:47 +0000 Subject: [PATCH 070/164] GPL-3.0 --- April_Fools_CSS/April_Fools_CSS.user.js | 2 +- Dakar_Extender/208433.user.js | 2 +- Darts_Data_Enhancer/Darts_Data_Enhancer.user.js | 2 +- .../GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js | 2 +- GitHub_Commit_Compare/GitHub_Commit_Compare.user.js | 2 +- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 2 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 2 +- Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 2 +- Github_Gist_Share/157850.user.js | 2 +- Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- .../Github_JSON_Dependencies_Linker.user.js | 2 +- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- Github_Pages_Linker/Github_Pages_Linker.user.js | 2 +- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_User_Info/Github_User_Info.user.js | 2 +- Horizon_TV_Fixer/155147.user.js | 2 +- Marktplaats_Exchanger/Marktplaats_Exchanger.user.js | 2 +- Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js | 2 +- Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js | 2 +- README.md | 2 +- .../Twitter_profile_replies_hider.user.js | 2 +- .../Twitter_profile_retweets_hider.user.js | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 68bd63a..5abe29e 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -4,7 +4,7 @@ // @author jerone // @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @include * diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index 81c92a2..dc6a508 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -4,7 +4,7 @@ // @namespace http://userscripts.org/scripts/show/208433 // @version 2 // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @grant none // @require http://code.jquery.com/jquery-2.0.3.min.js // @icon https://lh6.googleusercontent.com/-pKPBVGEVXk0/UsXXxo0S9JI/AAAAAAAACp0/0N_pV4AqDMY/s512-no/Icon_Dakar2+%25281%2529.png diff --git a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js index fcd36be..00ea4d0 100644 --- a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +++ b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js @@ -5,7 +5,7 @@ // @description Enhances Darts Data // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme // @homepageURL https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme // @downloadURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index 907f15e..dc9962f 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -4,7 +4,7 @@ // @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer // @homepageURL https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer // @downloadURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index 1862b27..c256424 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -4,7 +4,7 @@ // @description Add controls to compare commits. // @author jerone // @copyright 2017+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare // @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare // @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 344e189..36abec0 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -5,7 +5,7 @@ // @description Enhances Github comments // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 3ab354a..bfd3888 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -4,7 +4,7 @@ // @description Adds button to show diff (or patch) file for commit // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index b26b4b6..4d16549 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -4,7 +4,7 @@ // @description Adds button to hide whitespaces from commit // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 1eef466..6e1e93d 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -4,7 +4,7 @@ // @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 14e1014..51fd9bb 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -5,7 +5,7 @@ // @description Preview images from within the listing. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 54171ca..3e94a6d 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -5,7 +5,7 @@ // @description Linkify all dependencies found in an JSON file. // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 8520149..e66271a 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -4,7 +4,7 @@ // @description Add filters for GitHub homepage news feed items // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 424672b..41f5940 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -5,7 +5,7 @@ // @description Add a link to Github Pages (gh-pages) when available. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index a7c8792..77d6b03 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -4,7 +4,7 @@ // @description Make pull request branches linkable // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 1a0b489..9fa522d 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -4,7 +4,7 @@ // @description Easy reply to Github comments // @author jerone // @copyright 2016+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index c75350b..c74d371 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -5,7 +5,7 @@ // @description Show inline user information on avatar hover. // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_User_Info // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 8d1039e..8bf99cb 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -4,7 +4,7 @@ // @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer // @homepageURL https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer // @downloadURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index d796565..7e0e8de 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -5,7 +5,7 @@ // @description Exchange Marktplaats.nl // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme // @homepageURL https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme // @downloadURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 0be1ee6..ff9f507 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -5,7 +5,7 @@ // @description Easy login with multiple Microsoft accounts. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs // @homepageURL https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs // @downloadURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js diff --git a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js index b27a3b3..2bf5ead 100644 --- a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +++ b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js @@ -4,7 +4,7 @@ // @description Redirect back to login page when signing out from Outlook // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login // @homepageURL https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login // @downloadURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js diff --git a/README.md b/README.md index e2cf652..7372114 100644 --- a/README.md +++ b/README.md @@ -60,4 +60,4 @@ Please review the [guidelines for contributing](https://github.com/jerone/UserSc ## License -All UserScripts and other resources in [this repository](https://github.com/jerone/UserScripts) are [licensed under GNU GPLv3](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) unless explicitly otherwise stated. +All UserScripts and other resources in [this repository](https://github.com/jerone/UserScripts) are [licensed under GPL-3.0](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) unless explicitly otherwise stated. diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 05e5638..52fda48 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -4,7 +4,7 @@ // @description Hide replies on Twitter profiles // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account // @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account // @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index 8f346d6..a4b8aa9 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -4,7 +4,7 @@ // @description Hide retweets on Twitter profiles // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GNU GPLv3 +// @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account // @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account // @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js From 0c7286f4bdfd39287a224b9d076eeaf7b40da253 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 18:32:39 +0000 Subject: [PATCH 071/164] GitHub svg icon --- GitHub_Commit_Compare/GitHub_Commit_Compare.user.js | 2 +- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 2 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 2 +- Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 2 +- Github_Gist_Share/157850.user.js | 2 +- Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- Github_Pages_Linker/Github_Pages_Linker.user.js | 2 +- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_User_Info/Github_User_Info.user.js | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index c256424..e453f91 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @include https://github.com/*/*/commits // @include https://github.com/*/*/commits/* // @exclude https://github.com/*/*.diff diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 36abec0..159ea91 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -13,7 +13,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 2.9.0 -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @run-at document-end // @include https://github.com/* diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index bfd3888..d6261c8 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @include https://github.com/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 4d16549..2cbc3de 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @include https://github.com/* // @version 1.5.3 // @grant none diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 6e1e93d..740d5ce 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @include *://gist.github.com/* // @version 5.0 // @grant none diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 51fd9bb..4d9abd3 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -13,7 +13,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 0.4.1 -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @run-at document-end // @include https://github.com/* diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index e66271a..3c9feb5 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -10,7 +10,7 @@ // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @include https://github.com/ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 41f5940..f54af11 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @version 1.2.2 // @grant none // @run-at document-end diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 77d6b03..72cf761 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @version 19 // @grant none // @include https://github.com/*/* diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 9fa522d..20d73b5 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 0.1.0 -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @include https://github.com/* // @include https://gist.github.com/* diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index c74d371..d9bbe5d 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.com/fluidicon.png +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @version 0.4.0 // @grant GM_xmlhttpRequest // @grant GM_setValue From 16ab7cb57c9c23f61b58240bb2c52a9c2f7ab2f8 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 27 Jan 2018 18:48:23 +0000 Subject: [PATCH 072/164] Fixes --- April_Fools_CSS/README.md | 2 +- GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md | 2 +- Github_Gist_Share/README.md | 2 +- .../Github_JSON_Dependencies_Linker.user.js | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/April_Fools_CSS/README.md b/April_Fools_CSS/README.md index 53c625a..51d44d5 100644 --- a/April_Fools_CSS/README.md +++ b/April_Fools_CSS/README.md @@ -13,7 +13,7 @@ Some CSS April fools ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md index 6d7b4c0..ce9581d 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md @@ -27,7 +27,7 @@ Currently supported sites: ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index adf4f8b..f62c860 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -24,7 +24,7 @@ Share your [GitHub Gist](https://gist.github.com) to: ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 3e94a6d..100bf7a 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -13,6 +13,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 0.3.1 +// @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant GM_xmlhttpRequest // @run-at document-end // @include https://github.com/*/package.json From 3ea1382429d4df89c9d98d631fa5cb509351db73 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 1 Feb 2018 22:37:20 +0100 Subject: [PATCH 073/164] Ignore repo detection on follow alerts --- .../Github_News_Feed_Filter.user.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 3c9feb5..055d62c 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -323,10 +323,13 @@ Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var userRepo = alert.querySelector('[data-ga-click*="target:repo"]').textContent; - userRepos.add(userRepo); - var repo = userRepo.split('/')[1]; - alert.classList.add(repo, userRepo); + var alertRepo = alert.querySelector('[data-ga-click*="target:repo"]'); + if (alertRepo) { // Follow doesn't contain a repo link. + var userRepo = alertRepo.textContent; + userRepos.add(userRepo); + var repo = userRepo.split('/')[1]; + alert.classList.add(repo, userRepo); + } }); // Get list of user repos (forks) per repo names. From 12403991c1e063f7e12095350c3216c8f30ea2f1 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 1 Feb 2018 22:37:41 +0100 Subject: [PATCH 074/164] Add follow alerts --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 055d62c..e68c35d 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -75,6 +75,7 @@ } ] }, + { id: 'user', text: 'User', icon: 'octicon-person', classNames: ['follow'] }, { id: 'starred', text: 'Starred', icon: 'octicon-star', classNames: ['watch_started'] }, { id: 'wiki', text: 'Wiki', icon: 'octicon-book', classNames: ['wiki_created', 'wiki_edited'], subFilters: [ From f59e98c41e6ebf2089d42a4fd84fab1e834b9821 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 1 Feb 2018 22:42:53 +0100 Subject: [PATCH 075/164] =?UTF-8?q?=F0=9F=8E=AC=20New=20version=20GitHub?= =?UTF-8?q?=20News=20Feed=20Filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- Github_News_Feed_Filter/README.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index e68c35d..787df57 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -15,7 +15,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.0.0 +// @version 8.1.0 // @grant none // ==/UserScript== diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 2c25901..72559f0 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -42,6 +42,8 @@ Currently integrated filters: * Added * Removed + * Follow + * Starred * Wiki @@ -67,6 +69,11 @@ Currently integrated filters: ## Version History +* **8.1.0** + + * 🐛 Ignore repo detection on follow alerts. + * ✨ Filter by follow action. + * **8.0.0** * Fixed issues after GitHub site update ([#121](https://github.com/jerone/UserScripts/issues/121)). From aeee8f32e5e82711bb4d0676412d11a91e268449 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 11 Feb 2018 14:28:56 +0100 Subject: [PATCH 076/164] Add external links --- Github_Reply_Comments/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 6c26845..a7f40d5 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -44,5 +44,5 @@ reply button on an comment. ## External links -* ~~[Greasy Fork](https://greasyfork.org/scripts/xxx-github-reply-comments)~~ -* ~~[OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Reply_Comments)~~ +* [Greasy Fork](https://greasyfork.org/en/scripts/38372-github-reply-comments) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Reply_Comments) From 68e6b33608a3b44ed2d16c57ab19d60179ad1692 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 9 May 2018 23:25:03 +0200 Subject: [PATCH 077/164] Fix reply button for reviews. Fixes #125 --- .../Github_Reply_Comments.user.js | 553 +++++++++--------- Github_Reply_Comments/README.md | 4 + 2 files changed, 282 insertions(+), 275 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 20d73b5..ef67a17 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -20,280 +20,283 @@ (function() { - String.format = function(string) { - var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { - return typeof args[number] !== "undefined" ? args[number] : match; - }); - }; - - /* - * to-markdown - an HTML to Markdown converter - * Copyright 2011, Dom Christie - * Licenced under the MIT licence - * Source: https://github.com/domchristie/to-markdown - * - * Code is altered: - * - Added task list support: https://github.com/domchristie/to-markdown/pull/62 - * - He dependecy is removed - */ - var toMarkdown = function(string) { - - var ELEMENTS = [{ - patterns: 'p', - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '\n\n' + innerHTML + '\n' : ''; - } - }, { - patterns: 'br', - type: 'void', - replacement: ' \n' - }, { - patterns: 'h([1-6])', - replacement: function(str, hLevel, attrs, innerHTML) { - var hPrefix = ''; - for (var i = 0; i < hLevel; i++) { - hPrefix += '#'; - } - return '\n\n' + hPrefix + ' ' + innerHTML + '\n'; - } - }, { - patterns: 'hr', - type: 'void', - replacement: '\n\n* * *\n' - }, { - patterns: 'a', - replacement: function(str, attrs, innerHTML) { - var href = attrs.match(attrRegExp('href')), - title = attrs.match(attrRegExp('title')); - return href ? '[' + innerHTML + ']' + '(' + href[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : str; - } - }, { - patterns: ['b', 'strong'], - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '**' + innerHTML + '**' : ''; - } - }, { - patterns: ['i', 'em'], - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '_' + innerHTML + '_' : ''; - } - }, { - patterns: 'code', - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '`' + innerHTML + '`' : ''; - } - }, { - patterns: 'img', - type: 'void', - replacement: function(str, attrs) { - var src = attrs.match(attrRegExp('src')), - alt = attrs.match(attrRegExp('alt')), - title = attrs.match(attrRegExp('title')); - return src ? '![' + (alt && alt[1] ? alt[1] : '') + ']' + '(' + src[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : ''; - } - }]; - - for (var i = 0, len = ELEMENTS.length; i < len; i++) { - if (typeof ELEMENTS[i].patterns === 'string') { - string = replaceEls(string, { - tag: ELEMENTS[i].patterns, - replacement: ELEMENTS[i].replacement, - type: ELEMENTS[i].type - }); - } else { - for (var j = 0, pLen = ELEMENTS[i].patterns.length; j < pLen; j++) { - string = replaceEls(string, { - tag: ELEMENTS[i].patterns[j], - replacement: ELEMENTS[i].replacement, - type: ELEMENTS[i].type - }); - } - } - } - - function replaceEls(html, elProperties) { - var pattern = elProperties.type === 'void' ? '<' + elProperties.tag + '\\b([^>]*)\\/?>' : '<' + elProperties.tag + '\\b([^>]*)>([\\s\\S]*?)<\\/' + elProperties.tag + '>', - regex = new RegExp(pattern, 'gi'), - markdown = ''; - if (typeof elProperties.replacement === 'string') { - markdown = html.replace(regex, elProperties.replacement); - } else { - markdown = html.replace(regex, function(str, p1, p2, p3) { - return elProperties.replacement.call(this, str, p1, p2, p3); - }); - } - return markdown; - } - - function attrRegExp(attr) { - return new RegExp(attr + '\\s*=\\s*["\']?([^"\']*)["\']?', 'i'); - } - - // Pre code blocks - - string = string.replace(/]*>`([\s\S]*?)`<\/pre>/gi, function(str, innerHTML) { - var text = innerHTML; - text = text.replace(/^\t+/g, ' '); // convert tabs to spaces (you know it makes sense) - text = text.replace(/\n/g, '\n '); - return '\n\n ' + text + '\n'; - }); - - // Lists - - // Escape numbers that could trigger an ol - // If there are more than three spaces before the code, it would be in a pre tag - // Make sure we are escaping the period not matching any character - string = string.replace(/^(\s{0,3}\d+)\. /g, '$1\\. '); - - // Converts lists that have no child lists (of same type) first, then works its way up - var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!/gi; - while (string.match(noChildrenRegex)) { - string = string.replace(noChildrenRegex, replaceLists); - } - - function replaceLists(html) { - - html = html.replace(/<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, function(str, listType, innerHTML) { - var lis = innerHTML.split(''); - lis.splice(lis.length - 1, 1); - - for (i = 0, len = lis.length; i < len; i++) { - if (lis[i]) { - var prefix = (listType === 'ol') ? (i + 1) + ". " : "* "; - lis[i] = lis[i].replace(/\s*]*>([\s\S]*)/i, function(str, innerHTML) { - innerHTML = innerHTML.replace(/\s*]*?(checked[^>]*)?type=['"]?checkbox['"]?[^>]>/, function(inputStr, checked) { - return checked ? '[X]' : '[ ]'; - }); - innerHTML = innerHTML.replace(/^\s+/, ''); - innerHTML = innerHTML.replace(/\n\n/g, '\n\n '); - // indent nested lists - innerHTML = innerHTML.replace(/\n([ ]*)+(\*|\d+\.) /g, '\n$1 $2 '); - return prefix + innerHTML; - }); - } - lis[i] = lis[i].replace(/(.) +$/m, '$1'); - } - return lis.join('\n'); - }); - - return '\n\n' + html.replace(/[ \t]+\n|\s+$/g, ''); - } - - // Blockquotes - var deepest = /]*>((?:(?!/gi; - while (string.match(deepest)) { - string = string.replace(deepest, replaceBlockquotes); - } - - function replaceBlockquotes(html) { - html = html.replace(/]*>([\s\S]*?)<\/blockquote>/gi, function(str, inner) { - inner = inner.replace(/^\s+|\s+$/g, ''); - inner = cleanUp(inner); - inner = inner.replace(/^/gm, '> '); - inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, '> >'); - return inner; - }); - return html; - } - - function cleanUp(string) { - string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); // trim leading/trailing whitespace - string = string.replace(/\n\s+\n/g, '\n\n'); - string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive linebreaks to 2 - return string; - } - - return cleanUp(string); - }; - - function getCommentTextarea(replyBtn) { - var newComment = replyBtn; - while (newComment && !newComment.classList.contains('js-quote-selection-container')) { - newComment = newComment.parentNode; - } - if (newComment) { - var lastElementChild = newComment.lastElementChild; - lastElementChild.classList.add('open'); - newComment = lastElementChild.querySelector(".comment-form-textarea"); - } else { - newComment = document.querySelector(".timeline-new-comment .comment-form-textarea"); - } - return newComment; - } - - function addReplyButtons() { - Array.prototype.forEach.call(document.querySelectorAll(".comment"), function(comment) { - var oldReply = comment.querySelector(".GithubReplyComments, .GithubCommentEnhancerReply"); - if (oldReply) { - oldReply.parentNode.removeChild(oldReply); - } - - var header = comment.querySelector(".timeline-comment-header"), - actions = comment.querySelector(".timeline-comment-actions"); - - if (!header) { - return; - } - if (!actions) { - actions = document.createElement("div"); - actions.classList.add("timeline-comment-actions"); - header.insertBefore(actions, header.firstElementChild); - } - - var reply = document.createElement("button"); - reply.setAttribute("type", "button"); - reply.setAttribute("title", "Reply to this comment"); - reply.setAttribute("aria-label", "Reply to this comment"); - reply.classList.add("GithubReplyComments", "btn-link", "timeline-comment-action", "tooltipped", "tooltipped-ne"); - reply.addEventListener("click", function(e) { - e.preventDefault(); - - var newComment = getCommentTextarea(this); - - var timestamp = comment.querySelector(".timestamp"); - - var commentText = comment.querySelector(".comment-form-textarea"); - if (commentText) { - commentText = commentText.value; - } else { - commentText = toMarkdown(comment.querySelector(".comment-body").innerHTML); - } - commentText = commentText.trim().split("\n").map(function(line) { - return "> " + line; - }).join("\n"); - - var text = newComment.value.length > 0 ? "\n" : ""; - text += String.format('[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', - comment.querySelector(".author").textContent, - location.origin, - timestamp.firstElementChild.getAttribute("title"), - timestamp.href, - timestamp.firstElementChild.getAttribute("datetime"), - commentText); - - newComment.value += text; - newComment.setSelectionRange(newComment.value.length, newComment.value.length); - newComment.focus(); - }); - - var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - svg.classList.add("octicon", "octicon-mail-reply"); - svg.setAttribute("height", "16"); - svg.setAttribute("width", "16"); - reply.appendChild(svg); - var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - path.setAttribute("d", "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z"); - svg.appendChild(path); - - actions.appendChild(reply); - }); - } - - // init; - addReplyButtons(); - - // on pjax; - document.addEventListener('pjax:end', addReplyButtons); + String.format = function(string) { + var args = Array.prototype.slice.call(arguments, 1, arguments.length); + return string.replace(/{(\d+)}/g, function(match, number) { + return typeof args[number] !== "undefined" ? args[number] : match; + }); + }; + + /* + * to-markdown - an HTML to Markdown converter + * Copyright 2011, Dom Christie + * Licenced under the MIT licence + * Source: https://github.com/domchristie/to-markdown + * + * Code is altered: + * - Added task list support: https://github.com/domchristie/to-markdown/pull/62 + * - He dependecy is removed + */ + var toMarkdown = function(string) { + + var ELEMENTS = [{ + patterns: 'p', + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '\n\n' + innerHTML + '\n' : ''; + } + }, { + patterns: 'br', + type: 'void', + replacement: ' \n' + }, { + patterns: 'h([1-6])', + replacement: function(str, hLevel, attrs, innerHTML) { + var hPrefix = ''; + for (var i = 0; i < hLevel; i++) { + hPrefix += '#'; + } + return '\n\n' + hPrefix + ' ' + innerHTML + '\n'; + } + }, { + patterns: 'hr', + type: 'void', + replacement: '\n\n* * *\n' + }, { + patterns: 'a', + replacement: function(str, attrs, innerHTML) { + var href = attrs.match(attrRegExp('href')), + title = attrs.match(attrRegExp('title')); + return href ? '[' + innerHTML + ']' + '(' + href[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : str; + } + }, { + patterns: ['b', 'strong'], + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '**' + innerHTML + '**' : ''; + } + }, { + patterns: ['i', 'em'], + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '_' + innerHTML + '_' : ''; + } + }, { + patterns: 'code', + replacement: function(str, attrs, innerHTML) { + return innerHTML ? '`' + innerHTML + '`' : ''; + } + }, { + patterns: 'img', + type: 'void', + replacement: function(str, attrs) { + var src = attrs.match(attrRegExp('src')), + alt = attrs.match(attrRegExp('alt')), + title = attrs.match(attrRegExp('title')); + return src ? '![' + (alt && alt[1] ? alt[1] : '') + ']' + '(' + src[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : ''; + } + }]; + + for (var i = 0, len = ELEMENTS.length; i < len; i++) { + if (typeof ELEMENTS[i].patterns === 'string') { + string = replaceEls(string, { + tag: ELEMENTS[i].patterns, + replacement: ELEMENTS[i].replacement, + type: ELEMENTS[i].type + }); + } else { + for (var j = 0, pLen = ELEMENTS[i].patterns.length; j < pLen; j++) { + string = replaceEls(string, { + tag: ELEMENTS[i].patterns[j], + replacement: ELEMENTS[i].replacement, + type: ELEMENTS[i].type + }); + } + } + } + + function replaceEls(html, elProperties) { + var pattern = elProperties.type === 'void' ? '<' + elProperties.tag + '\\b([^>]*)\\/?>' : '<' + elProperties.tag + '\\b([^>]*)>([\\s\\S]*?)<\\/' + elProperties.tag + '>', + regex = new RegExp(pattern, 'gi'), + markdown = ''; + if (typeof elProperties.replacement === 'string') { + markdown = html.replace(regex, elProperties.replacement); + } else { + markdown = html.replace(regex, function(str, p1, p2, p3) { + return elProperties.replacement.call(this, str, p1, p2, p3); + }); + } + return markdown; + } + + function attrRegExp(attr) { + return new RegExp(attr + '\\s*=\\s*["\']?([^"\']*)["\']?', 'i'); + } + + // Pre code blocks + + string = string.replace(/]*>`([\s\S]*?)`<\/pre>/gi, function(str, innerHTML) { + var text = innerHTML; + text = text.replace(/^\t+/g, ' '); // convert tabs to spaces (you know it makes sense) + text = text.replace(/\n/g, '\n '); + return '\n\n ' + text + '\n'; + }); + + // Lists + + // Escape numbers that could trigger an ol + // If there are more than three spaces before the code, it would be in a pre tag + // Make sure we are escaping the period not matching any character + string = string.replace(/^(\s{0,3}\d+)\. /g, '$1\\. '); + + // Converts lists that have no child lists (of same type) first, then works its way up + var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!/gi; + while (string.match(noChildrenRegex)) { + string = string.replace(noChildrenRegex, replaceLists); + } + + function replaceLists(html) { + + html = html.replace(/<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, function(str, listType, innerHTML) { + var lis = innerHTML.split(''); + lis.splice(lis.length - 1, 1); + + for (i = 0, len = lis.length; i < len; i++) { + if (lis[i]) { + var prefix = (listType === 'ol') ? (i + 1) + ". " : "* "; + lis[i] = lis[i].replace(/\s*]*>([\s\S]*)/i, function(str, innerHTML) { + innerHTML = innerHTML.replace(/\s*]*?(checked[^>]*)?type=['"]?checkbox['"]?[^>]>/, function(inputStr, checked) { + return checked ? '[X]' : '[ ]'; + }); + innerHTML = innerHTML.replace(/^\s+/, ''); + innerHTML = innerHTML.replace(/\n\n/g, '\n\n '); + // indent nested lists + innerHTML = innerHTML.replace(/\n([ ]*)+(\*|\d+\.) /g, '\n$1 $2 '); + return prefix + innerHTML; + }); + } + lis[i] = lis[i].replace(/(.) +$/m, '$1'); + } + return lis.join('\n'); + }); + + return '\n\n' + html.replace(/[ \t]+\n|\s+$/g, ''); + } + + // Blockquotes + var deepest = /]*>((?:(?!/gi; + while (string.match(deepest)) { + string = string.replace(deepest, replaceBlockquotes); + } + + function replaceBlockquotes(html) { + html = html.replace(/]*>([\s\S]*?)<\/blockquote>/gi, function(str, inner) { + inner = inner.replace(/^\s+|\s+$/g, ''); + inner = cleanUp(inner); + inner = inner.replace(/^/gm, '> '); + inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, '> >'); + return inner; + }); + return html; + } + + function cleanUp(string) { + string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); // trim leading/trailing whitespace + string = string.replace(/\n\s+\n/g, '\n\n'); + string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive linebreaks to 2 + return string; + } + + return cleanUp(string); + }; + + function getCommentTextarea(replyBtn) { + var newComment = replyBtn; + while (newComment && !newComment.classList.contains('js-quote-selection-container')) { + newComment = newComment.parentNode; + } + + var isReview = !newComment.classList.contains("discussion-timeline"); + + if (newComment) { + var lastElementChild = isReview ? newComment.querySelector(".js-inline-comment-form-container") : newComment.lastElementChild; + lastElementChild.classList.add('open'); + newComment = lastElementChild.querySelector(".comment-form-textarea"); + } else { + newComment = document.querySelector(".timeline-new-comment .comment-form-textarea"); + } + return newComment; + } + + function addReplyButtons() { + Array.prototype.forEach.call(document.querySelectorAll(".comment, .review-comment"), function(comment) { + var oldReply = comment.querySelector(".GithubReplyComments, .GithubCommentEnhancerReply"); + if (oldReply) { + oldReply.parentNode.removeChild(oldReply); + } + + var header = comment.querySelector(".timeline-comment-header"), + actions = comment.querySelector(".timeline-comment-actions"); + + if (!actions) { + if (!header) { + return; + } + actions = document.createElement("div"); + actions.classList.add("timeline-comment-actions"); + header.insertBefore(actions, header.firstElementChild); + } + + var reply = document.createElement("button"); + reply.setAttribute("type", "button"); + reply.setAttribute("title", "Reply to this comment"); + reply.setAttribute("aria-label", "Reply to this comment"); + reply.classList.add("GithubReplyComments", "btn-link", "timeline-comment-action", "tooltipped", "tooltipped-ne"); + reply.addEventListener("click", function(e) { + e.preventDefault(); + + var newComment = getCommentTextarea(this); + + var timestamp = comment.querySelector(".timestamp"); + + var commentText = comment.querySelector(".comment-form-textarea"); + if (commentText) { + commentText = commentText.value; + } else { + commentText = toMarkdown(comment.querySelector(".comment-body").innerHTML); + } + commentText = commentText.trim().split("\n").map(function(line) { + return "> " + line; + }).join("\n"); + + var text = newComment.value.length > 0 ? "\n" : ""; + text += String.format('[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', + comment.querySelector(".author").textContent, + location.origin, + timestamp.firstElementChild.getAttribute("title"), + timestamp.href, + timestamp.firstElementChild.getAttribute("datetime"), + commentText); + + newComment.value += text; + newComment.setSelectionRange(newComment.value.length, newComment.value.length); + newComment.focus(); + }); + + var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.classList.add("octicon", "octicon-mail-reply"); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); + reply.appendChild(svg); + var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute("d", "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z"); + svg.appendChild(path); + + actions.appendChild(reply); + }); + } + + // init; + addReplyButtons(); + + // on pjax; + document.addEventListener('pjax:end', addReplyButtons); })(); diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index a7f40d5..35eeb18 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,10 @@ reply button on an comment. ## Version History +* version **0.1.1** + + * Fix reply button for reviews. Fixes #125 + * version **0.1.0** * Initial version From f07f250ee96db5a88f98070a3f7f9a10b95e6036 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 9 May 2018 23:31:07 +0200 Subject: [PATCH 078/164] Fix reply button for reviews. Fixes #125 --- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index ef67a17..56d0d8d 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.1.0 +// @version 0.1.1 // @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @include https://github.com/* From c3ecea64e15c0424a9f6623e2d7dfbd5e463fc34 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 10 May 2018 17:42:54 +0300 Subject: [PATCH 079/164] Update Github_News_Feed_Filter.user.js Fixes #124 Increased the specificity of two selectors . --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 787df57..49f2741 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -3,6 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Add filters for GitHub homepage news feed items // @author jerone +// @contributor darkred // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) // @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter @@ -15,7 +16,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.1.0 +// @version 8.1.1 // @grant none // ==/UserScript== @@ -324,7 +325,7 @@ Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var alertRepo = alert.querySelector('[data-ga-click*="target:repo"]'); + var alertRepo = alert.querySelector('.flex-items-baseline > div > [data-ga-click*="target:repo"]'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; userRepos.add(userRepo); @@ -366,7 +367,7 @@ Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var username = alert.querySelector('[data-ga-click*="target:actor"]').textContent; + var username = alert.querySelector('.flex-items-baseline > div > [data-ga-click*="target:actor"]').textContent; alert.classList.add(username); users.add(username); }); From 3a9b88ff51deacf45502fe09ef96ffeab0bbfad1 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 10 May 2018 22:03:38 +0200 Subject: [PATCH 080/164] =?UTF-8?q?=F0=9F=93=84=20Doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_News_Feed_Filter/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 72559f0..896a17e 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,10 @@ Currently integrated filters: ## Version History +* **8.1.1** + + * 🐛 Fix the 'Repositories' tab being empty ([#124](https://github.com/jerone/UserScripts/issues/124), fixed by [@darkred](https://github.com/darkred) in [#126](https://github.com/jerone/UserScripts/pull/126)). + * **8.1.0** * 🐛 Ignore repo detection on follow alerts. @@ -175,6 +179,10 @@ Currently integrated filters: * Initial version. +## Contributors + +* [darkred](https://github.com/darkred) + ## External links * [Greasy Fork](https://greasyfork.org/scripts/171-github-news-feed-filter) From b56965e63d73594d883750de3d31e265ae85d3ec Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 20 May 2018 13:25:47 +0200 Subject: [PATCH 081/164] =?UTF-8?q?=F0=9F=90=9B=20Fixed=20issues=20after?= =?UTF-8?q?=20GitHub=20site=20update.=20Re-fixes=20#124?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Github_News_Feed_Filter.user.js | 44 +++++++++---------- Github_News_Feed_Filter/README.md | 4 ++ 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 49f2741..6dda217 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -16,7 +16,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.1.1 +// @version 8.2.0 // @grant none // ==/UserScript== @@ -228,12 +228,12 @@ setCurrentFilter(type, this.dataset[datasetId]); // Open/close sub list. - Array.forEach(filterContainer.querySelectorAll('.open'), function(item) { item.classList.remove('open'); }); + Array.forEach(filterContainer.querySelectorAll(':scope .open'), function(item) { item.classList.remove('open'); }); showParentMenu(this); this.parentNode.classList.add('open'); // Give it a colored background. - Array.forEach(filterContainer.querySelectorAll('.private'), function(m) { m.classList.remove('private'); }); + Array.forEach(filterContainer.querySelectorAll(':scope .private'), function(m) { m.classList.remove('private'); }); this.parentNode.classList.add('private'); // Toggle alert visibility. @@ -245,7 +245,7 @@ // Get selected filters. var anyVisibleAlert = false; var classNames = []; - var selected = document.querySelectorAll(filterElement + ' .private'); + var selected = document.querySelectorAll(":scope " + filterElement + ' .private'); if (selected.length > 0) { Array.prototype.forEach.call(selected, function(item) { classNames.push(item.filterClassNames); @@ -255,11 +255,11 @@ // Show/hide alerts. if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf('*'); }); })) { anyVisibleAlert = true; - Array.prototype.forEach.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.forEach.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { alert.parentNode.style.display = 'block'; }); } else { - Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); @@ -269,14 +269,14 @@ } // Show/hide message about no alerts. - var none = newsContainer.querySelector('.no-alerts'); + var none = newsContainer.querySelector(':scope .no-alerts'); if (anyVisibleAlert && none) { none.parentNode.removeChild(none); } else if (!anyVisibleAlert && !none) { none = document.createElement('div'); - none.classList.add('no-alerts', 'protip'); + none.classList.add('no-alerts'); none.appendChild(document.createTextNode('No feed items for this filter. Please select another filter.')); - newsContainer.insertBefore(none, newsContainer.querySelector('.tabnav').nextElementSibling); + newsContainer.insertBefore(none, newsContainer.firstElementChild.nextElementSibling); } } @@ -291,7 +291,7 @@ // Fix filter action identification. function fixActionAlerts(newsContainer) { - Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { if (!!~alert.textContent.indexOf('created branch')) { @@ -322,10 +322,10 @@ // Get unique list of repos. var userRepos = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var alertRepo = alert.querySelector('.flex-items-baseline > div > [data-ga-click*="target:repo"]'); + var alertRepo = alert.querySelector(':scope .flex-items-baseline > div > [data-ga-click*="target:repo"]'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; userRepos.add(userRepo); @@ -364,10 +364,10 @@ USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-organization', classNames: ['*-user'] }]; var users = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var username = alert.querySelector('.flex-items-baseline > div > [data-ga-click*="target:actor"]').textContent; + var username = alert.querySelector(':scope .flex-items-baseline > div > [data-ga-click*="target:actor"]').textContent; alert.classList.add(username); users.add(username); }); @@ -382,11 +382,11 @@ // Update filter counts. function updateFilterCounts(filterContainer, newsContainer) { - Array.forEach(filterContainer.querySelectorAll('li.filter-list-item'), function(li) { + Array.forEach(filterContainer.querySelectorAll(':scope li.filter-list-item'), function(li) { // Count alerts based on other filters. var countFiltered = 0; var classNames = [li.filterClassNames]; - var selected = document.querySelectorAll(filterElement + ' li.filter-list-item.private'); + var selected = document.querySelectorAll(":scope " + filterElement + ' li.filter-list-item.private'); if (selected.length > 0) { Array.prototype.forEach.call(selected, function(item) { if (item.parentNode.parentNode !== filterContainer) { // Exclude list item from current filter container. @@ -394,7 +394,7 @@ } }); } - Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); @@ -406,9 +406,9 @@ // Count alerts based on current filter. var countAll = 0; if (!!~li.filterClassNames[0].indexOf('*')) { - countAll = newsContainer.querySelectorAll('.body').length; + countAll = newsContainer.querySelectorAll(':scope > div > .body').length; } else { - Array.prototype.map.call(newsContainer.querySelectorAll('.body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { if (li.filterClassNames.some(function(cl) { return alert.classList.contains(cl); })) { @@ -417,7 +417,7 @@ }); } - li.querySelector('.count').textContent = countAll + ' (' + countFiltered + ')'; + li.querySelector(':scope .count').textContent = countAll + ' (' + countFiltered + ')'; }); } @@ -431,7 +431,7 @@ // Get current filter. function getCurrentFilter(type, filterContainer) { var filter = CURRENT[type] || '*-' + type; - filterContainer.querySelector('[' + datasetIdLong + '="' + filter + '"]').dispatchEvent(new Event('click')); + filterContainer.querySelector(':scope [' + datasetIdLong + '="' + filter + '"]').dispatchEvent(new Event('click')); } // Add filter tab. @@ -456,7 +456,7 @@ function filterTabInnerClick(e, type, inner, filterContainer, onSelect) { e.preventDefault(); - var selected = inner.querySelector('.filter-selected'); + var selected = inner.querySelector(':scope .filter-selected'); selected && selected.classList.remove('filter-selected'); this.classList.add('filter-selected'); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 896a17e..866c8cb 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,10 @@ Currently integrated filters: ## Version History +* **8.2.0** + + * 🐛 Fixed issues after GitHub site update ([#124](https://github.com/jerone/UserScripts/issues/124). + * **8.1.1** * 🐛 Fix the 'Repositories' tab being empty ([#124](https://github.com/jerone/UserScripts/issues/124), fixed by [@darkred](https://github.com/darkred) in [#126](https://github.com/jerone/UserScripts/pull/126)). From 57c08bbf7a7453bca97628ea817cc2d7fe437a3f Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 20 May 2018 15:39:14 +0300 Subject: [PATCH 082/164] Update Github_News_Feed_Filter.user.js Fix for 'Actions' tab|'Wiki' being empty after GitHub site update (additional re-fix for #124) --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 6dda217..581ab59 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -308,9 +308,9 @@ alert.classList.add('tag_remove'); } else if (alert.classList.contains('gollum')) { alert.classList.remove('gollum'); - if (!!~alert.textContent.indexOf(' created the ')) { + if (!!~alert.innerText.indexOf(' created a wiki page in ')) { alert.classList.add('wiki_created'); - } else if (!!~alert.textContent.indexOf(' edited a wiki page in ')) { + } else if (!!~alert.innerText.indexOf(' edited a wiki page in ')) { alert.classList.add('wiki_edited'); } } From d91f4fa4f937d2dd0be360f1f370e6fa8129ffbb Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 20 May 2018 16:07:15 +0300 Subject: [PATCH 083/164] Update Github_News_Feed_Filter.user.js Fix for missing some entries in the 'Repositories' tab --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 581ab59..e8bff0e 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -325,7 +325,7 @@ Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var alertRepo = alert.querySelector(':scope .flex-items-baseline > div > [data-ga-click*="target:repo"]'); + var alertRepo = alert.querySelector('[data-ga-click*="target:repo"]'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; userRepos.add(userRepo); From 28f0a76b1628482eb0eeec5f8686e733fef3ac80 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 20 May 2018 19:42:50 +0300 Subject: [PATCH 084/164] Update Github_News_Feed_Filter.user.js Use the :scope selector --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index e8bff0e..a083c20 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -325,7 +325,7 @@ Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var alertRepo = alert.querySelector('[data-ga-click*="target:repo"]'); + var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; userRepos.add(userRepo); From 9d3f56a2ef0cf30cd0b58ec3bc901bf5ce66006c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 20 May 2018 19:26:23 +0200 Subject: [PATCH 085/164] =?UTF-8?q?=F0=9F=90=9B=20Fix=20missing=20created?= =?UTF-8?q?=20repo=20actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 8 +++++--- Github_News_Feed_Filter/README.md | 7 ++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index a083c20..5d55348 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -16,7 +16,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.0 +// @version 8.2.1 // @grant none // ==/UserScript== @@ -56,8 +56,8 @@ ] }, { - id: 'repo', text: 'Repo', icon: 'octicon-repo', classNames: ['create', 'public', 'fork', 'branch_create', 'branch_delete', 'tag_add', 'tag_remove', 'release', 'delete'], subFilters: [ - { id: 'repo created', text: 'Created', icon: 'octicon-repo-create', classNames: ['create'] }, + id: 'repo', text: 'Repo', icon: 'octicon-repo', classNames: ['repo', 'create', 'public', 'fork', 'branch_create', 'branch_delete', 'tag_add', 'tag_remove', 'release', 'delete'], subFilters: [ + { id: 'repo created', text: 'Created', icon: 'octicon-repo-create', classNames: ['repo', 'create'] }, { id: 'repo public', text: 'Public', icon: 'octicon-repo-push', classNames: ['public'] }, { id: 'repo forked', text: 'Forked', icon: 'octicon-repo-forked', classNames: ['fork'] }, { id: 'repo deleted', text: 'Deleted', icon: 'octicon-repo-delete', classNames: ['delete'] }, @@ -265,6 +265,8 @@ var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); anyVisibleAlert = show || anyVisibleAlert; alert.style.display = show ? 'block' : 'none'; + // DEBUG: uncomment following line and comment previous line to debug all alerts. + //if(show) alert.style.display = 'none'; }); } diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 866c8cb..319d2f0 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,9 +69,14 @@ Currently integrated filters: ## Version History +* **8.2.1** + + * 🐛 Fix for 'Actions' tab|'Wiki' being empty after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#127](https://github.com/jerone/UserScripts/issues/127)). + * 🐛 Fix missing created repo actions. + * **8.2.0** - * 🐛 Fixed issues after GitHub site update ([#124](https://github.com/jerone/UserScripts/issues/124). + * 🐛 Fixed issues after GitHub site update ([#124](https://github.com/jerone/UserScripts/issues/124)). * **8.1.1** From 22874f7d2f1238a9e64c0aef68ac0ebddbb5cdc8 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 20 May 2018 23:29:25 +0300 Subject: [PATCH 086/164] :bug: Fix after GitHub site update (#128) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🐛 Fix after GitHub site update --- GitHub_Commit_Compare/GitHub_Commit_Compare.user.js | 7 ++++--- GitHub_Commit_Compare/README.md | 13 +++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index e453f91..0f58898 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -3,6 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Add controls to compare commits. // @author jerone +// @contributor darkred // @copyright 2017+, jerone (http://jeroenvanwarmerdam.nl) // @license GPL-3.0 // @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare @@ -16,7 +17,7 @@ // @include https://github.com/*/*/commits/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch -// @version 0.0.1 +// @version 0.0.2 // @grant none // ==/UserScript== @@ -143,9 +144,9 @@ const repo = document.querySelector('meta[property="og:url"]').content; const compareA = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonA"]:checked'); - const hashA = compareA.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; + const hashA = compareA.parentNode.parentNode.parentNode.querySelector('clipboard-copy').value; const compareB = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonB"]:checked'); - const hashB = compareB.parentNode.parentNode.parentNode.querySelector('[data-clipboard-text]').dataset.clipboardText; + const hashB = compareB.parentNode.parentNode.parentNode.querySelector('clipboard-copy').value; const a = document.getElementById('GitHubCommitCompareButton'); a.setAttribute('href', `${repo}/compare/${hashA}...${hashB}`); diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md index 1216688..b4d2c61 100644 --- a/GitHub_Commit_Compare/README.md +++ b/GitHub_Commit_Compare/README.md @@ -19,6 +19,19 @@ Add controls to compare commits. ## Version History +* **0.0.2** + + * 🐛 Fix after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#128](https://github.com/jerone/UserScripts/issues/128)). + * **0.0.1** * Initial version. + +## Contributors + +* [darkred](https://github.com/darkred) + +## External links + +* [Greasy Fork](https://greasyfork.org/en/scripts/33563-github-commit-compare) +* [OpenUserJS](https://openuserjs.org/scripts/jerone/GitHub_Commit_Compare) From 54ae3521e7c9709dec9e00d2dd5f6ec54ae89e7c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 22 May 2018 11:25:04 +0200 Subject: [PATCH 087/164] Fix after another layout change --- .../Github_News_Feed_Filter.user.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 5d55348..ca17bed 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -16,7 +16,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.1 +// @version 8.2.2 // @grant none // ==/UserScript== @@ -327,7 +327,7 @@ Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]'); + var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]:not([data-ga-click*="target:repositories"])'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; userRepos.add(userRepo); @@ -369,9 +369,15 @@ Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { return alert.parentNode; }).forEach(function(alert) { - var username = alert.querySelector(':scope .flex-items-baseline > div > [data-ga-click*="target:actor"]').textContent; - alert.classList.add(username); - users.add(username); + var usernameElms = alert.querySelectorAll(':scope [data-ga-click*="target:actor"]'); + Array.prototype.find.call(usernameElms, function(usernameElm){ + var username = usernameElm.textContent; + if (username) { + alert.classList.add(username); + users.add(username); + return true; + } + }); }); [...users].sort(function(a, b) { From 4d412e788b73784435f02f44dd0531e7962e807d Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 28 May 2018 10:40:59 +0300 Subject: [PATCH 088/164] (GitHub News Feed Filter) Re-added "Issues" filter ( Issues|Labeled ) (#131) * :sparkles: Re-added "Issues" filter ( Issues|Labeled ) Re-addition of the "Issues" filter with just one subfilter: Issues|Labeled after another GitHub layout update. --- .../Github_News_Feed_Filter.user.js | 10 +++++++++- Github_News_Feed_Filter/README.md | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index ca17bed..323dc23 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -16,7 +16,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.2 +// @version 8.2.3 // @grant none // ==/UserScript== @@ -30,6 +30,7 @@ ICONS['octicon-git-branch-delete'] = ICONS['octicon-git-branch']; ICONS['octicon-git-commit'] = 'M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z'; ICONS['octicon-home'] = 'M16 9l-3-3V2h-2v2L8 1 0 9h2l1 5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1l1-5h2zm-4 5H9v-4H7v4H4L2.81 7.69 8 2.5l5.19 5.19L12 14z'; + ICONS['octicon-issue-opened'] = 'M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z'; ICONS['octicon-person'] = 'M12 14.002a.998.998 0 0 1-.998.998H1.001A1 1 0 0 1 0 13.999V13c0-2.633 4-4 4-4s.229-.409 0-1c-.841-.62-.944-1.59-1-4 .173-2.413 1.867-3 3-3s2.827.586 3 3c-.056 2.41-.159 3.38-1 4-.229.59 0 1 0 1s4 1.367 4 4v1.002z'; ICONS['octicon-organization'] = 'M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4'; ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5z'; @@ -49,6 +50,11 @@ var ACTIONS = [ { id: '*-action', text: 'All news feed', icon: 'octicon-radio-tower', classNames: ['*-action'] }, + { + id: 'issues', text: 'Issues', icon: 'octicon-issue-opened', classNames: ['issues_labeled'], subFilters: [ + { id: 'issues labeled', text: 'Labeled', icon: 'octicon-tag', classNames: ['issues_labeled'] }, + ] + }, { id: 'commits', text: 'Commits', icon: 'octicon-git-commit', classNames: ['push', 'commit_comment'], subFilters: [ { id: 'commits pushed', text: 'Pushed', icon: 'octicon-git-commit', classNames: ['push'] }, @@ -308,6 +314,8 @@ } else if (alert.getElementsByClassName('octicon-tag-remove').length > 0) { alert.classList.remove('delete'); alert.classList.add('tag_remove'); + } else if (!!~alert.textContent.indexOf('labeled an issue')) { + alert.classList.add('issues_labeled'); } else if (alert.classList.contains('gollum')) { alert.classList.remove('gollum'); if (!!~alert.innerText.indexOf(' created a wiki page in ')) { diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 319d2f0..963751c 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,14 @@ Currently integrated filters: ## Version History +* **8.2.3** + + * ✨ Re-added of the "Issues" filter ( Issues|Labeled ) which was removed per [#121 (comment)](https://github.com/jerone/UserScripts/issues/121#issuecomment-336629514) after another GitHub site update (by [@darkred](https://github.com/darkred)). + +* **8.2.2** + + * 🐛 Fix after another layout change. + * **8.2.1** * 🐛 Fix for 'Actions' tab|'Wiki' being empty after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#127](https://github.com/jerone/UserScripts/issues/127)). From ff364956bd9f536e3bec5eb31325b346fbfce03c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 May 2018 20:10:10 +0200 Subject: [PATCH 089/164] Clean up --- .../Github_News_Feed_Filter.user.js | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 323dc23..c7cd837 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -20,7 +20,7 @@ // @grant none // ==/UserScript== -(function() { +(function () { var ICONS = {}; ICONS['octicon-book'] = 'M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z'; @@ -102,9 +102,9 @@ var filterListElement = 'github-news-feed-filter-list'; function proxy(fn) { - return function() { + return function () { var that = this; - return function(e) { + return function (e) { var args = that.slice(0); // Clone. args.unshift(e); // Prepend event. fn.apply(this, args); @@ -149,7 +149,7 @@ } parent.appendChild(ul); - filters.forEach(function(subFilter) { + filters.forEach(function (subFilter) { var li = addFilterMenuItem(type, subFilter, ul, newsContainer, filterContainer); if (subFilter.subFilters) { @@ -234,12 +234,12 @@ setCurrentFilter(type, this.dataset[datasetId]); // Open/close sub list. - Array.forEach(filterContainer.querySelectorAll(':scope .open'), function(item) { item.classList.remove('open'); }); + Array.forEach(filterContainer.querySelectorAll(':scope .open'), function (item) { item.classList.remove('open'); }); showParentMenu(this); this.parentNode.classList.add('open'); // Give it a colored background. - Array.forEach(filterContainer.querySelectorAll(':scope .private'), function(m) { m.classList.remove('private'); }); + Array.forEach(filterContainer.querySelectorAll(':scope .private'), function (m) { m.classList.remove('private'); }); this.parentNode.classList.add('private'); // Toggle alert visibility. @@ -253,22 +253,22 @@ var classNames = []; var selected = document.querySelectorAll(":scope " + filterElement + ' .private'); if (selected.length > 0) { - Array.prototype.forEach.call(selected, function(item) { + Array.prototype.forEach.call(selected, function (item) { classNames.push(item.filterClassNames); }); } // Show/hide alerts. - if (classNames.length === 0 || classNames.every(function(cl) { return cl.every(function(c) { return !!~c.indexOf('*'); }); })) { + if (classNames.length === 0 || classNames.every(function (cl) { return cl.every(function (c) { return !!~c.indexOf('*'); }); })) { anyVisibleAlert = true; - Array.prototype.forEach.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.forEach.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { alert.parentNode.style.display = 'block'; }); } else { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { return alert.parentNode; - }).forEach(function(alert) { - var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); + }).forEach(function (alert) { + var show = classNames.every(function (cl) { return cl.some(function (c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); anyVisibleAlert = show || anyVisibleAlert; alert.style.display = show ? 'block' : 'none'; // DEBUG: uncomment following line and comment previous line to debug all alerts. @@ -299,9 +299,9 @@ // Fix filter action identification. function fixActionAlerts(newsContainer) { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { return alert.parentNode; - }).forEach(function(alert) { + }).forEach(function (alert) { if (!!~alert.textContent.indexOf('created branch')) { alert.classList.remove('create'); alert.classList.add('branch_create'); @@ -332,9 +332,9 @@ // Get unique list of repos. var userRepos = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { return alert.parentNode; - }).forEach(function(alert) { + }).forEach(function (alert) { var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]:not([data-ga-click*="target:repositories"])'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; @@ -346,7 +346,7 @@ // Get list of user repos (forks) per repo names. var repos = {}; - userRepos.forEach(function(userRepo) { + userRepos.forEach(function (userRepo) { var repo = userRepo.split('/')[1]; if (!repos[repo]) { repos[repo] = []; @@ -355,13 +355,13 @@ }); // Populate global property. - Object.keys(repos).forEach(function(repo) { + Object.keys(repos).forEach(function (repo) { if (repos[repo].length === 1) { var userRepo = repos[repo][0]; REPOS.push({ id: userRepo, text: userRepo, link: userRepo, icon: 'octicon-repo', classNames: [userRepo] }); } else { var repoForks = { id: repo, text: repo, icon: 'octicon-repo-clone', classNames: [repo], subFilters: [] }; - repos[repo].forEach(function(userRepo) { + repos[repo].forEach(function (userRepo) { repoForks.classNames.push(userRepo); repoForks.subFilters.push({ id: userRepo, text: userRepo, link: userRepo, icon: 'octicon-repo', classNames: [userRepo] }); }); @@ -374,23 +374,23 @@ USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-organization', classNames: ['*-user'] }]; var users = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { return alert.parentNode; - }).forEach(function(alert) { + }).forEach(function (alert) { var usernameElms = alert.querySelectorAll(':scope [data-ga-click*="target:actor"]'); - Array.prototype.find.call(usernameElms, function(usernameElm){ - var username = usernameElm.textContent; - if (username) { + Array.prototype.find.call(usernameElms, function (usernameElm) { + var username = usernameElm.textContent; + if (username) { alert.classList.add(username); - users.add(username); - return true; - } - }); + users.add(username); + return true; + } + }); }); - [...users].sort(function(a, b) { + [...users].sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); - }).forEach(function(username) { + }).forEach(function (username) { var user = { id: username, text: username, icon: 'octicon-person', classNames: [username] }; USERS.push(user); }); @@ -398,22 +398,22 @@ // Update filter counts. function updateFilterCounts(filterContainer, newsContainer) { - Array.forEach(filterContainer.querySelectorAll(':scope li.filter-list-item'), function(li) { + Array.forEach(filterContainer.querySelectorAll(':scope li.filter-list-item'), function (li) { // Count alerts based on other filters. var countFiltered = 0; var classNames = [li.filterClassNames]; var selected = document.querySelectorAll(":scope " + filterElement + ' li.filter-list-item.private'); if (selected.length > 0) { - Array.prototype.forEach.call(selected, function(item) { + Array.prototype.forEach.call(selected, function (item) { if (item.parentNode.parentNode !== filterContainer) { // Exclude list item from current filter container. classNames.push(item.filterClassNames); } }); } - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { return alert.parentNode; - }).forEach(function(alert) { - var show = classNames.every(function(cl) { return cl.some(function(c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); + }).forEach(function (alert) { + var show = classNames.every(function (cl) { return cl.some(function (c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); if (show) { countFiltered++; } @@ -424,10 +424,10 @@ if (!!~li.filterClassNames[0].indexOf('*')) { countAll = newsContainer.querySelectorAll(':scope > div > .body').length; } else { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function(alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { return alert.parentNode; - }).forEach(function(alert) { - if (li.filterClassNames.some(function(cl) { return alert.classList.contains(cl); })) { + }).forEach(function (alert) { + if (li.filterClassNames.some(function (cl) { return alert.classList.contains(cl); })) { countAll++; } }); @@ -476,7 +476,7 @@ selected && selected.classList.remove('filter-selected'); this.classList.add('filter-selected'); - Array.forEach(inner.querySelectorAll(filterListElement), function(menu) { + Array.forEach(inner.querySelectorAll(filterListElement), function (menu) { menu && menu.classList.remove('open'); }); filterContainer.classList.add('open'); @@ -586,7 +586,7 @@ filterer.querySelector('a').dispatchEvent(new Event('click')); // Update on clicking "More"-button. - new MutationObserver(function() { + new MutationObserver(function () { // Re-click the current selected filter on open filter tab. filterer.querySelector('a.filter-selected').dispatchEvent(new Event('click')); }).observe(newsContainer, { childList: true }); From e123029c5dbc5882c8a27988ef1ef99d7871ccc4 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 28 May 2018 20:16:55 +0200 Subject: [PATCH 090/164] =?UTF-8?q?=F0=9F=90=9B=20Nav=20styling.=20Fixes?= =?UTF-8?q?=20#130=20and=20closes=20#132=20(thanks=20@darkred).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Github_News_Feed_Filter.user.js | 25 ++++++++++--------- Github_News_Feed_Filter/README.md | 4 +++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index c7cd837..5593760 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -16,7 +16,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.3 +// @version 8.2.4 // @grant none // ==/UserScript== @@ -121,6 +121,9 @@ addStyle(` github-news-feed-filter { display: block; } + + github-news-feed-filter .filter-bar { padding: 0; } + github-news-feed-filter .count { margin-right: 15px; } github-news-feed-filter .filter-list .mini-repo-list-item { padding-right: 64px; } @@ -452,13 +455,11 @@ // Add filter tab. function addFilterTab(type, text, inner, filterer, onCreate, onSelect) { - var filterTab = document.createElement('li'); - filterer.appendChild(filterTab); var filterTabInner = document.createElement('a'); filterTabInner.setAttribute('href', '#'); - filterTabInner.classList.add('repo-filter', 'js-repo-filter-tab'); + filterTabInner.classList.add('UnderlineNav-item'); filterTabInner.appendChild(document.createTextNode(text)); - filterTab.appendChild(filterTabInner); + filterer.appendChild(filterTabInner); var filterContainer = document.createElement(filterListElement); inner.appendChild(filterContainer); @@ -472,9 +473,9 @@ function filterTabInnerClick(e, type, inner, filterContainer, onSelect) { e.preventDefault(); - var selected = inner.querySelector(':scope .filter-selected'); - selected && selected.classList.remove('filter-selected'); - this.classList.add('filter-selected'); + var selected = inner.querySelector(':scope .selected'); + selected && selected.classList.remove('selected'); + this.classList.add('selected'); Array.forEach(inner.querySelectorAll(filterListElement), function (menu) { menu && menu.classList.remove('open'); @@ -524,11 +525,11 @@ wrapper.appendChild(inner); var bar = document.createElement('div'); - bar.classList.add('filter-repos', 'filter-bar'); + bar.classList.add('filter-bar'); inner.appendChild(bar); - var filterer = document.createElement('ul'); - filterer.classList.add('repo-filterer'); + var filterer = document.createElement('nav'); + filterer.classList.add('UnderlineNav-body'); bar.appendChild(filterer); // Create filter tabs. @@ -588,7 +589,7 @@ // Update on clicking "More"-button. new MutationObserver(function () { // Re-click the current selected filter on open filter tab. - filterer.querySelector('a.filter-selected').dispatchEvent(new Event('click')); + filterer.querySelector('a.selected').dispatchEvent(new Event('click')); }).observe(newsContainer, { childList: true }); })(); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 963751c..38ef712 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,10 @@ Currently integrated filters: ## Version History +* **8.2.4** + + * 🐛 Nav styling. Fixes [#130](https://github.com/jerone/UserScripts/issues/130) and closes [#132](https://github.com/jerone/UserScripts/issues/132) (thanks [@darkred](https://github.com/darkred)). + * **8.2.3** * ✨ Re-added of the "Issues" filter ( Issues|Labeled ) which was removed per [#121 (comment)](https://github.com/jerone/UserScripts/issues/121#issuecomment-336629514) after another GitHub site update (by [@darkred](https://github.com/darkred)). From ef883760231a644f3a98af69db420f24d322c975 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 8 Jul 2018 12:36:51 +0200 Subject: [PATCH 091/164] Fix reply button for commits & reviews. Fixes #133 --- .../Github_Reply_Comments.user.js | 25 ++++++++++--------- Github_Reply_Comments/README.md | 6 ++++- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 56d0d8d..520987c 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -11,7 +11,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.1.1 +// @version 0.1.2 // @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @include https://github.com/* @@ -213,16 +213,13 @@ newComment = newComment.parentNode; } - var isReview = !newComment.classList.contains("discussion-timeline"); - - if (newComment) { - var lastElementChild = isReview ? newComment.querySelector(".js-inline-comment-form-container") : newComment.lastElementChild; - lastElementChild.classList.add('open'); - newComment = lastElementChild.querySelector(".comment-form-textarea"); - } else { - newComment = document.querySelector(".timeline-new-comment .comment-form-textarea"); + var inlineComment = newComment.querySelector(".js-inline-comment-form-container") + if (inlineComment) { + inlineComment.classList.add('open'); } - return newComment; + + var textareas = newComment.querySelectorAll(":scope > :not(.last-review-thread) .comment-form-textarea"); + return textareas[textareas.length - 1]; } function addReplyButtons() { @@ -232,8 +229,12 @@ oldReply.parentNode.removeChild(oldReply); } - var header = comment.querySelector(".timeline-comment-header"), - actions = comment.querySelector(".timeline-comment-actions"); + var header = comment.querySelector(":scope > :not(.minimized-comment) .timeline-comment-header"), + actions = comment.querySelector(":scope > :not(.minimized-comment) .timeline-comment-actions"); + + if (!header) { + header = actions; + } if (!actions) { if (!header) { diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 35eeb18..d770881 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,9 +20,13 @@ reply button on an comment. ## Version History +* version **0.1.2** + + * Fix reply button for commits & reviews. Fixes [#133](https://github.com/jerone/UserScripts/issues/133) + * version **0.1.1** - * Fix reply button for reviews. Fixes #125 + * Fix reply button for reviews. Fixes [#125](https://github.com/jerone/UserScripts/issues/125) * version **0.1.0** From b0ff14ed0f9947485091aea5b8303864a0753c96 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 8 Jul 2018 12:41:58 +0200 Subject: [PATCH 092/164] =?UTF-8?q?=F0=9F=93=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_Reply_Comments/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index d770881..ab54197 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -38,12 +38,12 @@ reply button on an comment. (issue comments) * [https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df](https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df) -(commit comments) +(commit comments & inline comments) * [https://github.com/jerone/UserScripts/pull/49](https://github.com/jerone/UserScripts/pull/49) -(PR comments & commit comments) +(PR comments & PR review comments & [PR commit comments](https://github.com/jerone/UserScripts/pull/49/files)) -* ~~[https://gist.github.com/jerone/9526258](https://gist.github.com/jerone/9526258)~~ +* [https://gist.github.com/jerone/9526258](https://gist.github.com/jerone/9526258) (comments) ## Dependencies From c79eb37b27ed59581607decf79806563d75d43b3 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 14 Sep 2018 15:49:26 +0200 Subject: [PATCH 093/164] :bug: Removed UTF-8 BOM from scripts (#136) Closes #135 --- Github_Commit_Diff/Github_Commit_Diff.user.js | 2 +- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index d6261c8..45c1b34 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -1,4 +1,4 @@ -// ==UserScript== +// ==UserScript== // @name Github Commit Diff // @namespace https://github.com/jerone/UserScripts // @description Adds button to show diff (or patch) file for commit diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 72cf761..100cfc4 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -1,4 +1,4 @@ -// ==UserScript== +// ==UserScript== // @name Github Pull Request From Link // @namespace https://github.com/jerone/UserScripts/ // @description Make pull request branches linkable From 277627af981aee8b01ed75c2947d3e5c59a0899e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 27 Sep 2018 11:20:27 +0200 Subject: [PATCH 094/164] Licensing --- April_Fools_CSS/April_Fools_CSS.user.js | 3 ++- Dakar_Extender/208433.user.js | 5 +++-- Darts_Data_Enhancer/Darts_Data_Enhancer.user.js | 3 ++- ...enStijl_Powned_Dumpert_Comment_Enhancer.user.js | 3 ++- .../GitHub_Commit_Compare.user.js | 3 ++- .../Github_Comment_Enhancer.user.js | 3 ++- Github_Commit_Diff/Github_Commit_Diff.user.js | 3 ++- .../Github_Commit_Whitespace.user.js | 3 ++- Github_Gist_Share/157850.user.js | 3 ++- Github_Image_Viewer/Github_Image_Viewer.user.js | 3 ++- .../Github_JSON_Dependencies_Linker.user.js | 3 ++- .../Github_News_Feed_Filter.user.js | 3 ++- Github_Pages_Linker/Github_Pages_Linker.user.js | 3 ++- .../Github_Pull_Request_From.user.js | 3 ++- .../Github_Reply_Comments.user.js | 3 ++- Github_User_Info/Github_User_Info.user.js | 3 ++- Horizon_TV_Fixer/155147.user.js | 3 ++- .../Marktplaats_Exchanger.user.js | 3 ++- .../Multiple_Windows_Live_IDs.user.js | 3 ++- .../Outlook_Sign_Out_To_Login.user.js | 3 ++- PDF_Tools/PDF_Tools.user.js | 2 ++ README.md | 2 +- .../Twitter_profile_replies_hider.user.js | 3 ++- .../Twitter_profile_retweets_hider.user.js | 3 ++- Userscripts.org_Diff_Extender/38909.user.js | 4 +++- Userscripts.org_Extended_Style/37212.user.js | 4 +++- .../37611.user.js | 4 +++- Userscripts.org_Source_Numbering/38912.user.js | 4 +++- Userscripts.org_Timed_Updater/37853.user.js | 4 +++- Userscripts.org_Topics_Column/38597.user.js | 4 +++- Userscripts.org_Versions_Column/38595.user.js | 12 +++++++----- Userscripts.org_Versions_Tab/38594.user.js | 14 ++++++++------ 32 files changed, 81 insertions(+), 41 deletions(-) diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 5abe29e..2fa299a 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -4,7 +4,8 @@ // @author jerone // @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @include * diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index dc6a508..91d3ebd 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -4,7 +4,8 @@ // @namespace http://userscripts.org/scripts/show/208433 // @version 2 // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @grant none // @require http://code.jquery.com/jquery-2.0.3.min.js // @icon https://lh6.googleusercontent.com/-pKPBVGEVXk0/UsXXxo0S9JI/AAAAAAAACp0/0N_pV4AqDMY/s512-no/Icon_Dakar2+%25281%2529.png @@ -28,4 +29,4 @@ // Chars (incl. spaces): 716 // Words: 65 // Lines: 29 -// ==/UserStats== \ No newline at end of file +// ==/UserStats== diff --git a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js index 00ea4d0..9d0499d 100644 --- a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +++ b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js @@ -5,7 +5,8 @@ // @description Enhances Darts Data // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme // @homepageURL https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme // @downloadURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index dc9962f..a632e22 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -4,7 +4,8 @@ // @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer // @homepageURL https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer // @downloadURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index 0f58898..bb16f19 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -5,7 +5,8 @@ // @author jerone // @contributor darkred // @copyright 2017+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare // @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare // @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 159ea91..97012ac 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -5,7 +5,8 @@ // @description Enhances Github comments // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 45c1b34..9de0218 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -4,7 +4,8 @@ // @description Adds button to show diff (or patch) file for commit // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 2cbc3de..ad9dd3a 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -4,7 +4,8 @@ // @description Adds button to hide whitespaces from commit // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 740d5ce..356bb81 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -4,7 +4,8 @@ // @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 4d9abd3..f82202c 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -5,7 +5,8 @@ // @description Preview images from within the listing. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 100bf7a..c567bdd 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -5,7 +5,8 @@ // @description Linkify all dependencies found in an JSON file. // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 5593760..aca4203 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -5,7 +5,8 @@ // @author jerone // @contributor darkred // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index f54af11..9492c1e 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -5,7 +5,8 @@ // @description Add a link to Github Pages (gh-pages) when available. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 100cfc4..51b942d 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -4,7 +4,8 @@ // @description Make pull request branches linkable // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 520987c..ddd94d2 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -4,7 +4,8 @@ // @description Easy reply to Github comments // @author jerone // @copyright 2016+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index d9bbe5d..2bca004 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -5,7 +5,8 @@ // @description Show inline user information on avatar hover. // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info // @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_User_Info // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 8bf99cb..565ad8a 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -4,7 +4,8 @@ // @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer // @homepageURL https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer // @downloadURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index 7e0e8de..5336eab 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -5,7 +5,8 @@ // @description Exchange Marktplaats.nl // @author jerone // @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme // @homepageURL https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme // @downloadURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index ff9f507..0f03296 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -5,7 +5,8 @@ // @description Easy login with multiple Microsoft accounts. // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs // @homepageURL https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs // @downloadURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js diff --git a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js index 2bf5ead..1226bfa 100644 --- a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +++ b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js @@ -4,7 +4,8 @@ // @description Redirect back to login page when signing out from Outlook // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login // @homepageURL https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login // @downloadURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js diff --git a/PDF_Tools/PDF_Tools.user.js b/PDF_Tools/PDF_Tools.user.js index 2cf5805..d8a185f 100644 --- a/PDF_Tools/PDF_Tools.user.js +++ b/PDF_Tools/PDF_Tools.user.js @@ -5,6 +5,8 @@ // @version 1.0 // @namespace https://github.com/jerone/UserScripts // @author jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @include *.pdf diff --git a/README.md b/README.md index 7372114..12f0085 100644 --- a/README.md +++ b/README.md @@ -60,4 +60,4 @@ Please review the [guidelines for contributing](https://github.com/jerone/UserSc ## License -All UserScripts and other resources in [this repository](https://github.com/jerone/UserScripts) are [licensed under GPL-3.0](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) unless explicitly otherwise stated. +All UserScripts and other resources in [this repository](https://github.com/jerone/UserScripts) are licensed under [GPL-3.0 (`GPL-3.0-or-later`)](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) and [CC BY-NC-SA 4.0 (`CC-BY-NC-SA-4.0`)](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode) unless explicitly otherwise stated. diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 52fda48..5999ea2 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -4,7 +4,8 @@ // @description Hide replies on Twitter profiles // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account // @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account // @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index a4b8aa9..faac377 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -4,7 +4,8 @@ // @description Hide retweets on Twitter profiles // @author jerone // @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) -// @license GPL-3.0 +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account // @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account // @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js diff --git a/Userscripts.org_Diff_Extender/38909.user.js b/Userscripts.org_Diff_Extender/38909.user.js index ad99ec6..fb10385 100644 --- a/Userscripts.org_Diff_Extender/38909.user.js +++ b/Userscripts.org_Diff_Extender/38909.user.js @@ -7,6 +7,8 @@ // @description Add some handy features to the diff. // @description Userscripts.org Diff Extender v2.2.1 Alpha // @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version v2.2.1 Alpha // @browser FF17 // @include *userscripts.org/scripts/diff/* @@ -231,4 +233,4 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Chars (include spaces): 8.055 // Chars (Chinese): 0 // Words: 760 -// Lines: 233 \ No newline at end of file +// Lines: 233 diff --git a/Userscripts.org_Extended_Style/37212.user.js b/Userscripts.org_Extended_Style/37212.user.js index fd68517..f89a219 100644 --- a/Userscripts.org_Extended_Style/37212.user.js +++ b/Userscripts.org_Extended_Style/37212.user.js @@ -3,6 +3,8 @@ // @namespace http://userscripts.org/scripts/show/37212 // @description Userscripts.org Extended Style // @copyright jerone & Jesse A. +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @include *userscripts.org* // @grant GM_addStyle // ==/UserScript== @@ -67,4 +69,4 @@ GM_addStyle(" \ // Chars (include spaces): 2.266 // Chars (Chinese): 0 // Words: 277 -// Lines: 80 \ No newline at end of file +// Lines: 80 diff --git a/Userscripts.org_Scripts_Source_Counter/37611.user.js b/Userscripts.org_Scripts_Source_Counter/37611.user.js index 88e68c2..a928495 100644 --- a/Userscripts.org_Scripts_Source_Counter/37611.user.js +++ b/Userscripts.org_Scripts_Source_Counter/37611.user.js @@ -7,6 +7,8 @@ // @description Count all characters, words and lines for scriptwriters. // @description Userscripts.org Scripts Source Counter v3 // @copyright 2008 - 2013 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version 3 // @browser FF19 // @grant none @@ -104,4 +106,4 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Chars (incl. spaces): 3.795 // Words: 411 // Lines: 107 -// ==/UserStats== \ No newline at end of file +// ==/UserStats== diff --git a/Userscripts.org_Source_Numbering/38912.user.js b/Userscripts.org_Source_Numbering/38912.user.js index a4824f1..2ac2b3e 100644 --- a/Userscripts.org_Source_Numbering/38912.user.js +++ b/Userscripts.org_Source_Numbering/38912.user.js @@ -7,6 +7,8 @@ // @description Add line numbering to source code. // @description Userscripts.org Source Numbering v3 // @copyright 2008 - 2013 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version v3 // @include *userscripts.org/scripts/review/* // ==/UserScript== @@ -310,4 +312,4 @@ var maxLines = 10000; // [Integer] maximum number of lines (prevent browser fro // Chars (include spaces): 12.345 // Chars (Chinese): 0 // Words: 1.328 -// Lines: 362 \ No newline at end of file +// Lines: 362 diff --git a/Userscripts.org_Timed_Updater/37853.user.js b/Userscripts.org_Timed_Updater/37853.user.js index a8856c7..fcbb8ac 100644 --- a/Userscripts.org_Timed_Updater/37853.user.js +++ b/Userscripts.org_Timed_Updater/37853.user.js @@ -7,6 +7,8 @@ // @description Update or create script at specific time. // @description Userscripts.org Timed Updater v2.0.1 Alpha // @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version v2.0.1 Alpha // @browser FF17 // @include *userscripts.org/scripts/new?form=true @@ -205,4 +207,4 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Chars (include spaces): 7.376 // Chars (Chinese): 0 // Words: 768 -// Lines: 208 \ No newline at end of file +// Lines: 208 diff --git a/Userscripts.org_Topics_Column/38597.user.js b/Userscripts.org_Topics_Column/38597.user.js index 5859245..d47b0f0 100644 --- a/Userscripts.org_Topics_Column/38597.user.js +++ b/Userscripts.org_Topics_Column/38597.user.js @@ -7,6 +7,8 @@ // @description Add extra column with scripts topics in script management. // @description Userscripts.org Topics Column v2.1.1 Alpha // @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version v2.1.1 Alpha // @browser FF17 // @include *userscripts.org/home/scripts @@ -154,4 +156,4 @@ var updateTime = 3*60*60*1000; // [Number] update time (we don't want to flood u // Chars (include spaces): 5.163 // Chars (Chinese): 0 // Words: 537 -// Lines: 157 \ No newline at end of file +// Lines: 157 diff --git a/Userscripts.org_Versions_Column/38595.user.js b/Userscripts.org_Versions_Column/38595.user.js index 79c844a..9006005 100644 --- a/Userscripts.org_Versions_Column/38595.user.js +++ b/Userscripts.org_Versions_Column/38595.user.js @@ -7,6 +7,8 @@ // @description Add extra column with scripts versions in script management. // @description Userscripts.org Versions Column v1.3.1 Alpha // @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version v1.3.1 Alpha // @browser FF17 // @include *userscripts.org/home/scripts @@ -90,7 +92,7 @@ var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood th.className = "la"; th.width = "1%"; column.parentNode.insertBefore(th, column); - + var a = doc.createElement("a"); a.href = "/home/scripts?sort=versions"; a.innerHTML = "Versions"; @@ -100,9 +102,9 @@ var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood td.className = "inv lp"; td.innerHTML = "..."; column.parentNode.insertBefore(td, column); - + tds.push(td); - + var nr = tr.id.match(/\d+/)[0], now = new Date().getTime(); if(typeof(versions[nr])==="number" && now - parseInt(GM_getValue("UVC.lastCheck", 0), 10) < updateTime){ @@ -129,7 +131,7 @@ var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood } } }); - + if(/scripts\?sort=versions/i.test(win.location.href)){ tds.sort(function(a, b){ return parseInt(a.innerHTML, 10) - parseInt(b.innerHTML, 10); @@ -157,4 +159,4 @@ var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood // Chars (include spaces): 5.276 // Chars (Chinese): 0 // Words: 547 -// Lines: 160 \ No newline at end of file +// Lines: 160 diff --git a/Userscripts.org_Versions_Tab/38594.user.js b/Userscripts.org_Versions_Tab/38594.user.js index b78e8db..5581d2d 100644 --- a/Userscripts.org_Versions_Tab/38594.user.js +++ b/Userscripts.org_Versions_Tab/38594.user.js @@ -7,6 +7,8 @@ // @description Add versions tab to scripts menu. // @description Userscripts.org Versions Tab 3.4 // @copyright 2008 - 2013 jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @version 3.4 // @include *userscripts.org/scripts/* // @include *userscripts.org/topics/* @@ -39,7 +41,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. } else if(document.getElementById("script-nav")) { sourceTab = document.querySelector("#script-nav > li > a[href*='/scripts/review/']").parentNode; } - + if(sourceTab) { var nr; if(/\/topics\//.test(location.href) || /\/reviews\//.test(location.href)) { @@ -48,9 +50,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. nr = location.href.match(/https?:\/\/userscripts.org\/scripts\/.*\/(\d*)\b/)[1]; } if(!nr) return; - + var versions = eval(GM_getValue("UVT.versions", {})); - + var li = document.createElement("li"); li.classList.add("menu"); sourceTab.parentNode.insertBefore(li, sourceTab.nextSibling); @@ -59,11 +61,11 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. a.setAttribute("href", "/scripts/versions/" + nr); a.appendChild(document.createTextNode("Versions ")); li.appendChild(a); - + var span = document.createElement("span"); span.innerHTML = versions[nr] && versions[nr][0] || 1; a.appendChild(span); - + if(location.href.match(/scripts\/versions\/\d*/)){ li.className = "current"; var i = document.querySelectorAll("#content > ul > li").length; @@ -121,4 +123,4 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Chars (incl. spaces): 5.195 // Words: 462 // Lines: 124 -// ==/UserStats== \ No newline at end of file +// ==/UserStats== From 92dfdd31378d0f3070759aa5541c9e53e5f5f3b5 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 29 Sep 2018 22:31:56 +0200 Subject: [PATCH 095/164] =?UTF-8?q?=F0=9F=90=9B=20Fix=20showing=20filter.?= =?UTF-8?q?=20Fixes=20#137?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 6 +++--- Github_News_Feed_Filter/README.md | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index aca4203..a222c90 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -17,7 +17,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.4 +// @version 8.2.5 // @grant none // ==/UserScript== @@ -492,11 +492,11 @@ if (!newsContainer) { return; } // GitHub homepage or profile activity tab. - var sidebar = document.querySelector('.dashboard-sidebar') || document.querySelector('.profilecols > .column:first-child'); + var sidebar = document.querySelector('.dashboard-sidebar:not(.is-placeholder)') || document.querySelector('.profilecols > .column:first-child'); var wrapper = document.createElement(filterElement); wrapper.classList.add('boxed-group', 'flush', 'user-repos'); - sidebar.insertBefore(wrapper, sidebar.firstChild); + sidebar.insertBefore(wrapper, sidebar.querySelector(':scope > *:not(details)')); var headerAction = document.createElement('div'); headerAction.classList.add('boxed-group-action'); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index 38ef712..ebccf67 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,10 @@ Currently integrated filters: ## Version History +* **8.2.5** + + * 🐛 Fix showing filter. Fixes [#137](https://github.com/jerone/UserScripts/issues/137). + * **8.2.4** * 🐛 Nav styling. Fixes [#130](https://github.com/jerone/UserScripts/issues/130) and closes [#132](https://github.com/jerone/UserScripts/issues/132) (thanks [@darkred](https://github.com/darkred)). From 97901b2f9d9390b2296060f1097b8482e8174503 Mon Sep 17 00:00:00 2001 From: J den Hartog Date: Tue, 13 Nov 2018 16:26:05 +0100 Subject: [PATCH 096/164] Update to match new(?) Marktplaats.nl look (#138) --- Marktplaats_Exchanger/Marktplaats_Exchanger.user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index 5336eab..9e356fa 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -27,13 +27,14 @@ var button = document.createElement("div"); button.setAttribute("title", "Selecteer alle verkochte advertenties"); - button.style.background = "transparent linear-gradient(to bottom, #FEFEFE 0%, #D9D9D9 100%) repeat scroll 0% 0%"; + button.style.background = "#F7F7F6"; button.style.border = "1px solid #A1A1A1"; button.style.cssFloat = "left"; button.style.cursor = "default"; button.style.height = "30px"; button.style.marginRight = "5px"; button.style.padding = "0 8px"; + button.style.fontFamily = "Roboto"; selectAll.parentNode.insertBefore(button, selectAll.nextSibling); var selectInput = document.createElement("input"); From ecd643870f8d7209302e3eca32842db73db58822 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 13 Nov 2018 16:30:07 +0100 Subject: [PATCH 097/164] Update Marktplaats_Exchanger.user.js (#139) * Update Marktplaats_Exchanger.user.js * Update README.md --- Marktplaats_Exchanger/Marktplaats_Exchanger.user.js | 2 +- Marktplaats_Exchanger/README.md | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index 9e356fa..a74c458 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.0 +// @version 1.0.1 // @grant none // @run-at document-end // @include https://www.marktplaats.* diff --git a/Marktplaats_Exchanger/README.md b/Marktplaats_Exchanger/README.md index 325e978..3fbfde5 100644 --- a/Marktplaats_Exchanger/README.md +++ b/Marktplaats_Exchanger/README.md @@ -23,8 +23,11 @@ Adds an extra checkbox on the "Mijn Favorieten" page to select all sold ads for ## Version History +* **1.0.1** + * Update to match Marktplaats.nl look ([#138](https://github.com/jerone/UserScripts/pull/138)). + * **1.0.0** - * Initial version; + * Initial version. ## External links From f6609406bd3e32964f8eb6166294bbb1d29f3970 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 20 Nov 2018 21:51:02 +0200 Subject: [PATCH 098/164] Update after HTML changes (fix #68) (#140) --- .../Github_News_Feed_Filter.user.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index a222c90..09a8dae 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -17,7 +17,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.5 +// @version 8.2.6 // @grant none // ==/UserScript== @@ -265,11 +265,11 @@ // Show/hide alerts. if (classNames.length === 0 || classNames.every(function (cl) { return cl.every(function (c) { return !!~c.indexOf('*'); }); })) { anyVisibleAlert = true; - Array.prototype.forEach.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.forEach.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { alert.parentNode.style.display = 'block'; }); } else { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { return alert.parentNode; }).forEach(function (alert) { var show = classNames.every(function (cl) { return cl.some(function (c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); @@ -303,7 +303,7 @@ // Fix filter action identification. function fixActionAlerts(newsContainer) { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { return alert.parentNode; }).forEach(function (alert) { if (!!~alert.textContent.indexOf('created branch')) { @@ -336,7 +336,7 @@ // Get unique list of repos. var userRepos = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { return alert.parentNode; }).forEach(function (alert) { var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]:not([data-ga-click*="target:repositories"])'); @@ -378,7 +378,7 @@ USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-organization', classNames: ['*-user'] }]; var users = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { return alert.parentNode; }).forEach(function (alert) { var usernameElms = alert.querySelectorAll(':scope [data-ga-click*="target:actor"]'); @@ -414,7 +414,7 @@ } }); } - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { return alert.parentNode; }).forEach(function (alert) { var show = classNames.every(function (cl) { return cl.some(function (c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); @@ -426,9 +426,9 @@ // Count alerts based on current filter. var countAll = 0; if (!!~li.filterClassNames[0].indexOf('*')) { - countAll = newsContainer.querySelectorAll(':scope > div > .body').length; + countAll = newsContainer.querySelectorAll(':scope > div > div > .body').length; } else { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > .body'), function (alert) { + Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { return alert.parentNode; }).forEach(function (alert) { if (li.filterClassNames.some(function (cl) { return alert.classList.contains(cl); })) { From d800d80f2fbcd3a405bca49e7ebc56c288bb4ebb Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 20 Nov 2018 22:08:56 +0100 Subject: [PATCH 099/164] Fix after another layout change. Refixes #68. --- .../Github_News_Feed_Filter.user.js | 65 +++++++++---------- Github_News_Feed_Filter/README.md | 8 +++ 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 09a8dae..0ddc620 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -17,7 +17,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.6 +// @version 8.2.7 // @grant none // ==/UserScript== @@ -53,7 +53,7 @@ { id: '*-action', text: 'All news feed', icon: 'octicon-radio-tower', classNames: ['*-action'] }, { id: 'issues', text: 'Issues', icon: 'octicon-issue-opened', classNames: ['issues_labeled'], subFilters: [ - { id: 'issues labeled', text: 'Labeled', icon: 'octicon-tag', classNames: ['issues_labeled'] }, + { id: 'issues labeled', text: 'Labeled', icon: 'octicon-tag', classNames: ['issues_labeled'] } ] }, { @@ -263,16 +263,14 @@ } // Show/hide alerts. - if (classNames.length === 0 || classNames.every(function (cl) { return cl.every(function (c) { return !!~c.indexOf('*'); }); })) { + if (classNames.length === 0 || classNames.every(function (cl) { return cl.every(function (c) { return ~c.indexOf('*'); }); })) { anyVisibleAlert = true; - Array.prototype.forEach.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - alert.parentNode.style.display = 'block'; + getAllAlerts(newsContainer).forEach(function (alert) { + alert.style.display = 'block'; }); } else { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - return alert.parentNode; - }).forEach(function (alert) { - var show = classNames.every(function (cl) { return cl.some(function (c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); + getAllAlerts(newsContainer).forEach(function (alert) { + var show = classNames.every(function (cl) { return cl.some(function (c) { return ~c.indexOf('*') || alert.classList.contains(c); }); }); anyVisibleAlert = show || anyVisibleAlert; alert.style.display = show ? 'block' : 'none'; // DEBUG: uncomment following line and comment previous line to debug all alerts. @@ -288,7 +286,8 @@ none = document.createElement('div'); none.classList.add('no-alerts'); none.appendChild(document.createTextNode('No feed items for this filter. Please select another filter.')); - newsContainer.insertBefore(none, newsContainer.firstElementChild.nextElementSibling); + var firstAlert = getAllAlerts(newsContainer)[0]; + firstAlert.parentNode.insertBefore(none, firstAlert); } } @@ -303,13 +302,11 @@ // Fix filter action identification. function fixActionAlerts(newsContainer) { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - return alert.parentNode; - }).forEach(function (alert) { - if (!!~alert.textContent.indexOf('created branch')) { + getAllAlerts(newsContainer).forEach(function (alert) { + if (~alert.textContent.indexOf('created branch')) { alert.classList.remove('create'); alert.classList.add('branch_create'); - } else if (!!~alert.textContent.indexOf('deleted branch')) { + } else if (~alert.textContent.indexOf('deleted branch')) { alert.classList.remove('delete'); alert.classList.add('branch_delete'); } else if (alert.getElementsByClassName('octicon-tag').length > 0 && !alert.classList.contains('release')) { @@ -318,13 +315,13 @@ } else if (alert.getElementsByClassName('octicon-tag-remove').length > 0) { alert.classList.remove('delete'); alert.classList.add('tag_remove'); - } else if (!!~alert.textContent.indexOf('labeled an issue')) { + } else if (~alert.textContent.indexOf('labeled an issue')) { alert.classList.add('issues_labeled'); } else if (alert.classList.contains('gollum')) { alert.classList.remove('gollum'); - if (!!~alert.innerText.indexOf(' created a wiki page in ')) { + if (~alert.innerText.indexOf(' created a wiki page in ')) { alert.classList.add('wiki_created'); - } else if (!!~alert.innerText.indexOf(' edited a wiki page in ')) { + } else if (~alert.innerText.indexOf(' edited a wiki page in ')) { alert.classList.add('wiki_edited'); } } @@ -336,9 +333,7 @@ // Get unique list of repos. var userRepos = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - return alert.parentNode; - }).forEach(function (alert) { + getAllAlerts(newsContainer).forEach(function (alert) { var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]:not([data-ga-click*="target:repositories"])'); if (alertRepo) { // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; @@ -378,9 +373,7 @@ USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-organization', classNames: ['*-user'] }]; var users = new Set(); - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - return alert.parentNode; - }).forEach(function (alert) { + getAllAlerts(newsContainer).forEach(function (alert) { var usernameElms = alert.querySelectorAll(':scope [data-ga-click*="target:actor"]'); Array.prototype.find.call(usernameElms, function (usernameElm) { var username = usernameElm.textContent; @@ -389,6 +382,7 @@ users.add(username); return true; } + return false; }); }); @@ -414,10 +408,8 @@ } }); } - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - return alert.parentNode; - }).forEach(function (alert) { - var show = classNames.every(function (cl) { return cl.some(function (c) { return !!~c.indexOf('*') || alert.classList.contains(c); }); }); + getAllAlerts(newsContainer).forEach(function (alert) { + var show = classNames.every(function (cl) { return cl.some(function (c) { return ~c.indexOf('*') || alert.classList.contains(c); }); }); if (show) { countFiltered++; } @@ -425,12 +417,10 @@ // Count alerts based on current filter. var countAll = 0; - if (!!~li.filterClassNames[0].indexOf('*')) { - countAll = newsContainer.querySelectorAll(':scope > div > div > .body').length; + if (~li.filterClassNames[0].indexOf('*')) { + countAll = getAllAlerts(newsContainer).length; } else { - Array.prototype.map.call(newsContainer.querySelectorAll(':scope > div > div > .body'), function (alert) { - return alert.parentNode; - }).forEach(function (alert) { + getAllAlerts(newsContainer).forEach(function (alert) { if (li.filterClassNames.some(function (cl) { return alert.classList.contains(cl); })) { countAll++; } @@ -441,6 +431,13 @@ }); } + // Get all alerts. + function getAllAlerts(newsContainer) { + return Array.prototype.map.call(newsContainer.querySelectorAll(':scope div[data-repository-hovercards-enabled] > div > .body'), function (alert) { + return alert.parentNode; + }); + } + var CURRENT = {}; // Set current filter. @@ -591,7 +588,7 @@ new MutationObserver(function () { // Re-click the current selected filter on open filter tab. filterer.querySelector('a.selected').dispatchEvent(new Event('click')); - }).observe(newsContainer, { childList: true }); + }).observe(newsContainer, { childList: true, subtree: true }); })(); })(); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index ebccf67..e4b0f50 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,14 @@ Currently integrated filters: ## Version History +* **8.2.7** + + * 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68). + +* **8.2.6** + + * 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68) with [#140](https://github.com/jerone/UserScripts/pull/140) (thanks [@darkred](https://github.com/darkred)). + * **8.2.5** * 🐛 Fix showing filter. Fixes [#137](https://github.com/jerone/UserScripts/issues/137). From e60d4c1bd289e56273b4a19a146ca991ad3eba78 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 25 Nov 2018 16:40:53 +0100 Subject: [PATCH 100/164] Don't run on repo search page. --- .../Github_Pull_Request_From.user.js | 16 +++++++++------- Github_Pull_Request_From/README.md | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 51b942d..33e5295 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -13,32 +13,34 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://assets-cdn.github.com/pinned-octocat.svg -// @version 19 +// @version 19.1 // @grant none // @include https://github.com/*/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch // ==/UserScript== -(function() { +(function () { - String.format = function(string) { + String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { + return string.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] !== "undefined" ? args[number] : match; }); }; function init() { + if (!document.querySelector('.repohead-details-container h1 [itemprop="name"]')) return; + var repo = document.querySelector('.repohead-details-container h1 [itemprop="name"]').textContent, author = document.querySelector('.repohead-details-container h1 [itemprop="author"]').textContent; - Array.prototype.filter.call(document.querySelectorAll("span.commit-ref"), function(treeSpan) { + Array.prototype.filter.call(document.querySelectorAll("span.commit-ref"), function (treeSpan) { return !treeSpan.querySelector(".unknown-repo"); - }).forEach(function(treeSpan) { + }).forEach(function (treeSpan) { var treeUser = treeSpan.querySelector('.user'); var treeParts = treeSpan.querySelectorAll('.css-truncate-target'); var treeLink = document.createElement("a"); - Array.prototype.forEach.call(treeParts, function(part) { + Array.prototype.forEach.call(treeParts, function (part) { part.style.display = "inline"; }); treeLink.setAttribute("href", String.format("/{0}/{1}/tree/{2}", diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 532af8e..1f1ae94 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -23,6 +23,8 @@ Make pull request branches linkable. ## Version History +* **19.1** + * Don't run on repo search page. * **19** * Don't run on .patch & .diff route. * **18** From f2f0998d56f8bd5a9be6864c57bc7082af7e4120 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 2 Feb 2019 20:29:19 +0100 Subject: [PATCH 101/164] Housekeeping --- _resources/UserScripts/UserScripts.sln | 23 ------------------- .../UserScripts.sln.DotSettings.user | 3 +++ 2 files changed, 3 insertions(+), 23 deletions(-) create mode 100644 _resources/UserScripts/UserScripts.sln.DotSettings.user diff --git a/_resources/UserScripts/UserScripts.sln b/_resources/UserScripts/UserScripts.sln index 998dc4d..1db9e1a 100644 --- a/_resources/UserScripts/UserScripts.sln +++ b/_resources/UserScripts/UserScripts.sln @@ -30,27 +30,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution WebEssentials-Settings.json = WebEssentials-Settings.json EndProjectSection EndProject -Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "gm_scripts", "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\", "{FC4B0BF2-B3D5-4519-9764-ECA520C06AD3}" - ProjectSection(WebsiteProperties) = preProject - TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" - Debug.AspNetCompiler.VirtualPath = "/localhost_53345" - Debug.AspNetCompiler.PhysicalPath = "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\" - Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_53345\" - Debug.AspNetCompiler.Updateable = "true" - Debug.AspNetCompiler.ForceOverwrite = "true" - Debug.AspNetCompiler.FixedNames = "false" - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.VirtualPath = "/localhost_53345" - Release.AspNetCompiler.PhysicalPath = "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\" - Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_53345\" - Release.AspNetCompiler.Updateable = "true" - Release.AspNetCompiler.ForceOverwrite = "true" - Release.AspNetCompiler.FixedNames = "false" - Release.AspNetCompiler.Debug = "False" - VWDPort = "53345" - SlnRelativePath = "..\..\..\..\Users\jeron\AppData\Roaming\Mozilla\Firefox\Profiles\x1fwlaep.default\gm_scripts\" - EndProjectSection -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -58,8 +37,6 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FC4B0BF2-B3D5-4519-9764-ECA520C06AD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FC4B0BF2-B3D5-4519-9764-ECA520C06AD3}.Debug|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/_resources/UserScripts/UserScripts.sln.DotSettings.user b/_resources/UserScripts/UserScripts.sln.DotSettings.user new file mode 100644 index 0000000..99e3685 --- /dev/null +++ b/_resources/UserScripts/UserScripts.sln.DotSettings.user @@ -0,0 +1,3 @@ + + True + True \ No newline at end of file From 43b8e29abf5123f2e60ac7f9773c2a5d9dc98e7f Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 2 Feb 2019 22:05:01 +0100 Subject: [PATCH 102/164] Replace to-markdown with turndown. Some clean up. Always fallback to turndown. --- .../Github_Reply_Comments.user.js | 232 +++--------------- 1 file changed, 35 insertions(+), 197 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index ddd94d2..3c0252c 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,219 +12,62 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.1.2 +// @version 1.0.0 // @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @include https://github.com/* // @include https://gist.github.com/* +// @require https://unpkg.com/turndown@5.0.3/dist/turndown.js +// @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js // ==/UserScript== -(function() { +(function () { - String.format = function(string) { + String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { + return string.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] !== "undefined" ? args[number] : match; }); }; - /* - * to-markdown - an HTML to Markdown converter - * Copyright 2011, Dom Christie - * Licenced under the MIT licence - * Source: https://github.com/domchristie/to-markdown - * - * Code is altered: - * - Added task list support: https://github.com/domchristie/to-markdown/pull/62 - * - He dependecy is removed - */ - var toMarkdown = function(string) { - - var ELEMENTS = [{ - patterns: 'p', - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '\n\n' + innerHTML + '\n' : ''; - } - }, { - patterns: 'br', - type: 'void', - replacement: ' \n' - }, { - patterns: 'h([1-6])', - replacement: function(str, hLevel, attrs, innerHTML) { - var hPrefix = ''; - for (var i = 0; i < hLevel; i++) { - hPrefix += '#'; - } - return '\n\n' + hPrefix + ' ' + innerHTML + '\n'; - } - }, { - patterns: 'hr', - type: 'void', - replacement: '\n\n* * *\n' - }, { - patterns: 'a', - replacement: function(str, attrs, innerHTML) { - var href = attrs.match(attrRegExp('href')), - title = attrs.match(attrRegExp('title')); - return href ? '[' + innerHTML + ']' + '(' + href[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : str; - } - }, { - patterns: ['b', 'strong'], - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '**' + innerHTML + '**' : ''; - } - }, { - patterns: ['i', 'em'], - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '_' + innerHTML + '_' : ''; - } - }, { - patterns: 'code', - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '`' + innerHTML + '`' : ''; - } - }, { - patterns: 'img', - type: 'void', - replacement: function(str, attrs) { - var src = attrs.match(attrRegExp('src')), - alt = attrs.match(attrRegExp('alt')), - title = attrs.match(attrRegExp('title')); - return src ? '![' + (alt && alt[1] ? alt[1] : '') + ']' + '(' + src[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : ''; - } - }]; - - for (var i = 0, len = ELEMENTS.length; i < len; i++) { - if (typeof ELEMENTS[i].patterns === 'string') { - string = replaceEls(string, { - tag: ELEMENTS[i].patterns, - replacement: ELEMENTS[i].replacement, - type: ELEMENTS[i].type - }); - } else { - for (var j = 0, pLen = ELEMENTS[i].patterns.length; j < pLen; j++) { - string = replaceEls(string, { - tag: ELEMENTS[i].patterns[j], - replacement: ELEMENTS[i].replacement, - type: ELEMENTS[i].type - }); - } - } - } - - function replaceEls(html, elProperties) { - var pattern = elProperties.type === 'void' ? '<' + elProperties.tag + '\\b([^>]*)\\/?>' : '<' + elProperties.tag + '\\b([^>]*)>([\\s\\S]*?)<\\/' + elProperties.tag + '>', - regex = new RegExp(pattern, 'gi'), - markdown = ''; - if (typeof elProperties.replacement === 'string') { - markdown = html.replace(regex, elProperties.replacement); - } else { - markdown = html.replace(regex, function(str, p1, p2, p3) { - return elProperties.replacement.call(this, str, p1, p2, p3); - }); - } - return markdown; - } - - function attrRegExp(attr) { - return new RegExp(attr + '\\s*=\\s*["\']?([^"\']*)["\']?', 'i'); - } - - // Pre code blocks - - string = string.replace(/]*>`([\s\S]*?)`<\/pre>/gi, function(str, innerHTML) { - var text = innerHTML; - text = text.replace(/^\t+/g, ' '); // convert tabs to spaces (you know it makes sense) - text = text.replace(/\n/g, '\n '); - return '\n\n ' + text + '\n'; - }); - - // Lists - - // Escape numbers that could trigger an ol - // If there are more than three spaces before the code, it would be in a pre tag - // Make sure we are escaping the period not matching any character - string = string.replace(/^(\s{0,3}\d+)\. /g, '$1\\. '); - - // Converts lists that have no child lists (of same type) first, then works its way up - var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!/gi; - while (string.match(noChildrenRegex)) { - string = string.replace(noChildrenRegex, replaceLists); - } - - function replaceLists(html) { - - html = html.replace(/<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, function(str, listType, innerHTML) { - var lis = innerHTML.split(''); - lis.splice(lis.length - 1, 1); - - for (i = 0, len = lis.length; i < len; i++) { - if (lis[i]) { - var prefix = (listType === 'ol') ? (i + 1) + ". " : "* "; - lis[i] = lis[i].replace(/\s*]*>([\s\S]*)/i, function(str, innerHTML) { - innerHTML = innerHTML.replace(/\s*]*?(checked[^>]*)?type=['"]?checkbox['"]?[^>]>/, function(inputStr, checked) { - return checked ? '[X]' : '[ ]'; - }); - innerHTML = innerHTML.replace(/^\s+/, ''); - innerHTML = innerHTML.replace(/\n\n/g, '\n\n '); - // indent nested lists - innerHTML = innerHTML.replace(/\n([ ]*)+(\*|\d+\.) /g, '\n$1 $2 '); - return prefix + innerHTML; - }); - } - lis[i] = lis[i].replace(/(.) +$/m, '$1'); - } - return lis.join('\n'); - }); - - return '\n\n' + html.replace(/[ \t]+\n|\s+$/g, ''); - } - - // Blockquotes - var deepest = /]*>((?:(?!/gi; - while (string.match(deepest)) { - string = string.replace(deepest, replaceBlockquotes); - } - - function replaceBlockquotes(html) { - html = html.replace(/]*>([\s\S]*?)<\/blockquote>/gi, function(str, inner) { - inner = inner.replace(/^\s+|\s+$/g, ''); - inner = cleanUp(inner); - inner = inner.replace(/^/gm, '> '); - inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, '> >'); - return inner; - }); - return html; - } - - function cleanUp(string) { - string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); // trim leading/trailing whitespace - string = string.replace(/\n\s+\n/g, '\n\n'); - string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive linebreaks to 2 - return string; - } - - return cleanUp(string); - }; + var turndownService = new TurndownService(); + turndownService.use(turndownPluginGfm.gfm); function getCommentTextarea(replyBtn) { var newComment = replyBtn; - while (newComment && !newComment.classList.contains('js-quote-selection-container')) { + while (newComment && !newComment.classList.contains("js-quote-selection-container")) { newComment = newComment.parentNode; } - var inlineComment = newComment.querySelector(".js-inline-comment-form-container") + var inlineComment = newComment.querySelector(".js-inline-comment-form-container"); if (inlineComment) { - inlineComment.classList.add('open'); + inlineComment.classList.add("open"); } var textareas = newComment.querySelectorAll(":scope > :not(.last-review-thread) .comment-form-textarea"); return textareas[textareas.length - 1]; } + function getCommentMarkdown(comment) { + var commentText = ""; + + // Use raw comment when available. + var commentForm = comment.querySelector(".comment-form-textarea"); + if (commentForm) { + commentText = commentForm.value; + } + + // Convert comment HTML to markdown. + if (!commentText) { + var commentBody = comment.querySelector(".comment-body").innerHTML; + commentText = turndownService.turndown(commentBody); + } + + return commentText; + } + function addReplyButtons() { - Array.prototype.forEach.call(document.querySelectorAll(".comment, .review-comment"), function(comment) { + Array.prototype.forEach.call(document.querySelectorAll(".comment, .review-comment"), function (comment) { var oldReply = comment.querySelector(".GithubReplyComments, .GithubCommentEnhancerReply"); if (oldReply) { oldReply.parentNode.removeChild(oldReply); @@ -251,23 +94,18 @@ reply.setAttribute("title", "Reply to this comment"); reply.setAttribute("aria-label", "Reply to this comment"); reply.classList.add("GithubReplyComments", "btn-link", "timeline-comment-action", "tooltipped", "tooltipped-ne"); - reply.addEventListener("click", function(e) { + reply.addEventListener("click", function (e) { e.preventDefault(); - var newComment = getCommentTextarea(this); - var timestamp = comment.querySelector(".timestamp"); - var commentText = comment.querySelector(".comment-form-textarea"); - if (commentText) { - commentText = commentText.value; - } else { - commentText = toMarkdown(comment.querySelector(".comment-body").innerHTML); - } - commentText = commentText.trim().split("\n").map(function(line) { + var commentText = getCommentMarkdown(comment); + commentText = commentText.trim().split("\n").map(function (line) { return "> " + line; }).join("\n"); + var newComment = getCommentTextarea(this); + var text = newComment.value.length > 0 ? "\n" : ""; text += String.format('[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', comment.querySelector(".author").textContent, From d6144b9af8dae9e13ec25bab8865fc842077553a Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 2 Feb 2019 22:22:53 +0100 Subject: [PATCH 103/164] Convert code snippets back to links. Fixes #144 --- .../Github_Reply_Comments.user.js | 2 ++ Github_Reply_Comments/README.md | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 3c0252c..b29a503 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -19,6 +19,7 @@ // @include https://gist.github.com/* // @require https://unpkg.com/turndown@5.0.3/dist/turndown.js // @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js +// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.0/turndown-plugin-github-code-snippet.js // ==/UserScript== (function () { @@ -32,6 +33,7 @@ var turndownService = new TurndownService(); turndownService.use(turndownPluginGfm.gfm); + turndownService.use(turndownPluginGithubCodeSnippet); function getCommentTextarea(replyBtn) { var newComment = replyBtn; diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index ab54197..68bff7d 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,17 +20,24 @@ reply button on an comment. ## Version History +* version **1.0.0** + + * Replace to-markdown with [Turndown](https://github.com/domchristie/turndown). + * Some clean up. + * Always fallback to Turndown. + * Convert code snippets back to links. Fixes [#144](https://github.com/jerone/UserScripts/issues/133). + * version **0.1.2** - * Fix reply button for commits & reviews. Fixes [#133](https://github.com/jerone/UserScripts/issues/133) + * Fix reply button for commits & reviews. Fixes [#133](https://github.com/jerone/UserScripts/issues/133). * version **0.1.1** - * Fix reply button for reviews. Fixes [#125](https://github.com/jerone/UserScripts/issues/125) + * Fix reply button for reviews. Fixes [#125](https://github.com/jerone/UserScripts/issues/125). * version **0.1.0** - * Initial version + * Initial version. ## Test cases @@ -47,8 +54,9 @@ reply button on an comment. ## Dependencies -* Part of [domchristie](https://github.com/domchristie)'s library -[**to-markdown**](https://github.com/domchristie/to-markdown) is used. +* [Turndown](https://github.com/domchristie/turndown) - Convert HTML into Markdown with JavaScript. +* [turndown-plugin-gfm](https://github.com/domchristie/turndown-plugin-gfm/blob/master/README.md) - A Turndown plugin which adds GitHub Flavored Markdown extensions. +* [turndown-plugin-github-code-snippet](https://github.com/jerone/turndown-plugin-github-code-snippet) - A Turndown plugin to convert GitHub code snippet in comments back into normal links. ## External links From 40e2960186c0893f096e11bdc1351dc9e1529b4b Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 3 Feb 2019 20:16:01 +0100 Subject: [PATCH 104/164] Remove trailing new line & 'Toggle code wrap' button* from code blocks * https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap --- .../Github_Reply_Comments.user.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index b29a503..725027e 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -61,8 +61,20 @@ // Convert comment HTML to markdown. if (!commentText) { - var commentBody = comment.querySelector(".comment-body").innerHTML; - commentText = turndownService.turndown(commentBody); + // Clone it, so we can alter the HTML a bit, without modifing the page. + var commentBody = comment.querySelector(".comment-body").cloneNode(true); + + // Remove 'Toggle code wrap' buttons from https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap + Array.prototype.forEach.call(commentBody.querySelectorAll(".ghd-wrap-toggle"), function (ghd) { + ghd.remove(); + }); + + // GitHub add an extra new line, which is converted by Turndown. + Array.prototype.forEach.call(commentBody.querySelectorAll("pre code"), function (pre) { + pre.innerHTML = pre.innerHTML.replace(/\n$/g, ''); + }); + + commentText = turndownService.turndown(commentBody.innerHTML); } return commentText; From dd5e7fdcec74abe3a44b99a220b9e42266173b9d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 3 Feb 2019 21:10:06 +0100 Subject: [PATCH 105/164] Use atx style headings, fenced code blocks, dense hr style --- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 725027e..b607474 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -31,7 +31,7 @@ }); }; - var turndownService = new TurndownService(); + var turndownService = new TurndownService({ headingStyle: 'atx', codeBlockStyle: 'fenced', hr: '***' }); turndownService.use(turndownPluginGfm.gfm); turndownService.use(turndownPluginGithubCodeSnippet); From c88e10ee38a2c7988c415324b6d65e8e3ccb8478 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 3 Feb 2019 21:51:21 +0100 Subject: [PATCH 106/164] Update turndown-plugin-github-code-snippet --- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index b607474..b49e96f 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -19,7 +19,7 @@ // @include https://gist.github.com/* // @require https://unpkg.com/turndown@5.0.3/dist/turndown.js // @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js -// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.0/turndown-plugin-github-code-snippet.js +// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.2/turndown-plugin-github-code-snippet.js // ==/UserScript== (function () { From fd0e2d62b1b9b48e53e6b3f9d12fbfd48e63514c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 3 Feb 2019 21:58:19 +0100 Subject: [PATCH 107/164] Update Github Reply Comments --- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_Reply_Comments/README.md | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index b49e96f..fd43f88 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.0 +// @version 1.0.1 // @icon https://assets-cdn.github.com/pinned-octocat.svg // @grant none // @include https://github.com/* diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 68bff7d..0e381d4 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,11 +20,17 @@ reply button on an comment. ## Version History +* version **1.0.1** + + * Use atx style headings, fenced code blocks, dense hr style. + * Remove trailing new line & ['Toggle code wrap'](https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap) button from code blocks. + * Update [turndown-plugin-github-code-snippet](https://github.com/jerone/turndown-plugin-github-code-snippet). + * version **1.0.0** * Replace to-markdown with [Turndown](https://github.com/domchristie/turndown). * Some clean up. - * Always fallback to Turndown. + * Always fallback to Turndown when original comment code is not available. * Convert code snippets back to links. Fixes [#144](https://github.com/jerone/UserScripts/issues/133). * version **0.1.2** From df9d6ecd7c7645b336eea68ef17027c80adbf2dd Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 4 Feb 2019 22:43:37 +0100 Subject: [PATCH 108/164] Fix url on forks where another repo name is choosen. Fixes #145 Run on more elements. --- .../Github_Pull_Request_From.user.js | 30 ++++++++----------- Github_Pull_Request_From/README.md | 4 +++ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 33e5295..9763529 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -13,9 +13,9 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://assets-cdn.github.com/pinned-octocat.svg -// @version 19.1 +// @version 20.0 // @grant none -// @include https://github.com/*/* +// @include https://github.com/*/pull/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch // ==/UserScript== @@ -25,30 +25,26 @@ String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); return string.replace(/{(\d+)}/g, function (match, number) { - return typeof args[number] !== "undefined" ? args[number] : match; + return typeof args[number] !== 'undefined' ? args[number] : match; }); }; function init() { - if (!document.querySelector('.repohead-details-container h1 [itemprop="name"]')) return; - - var repo = document.querySelector('.repohead-details-container h1 [itemprop="name"]').textContent, - author = document.querySelector('.repohead-details-container h1 [itemprop="author"]').textContent; - Array.prototype.filter.call(document.querySelectorAll("span.commit-ref"), function (treeSpan) { - return !treeSpan.querySelector(".unknown-repo"); + Array.prototype.filter.call(document.querySelectorAll('.commit-ref[title], .base-ref[title], .head-ref[title]'), function (treeSpan) { + return !treeSpan.querySelector('.unknown-repo'); }).forEach(function (treeSpan) { - var treeUser = treeSpan.querySelector('.user'); + const [repo, branch] = treeSpan.title.split(':'); var treeParts = treeSpan.querySelectorAll('.css-truncate-target'); - var treeLink = document.createElement("a"); + var treeLink = document.createElement('a'); + + // Show underline on hover. Array.prototype.forEach.call(treeParts, function (part) { - part.style.display = "inline"; + part.style.display = 'inline'; }); - treeLink.setAttribute("href", String.format("/{0}/{1}/tree/{2}", - treeUser ? treeUser.textContent : author, // user - repo, // repository - escape(treeParts[treeParts.length - 1].textContent))); // branch + + treeLink.setAttribute('href', String.format('/{0}/tree/{1}', repo, branch)); treeLink.innerHTML = treeSpan.innerHTML; - treeSpan.innerHTML = ""; + treeSpan.innerHTML = ''; treeSpan.appendChild(treeLink); }); } diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 1f1ae94..79e07fe 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -23,6 +23,9 @@ Make pull request branches linkable. ## Version History +* **20.0** + * Fix url on forks where another repo name is choosen. Fixes [145](https://github.com/jerone/UserScripts/issues/145). + * Run on more elements. * **19.1** * Don't run on repo search page. * **19** @@ -55,6 +58,7 @@ Use cases: * (2 valid, 1 missing). * (1 mine, 1 extern). * (3 without username). +* (fork renamed). ## Contributions From 45c5a61e99a3219ba937ec8fc7c60ed9a5776513 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 4 Feb 2019 22:44:07 +0100 Subject: [PATCH 109/164] DEV --- _resources/UserScripts/UserScripts.sln.DotSettings.user | 1 + 1 file changed, 1 insertion(+) diff --git a/_resources/UserScripts/UserScripts.sln.DotSettings.user b/_resources/UserScripts/UserScripts.sln.DotSettings.user index 99e3685..a498caa 100644 --- a/_resources/UserScripts/UserScripts.sln.DotSettings.user +++ b/_resources/UserScripts/UserScripts.sln.DotSettings.user @@ -1,3 +1,4 @@  + 2 True True \ No newline at end of file From 4628560c006c3b87036bfc6dc6873e7791367a0c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 3 Apr 2019 14:49:30 +0200 Subject: [PATCH 110/164] --- Github_Commit_Diff/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index cf8d015..3117964 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -8,7 +8,7 @@ ## Description Adds a button to show the `.diff` file for every commit. -Hold Shift key to open the `.patch` file instead of an `.diff` file. +Hold Shift key to open the `.patch` file instead of an `.diff` file. This works on commits, pull requests and compare pages. ## Screenshot From bb7e2ed6e587f88512ecf222fb9eb7b212da9624 Mon Sep 17 00:00:00 2001 From: OttNorml Date: Wed, 24 Apr 2019 09:55:32 +0200 Subject: [PATCH 111/164] Fix broken icon urls (#146) --- GitHub_Commit_Compare/GitHub_Commit_Compare.user.js | 2 +- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 2 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 2 +- Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 2 +- Github_Gist_Share/157850.user.js | 2 +- Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- .../Github_JSON_Dependencies_Linker.user.js | 2 +- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- Github_Pages_Linker/Github_Pages_Linker.user.js | 2 +- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_User_Info/Github_User_Info.user.js | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index bb16f19..eddc639 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @include https://github.com/*/*/commits // @include https://github.com/*/*/commits/* // @exclude https://github.com/*/*.diff diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 97012ac..4f3a35c 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -14,7 +14,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 2.9.0 -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @run-at document-end // @include https://github.com/* diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 9de0218..dbc6410 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @include https://github.com/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index ad9dd3a..1ff4209 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @include https://github.com/* // @version 1.5.3 // @grant none diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 356bb81..fa79212 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @include *://gist.github.com/* // @version 5.0 // @grant none diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index f82202c..033e3a7 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -14,7 +14,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 0.4.1 -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @run-at document-end // @include https://github.com/* diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index c567bdd..1d2e675 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -14,7 +14,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 0.3.1 -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @grant GM_xmlhttpRequest // @run-at document-end // @include https://github.com/*/package.json diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 0ddc620..d005d78 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -12,7 +12,7 @@ // @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @include https://github.com/ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 9492c1e..21354cd 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @version 1.2.2 // @grant none // @run-at document-end diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 9763529..baefd38 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @version 20.0 // @grant none // @include https://github.com/*/pull/* diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index fd43f88..bc11bbb 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -13,7 +13,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @version 1.0.1 -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @include https://github.com/* // @include https://gist.github.com/* diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 2bca004..91bde35 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://assets-cdn.github.com/pinned-octocat.svg +// @icon https://github.githubassets.com/pinned-octocat.svg // @version 0.4.0 // @grant GM_xmlhttpRequest // @grant GM_setValue From a0ba25ec630e3e37f01f6f65b1ad61051746c521 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Wed, 24 Apr 2019 11:10:19 +0200 Subject: [PATCH 112/164] Update version after fix for broken icon urls. see #146 --- GitHub_Commit_Compare/GitHub_Commit_Compare.user.js | 2 +- GitHub_Commit_Compare/README.md | 4 ++++ Github_Commit_Diff/Github_Commit_Diff.user.js | 2 +- Github_Commit_Diff/README.md | 4 ++++ Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 2 +- Github_Commit_Whitespace/README.md | 4 ++++ Github_Gist_Share/157850.user.js | 2 +- Github_Gist_Share/README.md | 4 ++++ Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- Github_Image_Viewer/README.md | 2 ++ .../Github_JSON_Dependencies_Linker.user.js | 2 +- Github_JSON_Dependencies_Linker/README.md | 2 ++ Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- Github_News_Feed_Filter/README.md | 4 ++++ Github_Pages_Linker/Github_Pages_Linker.user.js | 2 +- Github_Pages_Linker/README.md | 4 ++++ Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- Github_Pull_Request_From/README.md | 2 ++ Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_Reply_Comments/README.md | 4 ++++ Github_User_Info/Github_User_Info.user.js | 2 +- Github_User_Info/README.md | 2 ++ 22 files changed, 47 insertions(+), 11 deletions(-) diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index eddc639..3194885 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -18,7 +18,7 @@ // @include https://github.com/*/*/commits/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch -// @version 0.0.2 +// @version 0.0.3 // @grant none // ==/UserScript== diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md index b4d2c61..a490414 100644 --- a/GitHub_Commit_Compare/README.md +++ b/GitHub_Commit_Compare/README.md @@ -19,6 +19,10 @@ Add controls to compare commits. ## Version History +* **0.0.3** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * **0.0.2** * 🐛 Fix after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#128](https://github.com/jerone/UserScripts/issues/128)). diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index dbc6410..9b11f4b 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -16,7 +16,7 @@ // @include https://github.com/* // @exclude https://github.com/*/*.diff // @exclude https://github.com/*/*.patch -// @version 1.6.6 +// @version 1.6.7 // @grant none // ==/UserScript== diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 3117964..6a52361 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -21,6 +21,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.6.7** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * **1.6.6** * Shift open `.patch` was broken (fixes [119](https://github.com/jerone/UserScripts/issues/119)). diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 1ff4209..22e1bcc 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -14,7 +14,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg // @include https://github.com/* -// @version 1.5.3 +// @version 1.5.4 // @grant none // ==/UserScript== diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index 0c3acbf..e7a9f4c 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -27,6 +27,10 @@ This works on commits, pull requests and compare pages. ## Version History +* **1.5.4** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * **1.5.3** * Fix URL generation with hash. diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index fa79212..b0ae764 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -14,7 +14,7 @@ // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg // @include *://gist.github.com/* -// @version 5.0 +// @version 5.1 // @grant none // ==/UserScript== diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index f62c860..9ecd745 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -28,6 +28,10 @@ Share your [GitHub Gist](https://gist.github.com) to: ## Version History +* **5.1** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * **5.0** * Complete rewrite to make it work again. diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 033e3a7..7f44567 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.4.1 +// @version 0.4.2 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @run-at document-end diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index b436950..9f062fe 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -34,6 +34,8 @@ Supported file extensions are: ## Version History +* **0.4.2** + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). * **0.4.1** * Fixed issues after GitHub site update. * **0.4.0** diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 1d2e675..5ad5ea8 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.3.1 +// @version 0.3.2 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant GM_xmlhttpRequest // @run-at document-end diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index 8e3e5c9..fb3bc32 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -38,6 +38,8 @@ In the JSON file it will search for the following dependency keys: ## Version History +* **0.3.2** + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). * **0.3.1** * Fixed recognizing JSON content. * **0.3.0** diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index d005d78..3d91855 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -17,7 +17,7 @@ // @include https://github.com/?* // @include https://github.com/orgs/*/dashboard // @include https://github.com/orgs/*/dashboard?* -// @version 8.2.7 +// @version 8.2.8 // @grant none // ==/UserScript== diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index e4b0f50..a6efda7 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -69,6 +69,10 @@ Currently integrated filters: ## Version History +* **8.2.8** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * **8.2.7** * 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68). diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 21354cd..f65f69e 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -14,7 +14,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg -// @version 1.2.2 +// @version 1.2.3 // @grant none // @run-at document-end // @include https://github.com/* diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index cd13c72..dbafb07 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -19,6 +19,10 @@ Add a link to GitHub Pages (gh-pages) when available. ## Version History +* **1.2.3** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * **1.2.2** * Fixed issues after layout updates diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index baefd38..9c4a9ca 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -13,7 +13,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg -// @version 20.0 +// @version 20.1 // @grant none // @include https://github.com/*/pull/* // @exclude https://github.com/*/*.diff diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 79e07fe..135dc77 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -23,6 +23,8 @@ Make pull request branches linkable. ## Version History +* **20.1** + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). * **20.0** * Fix url on forks where another repo name is choosen. Fixes [145](https://github.com/jerone/UserScripts/issues/145). * Run on more elements. diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index bc11bbb..909ecd8 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.1 +// @version 1.0.2 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @include https://github.com/* diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 0e381d4..d3ad947 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,10 @@ reply button on an comment. ## Version History +* version **1.0.2** + + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + * version **1.0.1** * Use atx style headings, fenced code blocks, dense hr style. diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 91bde35..efa0b20 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -14,7 +14,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg -// @version 0.4.0 +// @version 0.4.1 // @grant GM_xmlhttpRequest // @grant GM_setValue // @grant GM_getValue diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 36bcf6b..084f06a 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -23,6 +23,8 @@ Show user/organization information on avatar hover. ## Version History +* **0.4.1** + * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). * **0.4.0** * We're only fetching one page of all members * Use flexbox css for counts From 9cd0e7395a73e6dba4731372f6bf34a00e18cb02 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 13 Jul 2019 10:07:06 +0200 Subject: [PATCH 113/164] Add issuetracker linkify (for Fork) --- .issuetracker | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .issuetracker diff --git a/.issuetracker b/.issuetracker new file mode 100644 index 0000000..4c76276 --- /dev/null +++ b/.issuetracker @@ -0,0 +1,7 @@ +# Integration with Issue Tracker +# +# (note that '\' need to be escaped). + +[issuetracker "GitHub"] + regex = "(?:^|\\b|\\s|\\n|\\()#(\\d+)(?:$|\\b|\\s|\\n|\\))" + url = "https://github.com/jerone/UserScripts/issues/$1" From bc8be6d186f3889ea8a1ebbbfeaf19234c63386e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 4 Nov 2019 19:50:33 +0100 Subject: [PATCH 114/164] Fix broken timestamp detection in Github Reply Comments. Fixes #149 --- Github_Reply_Comments/Github_Reply_Comments.user.js | 4 ++-- Github_Reply_Comments/README.md | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 909ecd8..eea557b 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.2 +// @version 1.0.3 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @include https://github.com/* @@ -111,7 +111,7 @@ reply.addEventListener("click", function (e) { e.preventDefault(); - var timestamp = comment.querySelector(".timestamp"); + var timestamp = comment.querySelector(".js-timestamp, .timestamp"); var commentText = getCommentMarkdown(comment); commentText = commentText.trim().split("\n").map(function (line) { diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index d3ad947..9d03f85 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,10 @@ reply button on an comment. ## Version History +* version **1.0.3** + + * 🐛 Fix broken timestamp detection ([#149](https://github.com/jerone/UserScripts/issues/149)). + * version **1.0.2** * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). From 97966730a87b5b6082d2f6050640f40fa1e9c863 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 9 Dec 2019 12:35:01 +0100 Subject: [PATCH 115/164] =?UTF-8?q?Fix=20link=20to=20authors=20with=20spac?= =?UTF-8?q?es=20in=20their=20name=20in=20Github=20Reply=20Co=E2=80=A6=20(#?= =?UTF-8?q?151)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix link to authors with spaces in their name in Github Reply Comments. Fixes #150 --- Github_Reply_Comments/Github_Reply_Comments.user.js | 11 +++++++---- Github_Reply_Comments/README.md | 4 ++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index eea557b..cf522fa 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.3 +// @version 1.0.4 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @include https://github.com/* @@ -120,10 +120,13 @@ var newComment = getCommentTextarea(this); + var author = comment.querySelector(".author"); + var authorLink = location.origin + (author.getAttribute("href") || "/" + author.textContent); + var text = newComment.value.length > 0 ? "\n" : ""; - text += String.format('[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', - comment.querySelector(".author").textContent, - location.origin, + text += String.format('[**@{0}**]({1}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', + author.textContent, + authorLink, timestamp.firstElementChild.getAttribute("title"), timestamp.href, timestamp.firstElementChild.getAttribute("datetime"), diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 9d03f85..aeaf88d 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,10 @@ reply button on an comment. ## Version History +* version **1.0.4** + + * 🐛 Fix link to authors with spaces in their name. Fixes ([#150](https://github.com/jerone/UserScripts/issues/150)). + * version **1.0.3** * 🐛 Fix broken timestamp detection ([#149](https://github.com/jerone/UserScripts/issues/149)). From 7f9095bf3230be7a1d9c62d09a05df9b23d06e73 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 18 Jul 2020 23:04:00 +0200 Subject: [PATCH 116/164] Correct copyright url --- April_Fools_CSS/April_Fools_CSS.user.js | 2 +- Dakar_Extender/208433.user.js | 8 ++++---- Darts_Data_Enhancer/Darts_Data_Enhancer.user.js | 2 +- .../GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js | 2 +- GitHub_Commit_Compare/GitHub_Commit_Compare.user.js | 2 +- Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 2 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 2 +- Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 2 +- Github_Gist_Share/157850.user.js | 2 +- Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- .../Github_JSON_Dependencies_Linker.user.js | 2 +- Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 2 +- Github_Pages_Linker/Github_Pages_Linker.user.js | 2 +- Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 +- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_User_Info/Github_User_Info.user.js | 2 +- Horizon_TV_Fixer/155147.user.js | 2 +- Marktplaats_Exchanger/Marktplaats_Exchanger.user.js | 2 +- .../Multiple_Windows_Live_IDs.user.js | 2 +- .../Outlook_Sign_Out_To_Login.user.js | 2 +- .../Twitter_profile_replies_hider.user.js | 2 +- .../Twitter_profile_retweets_hider.user.js | 2 +- 22 files changed, 25 insertions(+), 25 deletions(-) diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 2fa299a..879caf3 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -3,7 +3,7 @@ // @description Some CSS april fools // @author jerone // @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @supportURL https://github.com/jerone/UserScripts/issues diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index 91d3ebd..adb54bf 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -1,9 +1,9 @@ // ==UserScript== // @name Dakar Extender // @description Highlight riders by certain country in standings lists. -// @namespace http://userscripts.org/scripts/show/208433 +// @namespace http://userscripts.org/scripts/show/208433 // @version 2 -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @grant none @@ -15,11 +15,11 @@ (function(){ var countryCode = "NLD"; - + $(function(){ $("tr:contains('\("+countryCode+"\)')").css("font-weight","bold"); }); - + })(); diff --git a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js index 9d0499d..f170561 100644 --- a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +++ b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Enhances Darts Data // @author jerone -// @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2015+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index a632e22..a7c537d 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index 3194885..d160590 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -4,7 +4,7 @@ // @description Add controls to compare commits. // @author jerone // @contributor darkred -// @copyright 2017+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2017+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 4f3a35c..540ae9c 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Enhances Github comments // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 9b11f4b..4d72ce1 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Adds button to show diff (or patch) file for commit // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 22e1bcc..1b58d58 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Adds button to hide whitespaces from commit // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index b0ae764..ab29944 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts/ // @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 7f44567..8090b2c 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Preview images from within the listing. // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 5ad5ea8..7a2b581 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Linkify all dependencies found in an JSON file. // @author jerone -// @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2015+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 3d91855..9e1b571 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -4,7 +4,7 @@ // @description Add filters for GitHub homepage news feed items // @author jerone // @contributor darkred -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index f65f69e..94907ca 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts/ // @description Add a link to Github Pages (gh-pages) when available. // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 9c4a9ca..5e59578 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts/ // @description Make pull request branches linkable // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index cf522fa..b8a08c2 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Easy reply to Github comments // @author jerone -// @copyright 2016+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2016+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index efa0b20..f1d9acc 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Show inline user information on avatar hover. // @author jerone -// @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2015+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 565ad8a..3f31497 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index a74c458..9324cda 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Exchange Marktplaats.nl // @author jerone -// @copyright 2015+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2015+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 0f03296..aa3c796 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -4,7 +4,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Easy login with multiple Microsoft accounts. // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs diff --git a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js index 1226bfa..ec71a18 100644 --- a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +++ b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Redirect back to login page when signing out from Outlook // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 5999ea2..4aab393 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Hide replies on Twitter profiles // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index faac377..9850b85 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -3,7 +3,7 @@ // @namespace https://github.com/jerone/UserScripts // @description Hide retweets on Twitter profiles // @author jerone -// @copyright 2014+, jerone (http://jeroenvanwarmerdam.nl) +// @copyright 2014+, jerone (https://github.com/jerone) // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account From 001de34c4f92d1189436f25610995b62ee8478fd Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 18 Jul 2020 23:21:39 +0200 Subject: [PATCH 117/164] Enable the Comment button. Fixes #152 --- .../Github_Reply_Comments.user.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index b8a08c2..ec2c367 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -31,7 +31,11 @@ }); }; - var turndownService = new TurndownService({ headingStyle: 'atx', codeBlockStyle: 'fenced', hr: '***' }); + var turndownService = new TurndownService({ + headingStyle: 'atx', + codeBlockStyle: 'fenced', + hr: '***' + }); turndownService.use(turndownPluginGfm.gfm); turndownService.use(turndownPluginGithubCodeSnippet); @@ -46,7 +50,7 @@ inlineComment.classList.add("open"); } - var textareas = newComment.querySelectorAll(":scope > :not(.last-review-thread) .comment-form-textarea"); + var textareas = newComment.querySelectorAll(":scope > :not(.last-review-thread) .comment-form-textarea:not(.github-writer-ckeditor)"); return textareas[textareas.length - 1]; } @@ -120,8 +124,8 @@ var newComment = getCommentTextarea(this); - var author = comment.querySelector(".author"); - var authorLink = location.origin + (author.getAttribute("href") || "/" + author.textContent); + var author = comment.querySelector(".author"); + var authorLink = location.origin + (author.getAttribute("href") || "/" + author.textContent); var text = newComment.value.length > 0 ? "\n" : ""; text += String.format('[**@{0}**]({1}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', @@ -134,7 +138,14 @@ newComment.value += text; newComment.setSelectionRange(newComment.value.length, newComment.value.length); + //newComment.closest('.previewable-comment-form').querySelector('.js-write-tab').click(); newComment.focus(); + + // This will enable the "Comment" button, when there was no comment text yet. + newComment.dispatchEvent(new CustomEvent('change', { + bubbles: true, + cancelable: false + })); }); var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); From bd69cc6e2e96110f24223f0db88171c19ecad8b9 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 18 Jul 2020 23:22:09 +0200 Subject: [PATCH 118/164] Compatible (partially) with GitHub Writer --- .../Github_Reply_Comments.user.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index ec2c367..425f002 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -146,6 +146,20 @@ bubbles: true, cancelable: false })); + + // This will render GitHub Writer - https://github.com/ckeditor/github-writer + // https://github.com/ckeditor/github-writer/blob/8dbc12cb01b7903d0d6c90202078214a8637de6d/src/app/plugins/quoteselection.js#L116-L127 + const githubWriter = newComment.closest([ + 'form.js-new-comment-form[data-github-writer-id]', + 'form.js-inline-comment-form[data-github-writer-id]' + ].join()); + if (githubWriter) { + window.postMessage({ + type: 'GitHub-Writer-Quote-Selection', + id: Number(githubWriter.getAttribute('data-github-writer-id')), + text: text + }, '*'); + } }); var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); From 2fec46dbaf4ecab682e66b220a9e8bdab53ed6b1 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 18 Jul 2020 23:28:17 +0200 Subject: [PATCH 119/164] =?UTF-8?q?=F0=9F=8E=AC=20New=20version=20of=20Git?= =?UTF-8?q?Hub=20Reply=20Comments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_Reply_Comments/Github_Reply_Comments.user.js | 2 +- Github_Reply_Comments/README.md | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 425f002..56f7f47 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.4 +// @version 1.0.5 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @include https://github.com/* diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index aeaf88d..f480d09 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,11 @@ reply button on an comment. ## Version History +* version **1.0.5** + + * 🐛 Enable the Comment button. Fixes ([#152](https://github.com/jerone/UserScripts/issues/152)). + * Compatible (partially) with [GitHub Writer](https://github.com/ckeditor/github-writer#readme). + * version **1.0.4** * 🐛 Fix link to authors with spaces in their name. Fixes ([#150](https://github.com/jerone/UserScripts/issues/150)). From 3be84a8ec8bedb3034f9eb958ee7d03c0ad306ea Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 5 Nov 2020 08:49:19 +0100 Subject: [PATCH 120/164] Fix typo (#156) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 12f0085..d4c6824 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u ### Outlook -- [Multiple Windows Live ID's](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs#readme) - Easy login with multiple Microsoft accounts. +- [Multiple Windows Live IDs](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs#readme) - Easy login with multiple Microsoft accounts. - [Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login#readme) - Redirect back to login page when signing out from Outlook. ### Dutch From 0180351b3cf4c0797540bbbeb4440dfdaa4cd546 Mon Sep 17 00:00:00 2001 From: Elior Boukhobza Date: Thu, 5 Nov 2020 09:49:55 +0200 Subject: [PATCH 121/164] Update Github_Commit_Whitespace.user.js (#154) --- Github_Commit_Whitespace/Github_Commit_Whitespace.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 1b58d58..407bd4d 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -49,7 +49,7 @@ g.appendChild(a) b.parentNode.insertBefore(g, b) - } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector('#files_bucket .pr-toolbar .diffbar > .float-right'))) { + } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector('#files_bucket .pr-toolbar .diffbar > .pr-review-tools'))) { var r = e.querySelector('.GithubCommitWhitespaceButton') if (r) { From 93b7e90a87f255835a0df989aed510fd6e0f9fb2 Mon Sep 17 00:00:00 2001 From: Leo Caseiro Date: Thu, 27 May 2021 19:37:08 +1000 Subject: [PATCH 122/164] fix Github Pages Linker for new UI in 2021 (#159) * fix Github Pages Linker for new UI in 2021 * make sure it doesn't run on pages without .file-navigation Fixes #158 --- .../Github_Pages_Linker.user.js | 117 +++++++++++------- 1 file changed, 69 insertions(+), 48 deletions(-) diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 94907ca..11f12fc 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -14,7 +14,7 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg -// @version 1.2.3 +// @version 1.2.4 // @grant none // @run-at document-end // @include https://github.com/* @@ -28,59 +28,80 @@ return typeof args[number] !== "undefined" ? args[number] : match; }); }; + + var DELAY = 800; - function addLink() { - if(document.getElementById("GithubPagesLinker")) { - return; - } - - var meta = document.querySelector(".repository-meta"); - if (!meta) { - return; - } - - var branch = document.querySelector(".js-navigation-open[data-name='gh-pages']"); - if (!branch) { - return; - } - - var tree = branch.getAttribute("href").split("/"); // `/{user}/{repo}/tree/gh-pages`; - var url = String.format("https://{0}.github.io/{1}/", tree[1], tree[2]); - - var div = document.createElement("div"); - div.id = "GithubPagesLinker"; - div.style.margin = "-10px 0px 10px"; - meta.parentNode.insertBefore(div, meta.nextSibling); - - var img = document.createElement("img"); - img.setAttribute("src", "https://assets-cdn.github.com/images/icons/emoji/octocat.png"); - img.setAttribute("align", "absmiddle"); - img.classList.add("emoji"); - img.style.height = "16px"; - img.style.width = "16px"; - div.appendChild(img); - - div.appendChild(document.createTextNode(" ")); - - var a = document.createElement("a"); - a.setAttribute("href", "https://pages.github.com"); - a.setAttribute("title", "More info about gh-pages..."); - a.style.color = "inherit"; - a.appendChild(document.createTextNode("Github Pages")); - div.appendChild(a); - - div.appendChild(document.createTextNode(": ")); - - var aa = document.createElement("a"); - aa.setAttribute("href", url); - aa.appendChild(document.createTextNode(url)); - div.appendChild(aa); + var triggerEventClick = new MouseEvent('click', { + view: window, + bubbles: true, + cancelable: true + }); + + function addLink() { + if(document.getElementById("GithubPagesLinker")) { + return; + } + + var meta = document.querySelector('.file-navigation'); + if (!meta) { + return; + } + + var closeDropdown = () => { + document.querySelector('[data-toggle-for="branch-select-menu"]').dispatchEvent(triggerEventClick); + } + + var dropdown = document.querySelector('[data-hotkey="w"]'); + dropdown.dispatchEvent(triggerEventClick); // open menu to load data + + setTimeout(() => { + var branch = document.querySelector('.SelectMenu-item[href$="/tree/gh-pages"]'); + if (!branch) { + closeDropdown(); + return; + } + + var tree = branch.getAttribute("href").split("/"); // `/{user}/{repo}/tree/gh-pages`; + var url = String.format("{0}//{1}.github.io/{2}/", tree[0], tree[3], tree[4]); + + var div = document.createElement("div"); + div.id = "GithubPagesLinker"; + div.style.margin = "-10px 0px 10px"; + meta.parentNode.insertBefore(div, meta.nextSibling); + + var img = document.createElement("img"); + img.setAttribute("src", "https://github.githubassets.com/images/icons/emoji/octocat.png"); + img.setAttribute("align", "absmiddle"); + img.classList.add("emoji"); + img.style.height = "16px"; + img.style.width = "16px"; + div.appendChild(img); + + div.appendChild(document.createTextNode(" ")); + + var a = document.createElement("a"); + a.setAttribute("href", "{https}://pages.github.com"); + a.setAttribute("title", "More info about gh-pages..."); + a.style.color = "inherit"; + a.appendChild(document.createTextNode("Github Pages")); + div.appendChild(a); + + div.appendChild(document.createTextNode(": ")); + + var aa = document.createElement("a"); + aa.setAttribute("href", url); + aa.appendChild(document.createTextNode(url)); + div.appendChild(aa); + + closeDropdown(); + + }, DELAY); } // Init; addLink(); // On pjax; - document.addEventListener('pjax:end', addLink); + document.addEventListener('pjax:end', addLink); })(); From 90e5adec8ac86284d58eb1eb5a41af96c5acf25c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Tue, 1 Jun 2021 21:45:27 +0200 Subject: [PATCH 123/164] Fix opening branch selector for Github Pages Linker. Re-closes #158 --- .../Github_Pages_Linker.user.js | 146 +++++++++--------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 11f12fc..1c39d6e 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -14,94 +14,94 @@ // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW // @icon https://github.githubassets.com/pinned-octocat.svg -// @version 1.2.4 +// @version 1.2.5 // @grant none // @run-at document-end // @include https://github.com/* // ==/UserScript== -(function() { +(function () { - String.format = function(string) { + String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { + return string.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] !== "undefined" ? args[number] : match; }); }; - - var DELAY = 800; - - var triggerEventClick = new MouseEvent('click', { - view: window, - bubbles: true, - cancelable: true - }); - - function addLink() { - if(document.getElementById("GithubPagesLinker")) { - return; - } - - var meta = document.querySelector('.file-navigation'); - if (!meta) { - return; - } - - var closeDropdown = () => { - document.querySelector('[data-toggle-for="branch-select-menu"]').dispatchEvent(triggerEventClick); - } - - var dropdown = document.querySelector('[data-hotkey="w"]'); - dropdown.dispatchEvent(triggerEventClick); // open menu to load data - - setTimeout(() => { - var branch = document.querySelector('.SelectMenu-item[href$="/tree/gh-pages"]'); - if (!branch) { - closeDropdown(); - return; - } - - var tree = branch.getAttribute("href").split("/"); // `/{user}/{repo}/tree/gh-pages`; - var url = String.format("{0}//{1}.github.io/{2}/", tree[0], tree[3], tree[4]); - - var div = document.createElement("div"); - div.id = "GithubPagesLinker"; - div.style.margin = "-10px 0px 10px"; - meta.parentNode.insertBefore(div, meta.nextSibling); - - var img = document.createElement("img"); - img.setAttribute("src", "https://github.githubassets.com/images/icons/emoji/octocat.png"); - img.setAttribute("align", "absmiddle"); - img.classList.add("emoji"); - img.style.height = "16px"; - img.style.width = "16px"; - div.appendChild(img); - - div.appendChild(document.createTextNode(" ")); - - var a = document.createElement("a"); - a.setAttribute("href", "{https}://pages.github.com"); - a.setAttribute("title", "More info about gh-pages..."); - a.style.color = "inherit"; - a.appendChild(document.createTextNode("Github Pages")); - div.appendChild(a); - - div.appendChild(document.createTextNode(": ")); - - var aa = document.createElement("a"); - aa.setAttribute("href", url); - aa.appendChild(document.createTextNode(url)); - div.appendChild(aa); - - closeDropdown(); - - }, DELAY); + + function addLink() { + if (document.getElementById("GithubPagesLinker")) { + return; + } + + var meta = document.querySelector('main h1'); + if (!meta) { + return; + } + + var branchSelector = document.querySelector('#branch-select-menu'); + if (!branchSelector) { + return; + } + + var branch = document.querySelector('.SelectMenu-item[href$="/tree/gh-pages"]'); + if (branch) { + createLink(branch); + } else { + const observer = new MutationObserver(function () { + var branch2 = document.querySelector('.SelectMenu-item[href$="/tree/gh-pages"]'); + if (branch2) { + observer.disconnect(); + createLink(branch2); + } + }); + + observer.observe(branchSelector, { subtree: true, childList: true }); + + var dropdown = branchSelector.querySelector('ref-selector'); + window.setTimeout(function () { + dropdown.dispatchEvent(new CustomEvent('container-mouseover', { bubbles: true })); + }, 100); + } + + function createLink(branch2) { + var tree = branch2.getAttribute("href").split("/"); // `/{user}/{repo}/tree/gh-pages`; + var url = String.format("{0}//{1}.github.io/{2}/", tree[0], tree[3], tree[4]); + + var div = document.createElement("small"); + div.id = "GithubPagesLinker"; + meta.parentNode.insertBefore(div, meta.nextSibling); + + var img = document.createElement("img"); + img.setAttribute("src", "https://github.githubassets.com/images/icons/emoji/octocat.png"); + img.setAttribute("align", "absmiddle"); + img.classList.add("emoji"); + img.style.height = "16px"; + img.style.width = "16px"; + div.appendChild(img); + + div.appendChild(document.createTextNode(" ")); + + var a = document.createElement("a"); + a.setAttribute("href", "{https}://pages.github.com"); + a.setAttribute("title", "More info about gh-pages..."); + a.style.color = "inherit"; + a.appendChild(document.createTextNode("Github Pages")); + div.appendChild(a); + + div.appendChild(document.createTextNode(": ")); + + var aa = document.createElement("a"); + aa.setAttribute("href", url); + aa.appendChild(document.createTextNode(url)); + div.appendChild(aa); + } } // Init; addLink(); // On pjax; - document.addEventListener('pjax:end', addLink); + document.addEventListener('pjax:end', addLink); })(); From 280c864fcf298ccebbc39e24c9799419314493be Mon Sep 17 00:00:00 2001 From: meequrox <117393211+meequrox@users.noreply.github.com> Date: Fri, 16 Dec 2022 22:54:37 +0300 Subject: [PATCH 124/164] (Github Image Viewer) :bug: Fixed loader animation source (#164) Closes https://github.com/jerone/UserScripts/issues/155 --- Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 8090b2c..f5c2a02 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -47,7 +47,7 @@ _floaterMeta: null, _imageUrl: null, - _loaderSrc: "https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif", + _loaderSrc: "https://github.githubassets.com/images/spinners/octocat-spinner-32.gif", _imageRegex: /.+(\.jpe?g|\.png|\.gif|\.bmp|\.ico|\.tiff?)$/i, Initialize: function() { From a0efe0b05775267ac8ee19fdf43c6648dc1e67ea Mon Sep 17 00:00:00 2001 From: meequrox <117393211+meequrox@users.noreply.github.com> Date: Fri, 16 Dec 2022 22:59:44 +0300 Subject: [PATCH 125/164] (Github Image Viewer) Slightly improved the floater text style (#165) * Set text color to black on light background * Align title text to center --- Github_Image_Viewer/Github_Image_Viewer.user.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index f5c2a02..16bb320 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -69,6 +69,8 @@ var floaterTitle = GithubImageViewer._floaterTitle = document.createElement("div"); floaterTitle.style.backgroundColor = "#e6f1f6"; + floaterTitle.style.color = "black"; + floaterTitle.style.textAlign = "center"; floaterTitle.style.borderBottom = "1px solid #d8e6ec"; floaterTitle.style.padding = "3px 5px"; floaterMouseAlign.appendChild(floaterTitle); @@ -90,6 +92,7 @@ var floaterMeta = GithubImageViewer._floaterMeta = document.createElement("div"); floaterMeta.style.backgroundColor = "#f8f8f8"; + floaterMeta.style.color = "black"; floaterMeta.style.padding = "3px"; floaterMeta.style.textAlign = "center"; floaterMeta.style.whiteSpace = "nowrap"; From 25f29eaf2618e162ac3dbb025e25e43368fbc61f Mon Sep 17 00:00:00 2001 From: meequrox <117393211+meequrox@users.noreply.github.com> Date: Fri, 16 Dec 2022 23:20:47 +0300 Subject: [PATCH 126/164] (Github Image Viewer) Bump version (#166) --- Github_Image_Viewer/Github_Image_Viewer.user.js | 2 +- Github_Image_Viewer/README.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 16bb320..19d9c3b 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -13,7 +13,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.4.2 +// @version 0.5.0 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @run-at document-end diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index 9f062fe..cd3fcd4 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -34,6 +34,10 @@ Supported file extensions are: ## Version History +* **0.5.0** + * :bug: Fixed loader animation source [#164](https://github.com/jerone/UserScripts/pull/164) + * Text color in floater is now black + * Floater title is now center aligned * **0.4.2** * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). * **0.4.1** From 54e67737776a30fe40816f7d339da89722cd272e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 7 Jan 2023 21:19:29 +0100 Subject: [PATCH 127/164] Russian Warship Go Fuck Yourself --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index d4c6824..7633919 100644 --- a/README.md +++ b/README.md @@ -61,3 +61,8 @@ Please review the [guidelines for contributing](https://github.com/jerone/UserSc ## License All UserScripts and other resources in [this repository](https://github.com/jerone/UserScripts) are licensed under [GPL-3.0 (`GPL-3.0-or-later`)](https://github.com/jerone/UserScripts/blob/master/LICENSE.txt) and [CC BY-NC-SA 4.0 (`CC-BY-NC-SA-4.0`)](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode) unless explicitly otherwise stated. + +
+
+ +[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua) From be2b6cbab92a4ee83a10bd6a25c7870cc5a34c16 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 1 Feb 2024 22:20:43 +0100 Subject: [PATCH 128/164] Deprecate unused and unsupported scripts --- README.md | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 7633919..dac47b8 100644 --- a/README.md +++ b/README.md @@ -10,45 +10,45 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u ### Github - [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme) - Easy reply to Github comments. -- [Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file. -- [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items. -- [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit. -- [Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit. -- [Github Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare#readme) - Add controls to compare commits. -- [Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover. -- [Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing. -- [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable. -- [Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available. -- [Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript. +- ~~[Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file.~~ (deprecated) +- ~~[Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items.~~ (deprecated) +- ~~[Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit.~~ (deprecated) +- ~~[Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit.~~ (deprecated) +- ~~[Github Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare#readme) - Add controls to compare commits.~~ (deprecated) +- ~~[Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover.~~ (deprecated) +- ~~[Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing.~~ (deprecated) +- ~~[Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable.~~ (deprecated) +- ~~[Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available.~~ (deprecated) +- ~~[Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript.~~ (deprecated) - ~~[Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github.~~ (deprecated) - For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme). ### Twitter -- [Twitter profile replies hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_replies_hider#readme) - Hide replies on Twitter profiles. -- [Twitter profile retweets hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_retweets_hider#readme) - Hide retweets on Twitter profiles. +- ~~[Twitter profile replies hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_replies_hider#readme) - Hide replies on Twitter profiles.~~ (deprecated) +- ~~[Twitter profile retweets hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_retweets_hider#readme) - Hide retweets on Twitter profiles.~~ (deprecated) ### Outlook -- [Multiple Windows Live IDs](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs#readme) - Easy login with multiple Microsoft accounts. -- [Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login#readme) - Redirect back to login page when signing out from Outlook. +- ~~[Multiple Windows Live IDs](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs#readme) - Easy login with multiple Microsoft accounts.~~ (deprecated) +- ~~[Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login#readme) - Redirect back to login page when signing out from Outlook.~~ (deprecated) ### Dutch -- [Horizon TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer#readme) - Improves the Horizon TV Gids. -- [GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer#readme) - Add features to enhance comments on the sites GeenStijl & Powned & Dumpert & more. -- [Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme) - Exchange Marktplaats.nl. +- ~~[Horizon TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer#readme) - Improves the Horizon TV Gids.~~ (deprecated) +- ~~[GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer#readme) - Add features to enhance comments on the sites GeenStijl & Powned & Dumpert & more.~~ (deprecated) +- ~~[Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme) - Exchange Marktplaats.nl.~~ (deprecated) ### Extra & proof-of-concepts -- [Darts Data Enhancer](https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme) - Enhances Darts Data. -- [Dakar Extender](https://github.com/jerone/UserScripts/tree/master/Dakar_Extender#readme) - Highlight riders by certain country in standings lists. -- [April Fools CSS](https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS#readme) - Some CSS april fools. -- [PDF Tools](https://github.com/jerone/UserScripts/tree/master/PDF_Tools#readme) - An userscript that enhances the pdf.js window in Firefox. +- ~~[Darts Data Enhancer](https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme) - Enhances Darts Data.~~ (deprecated) +- ~~[Dakar Extender](https://github.com/jerone/UserScripts/tree/master/Dakar_Extender#readme) - Highlight riders by certain country in standings lists.~~ (deprecated) +- ~~[April Fools CSS](https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS#readme) - Some CSS april fools.~~ (deprecated) +- ~~[PDF Tools](https://github.com/jerone/UserScripts/tree/master/PDF_Tools#readme) - An userscript that enhances the pdf.js window in Firefox.~~ (deprecated) ## External profiles -My [GitHub repository](https://github.com/jerone/UserScripts) will always contain the latest version. +This [repository](https://github.com/jerone/UserScripts) will always contain the latest version. - ~~[Userscripts.org](http://userscripts.org/users/jerone) ([mirror](http://userscripts-mirror.org/users/jerone))~~ (dead) - [Greasy Fork](https://greasyfork.org/users/15) From 6ed2c6ce5e596881b3a784f2810e6164198cc77f Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Thu, 1 Feb 2024 13:23:31 -0800 Subject: [PATCH 129/164] feat: use `eslint-plugin-userscripts` (#169) --- .eslintignore | 2 + .eslintrc.js | 39 ++++++++++++++++ .gitignore | 4 ++ April_Fools_CSS/April_Fools_CSS.user.js | 20 ++++----- .../Darts_Data_Enhancer.user.js | 34 +++++++------- ...jl_Powned_Dumpert_Comment_Enhancer.user.js | 40 ++++++++--------- .../GitHub_Commit_Compare.user.js | 40 ++++++++--------- .../Github_Comment_Enhancer.user.js | 39 ++++++++-------- Github_Commit_Diff/Github_Commit_Diff.user.js | 36 +++++++-------- .../Github_Commit_Whitespace.user.js | 32 +++++++------- Github_Gist_Share/157850.user.js | 32 +++++++------- .../Github_Image_Viewer.user.js | 36 +++++++-------- .../Github_JSON_Dependencies_Linker.user.js | 43 +++++++++--------- .../Github_News_Feed_Filter.user.js | 38 ++++++++-------- .../Github_Pages_Linker.user.js | 36 +++++++-------- .../Github_Pull_Request_From.user.js | 36 +++++++-------- .../Github_Reply_Comments.user.js | 40 ++++++++--------- Github_User_Info/Github_User_Info.user.js | 44 +++++++++---------- Horizon_TV_Fixer/155147.user.js | 34 +++++++------- .../Marktplaats_Exchanger.user.js | 34 +++++++------- .../Multiple_Windows_Live_IDs.user.js | 37 ++++++++-------- .../Outlook_Sign_Out_To_Login.user.js | 30 ++++++------- PDF_Tools/PDF_Tools.user.js | 26 +++++------ .../Twitter_profile_replies_hider.user.js | 34 +++++++------- .../Twitter_profile_retweets_hider.user.js | 34 +++++++------- package.json | 12 +++++ 26 files changed, 446 insertions(+), 386 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 package.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..7777698 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +node_modules/ +Userscripts.org_*/ diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..510d56a --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,39 @@ +module.exports = { + env: { + browser: true, + greasemonkey: true, + es2021: true, + }, + overrides: [ + { + env: { + node: true, + }, + files: [".eslintrc.{js,cjs}"], + parserOptions: { + sourceType: "script", + }, + }, + { + files: ["*.user.js"], + extends: ["plugin:userscripts/recommended"], + rules: { + "userscripts/align-attributes": ["error", 1], + "userscripts/no-invalid-headers": ["error", { allowed: ["id", "browser"] }], + "userscripts/compat-headers": "off", + }, + settings: { + userscriptVersions: { + tampermonkey: ">=4", + violentmonkey: ">=2", + greasemonkey: "*", + }, + }, + }, + ], + parserOptions: { + ecmaVersion: "latest", + }, + rules: {}, +}; + diff --git a/.gitignore b/.gitignore index 5298f00..8633370 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,7 @@ *.suo *.bak *.vs + +.DS_Store +node_modules/ +pnpm-lock.yaml diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 879caf3..3daad5e 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -1,15 +1,15 @@ // ==UserScript== -// @name April Fools CSS -// @description Some CSS april fools -// @author jerone -// @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @supportURL https://github.com/jerone/UserScripts/issues +// @name April Fools CSS +// @description Some CSS april fools +// @author jerone +// @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include * -// @version 1.0 +// @include * +// @version 1.0 // ==/UserScript== if(window.top===window){ diff --git a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js index f170561..591ceed 100644 --- a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +++ b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @id Darts_Data_Enhancer@https://github.com/jerone/UserScripts -// @name Darts Data Enhancer -// @namespace https://github.com/jerone/UserScripts -// @description Enhances Darts Data -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Darts Data Enhancer +// @id Darts_Data_Enhancer@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Enhances Darts Data +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.0 -// @grant none -// @run-at document-end -// @include http://live.dartsdata.com/MatchesList.aspx +// @version 1.0.0 +// @grant none +// @run-at document-end +// @include http://live.dartsdata.com/MatchesList.aspx // ==/UserScript== var playersLeft = document.querySelectorAll("#ctl01 > table:nth-child(9) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > div > table > tbody > tr > td:nth-child(2)"); diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index a7c537d..5811979 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -1,25 +1,25 @@ // ==UserScript== -// @name GeenStijl & Powned & Dumpert Comment Enhancer -// @namespace https://github.com/jerone/UserScripts -// @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer -// @homepageURL https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer -// @downloadURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name GeenStijl & Powned & Dumpert Comment Enhancer +// @namespace https://github.com/jerone/UserScripts +// @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer +// @homepageURL https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer +// @downloadURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include http*://*geenstijl.nl/mt/archieven/* -// @include http*://*geenstijl.tv/* -// @include http*://*powned.tv/nieuws/* -// @include http*://*dumpert.nl/mediabase/* -// @include http*://*daskapital.nl/* -// @include http*://*glamora.ma/* -// @version 2.0 -// @grant none +// @include http*://*geenstijl.nl/mt/archieven/* +// @include http*://*geenstijl.tv/* +// @include http*://*powned.tv/nieuws/* +// @include http*://*dumpert.nl/mediabase/* +// @include http*://*daskapital.nl/* +// @include http*://*glamora.ma/* +// @version 2.0 +// @grant none // ==/UserScript== (function() { diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index d160590..f61d3ad 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -1,25 +1,25 @@ // ==UserScript== -// @name GitHub Commit Compare -// @namespace https://github.com/jerone/UserScripts -// @description Add controls to compare commits. -// @author jerone -// @contributor darkred -// @copyright 2017+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare -// @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare -// @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name GitHub Commit Compare +// @namespace https://github.com/jerone/UserScripts +// @description Add controls to compare commits. +// @author jerone +// @contributor darkred +// @copyright 2017+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare +// @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare +// @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/*/*/commits -// @include https://github.com/*/*/commits/* -// @exclude https://github.com/*/*.diff -// @exclude https://github.com/*/*.patch -// @version 0.0.3 -// @grant none +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/*/*/commits +// @include https://github.com/*/*/commits/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch +// @version 0.0.3 +// @grant none // ==/UserScript== (function () { diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 540ae9c..12dce47 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -1,25 +1,26 @@ // ==UserScript== -// @id Github_Comment_Enhancer@https://github.com/jerone/UserScripts -// @name Github Comment Enhancer -// @namespace https://github.com/jerone/UserScripts -// @description Enhances Github comments -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Comment Enhancer +// @id Github_Comment_Enhancer@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Enhances Github comments +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 2.9.0 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant none -// @run-at document-end -// @include https://github.com/* -// @include https://gist.github.com/* +// @version 2.9.0 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant none +// @run-at document-end +// @include https://github.com/* +// @include https://gist.github.com/* // ==/UserScript== + /* global unsafeWindow */ (function(unsafeWindow) { diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 4d72ce1..3d6930d 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Github Commit Diff -// @namespace https://github.com/jerone/UserScripts -// @description Adds button to show diff (or patch) file for commit -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Commit Diff +// @namespace https://github.com/jerone/UserScripts +// @description Adds button to show diff (or patch) file for commit +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/* -// @exclude https://github.com/*/*.diff -// @exclude https://github.com/*/*.patch -// @version 1.6.7 -// @grant none +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch +// @version 1.6.7 +// @grant none // ==/UserScript== (function() { diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 407bd4d..65eff5e 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -1,21 +1,21 @@ // ==UserScript== -// @name Github Commit Whitespace -// @namespace https://github.com/jerone/UserScripts -// @description Adds button to hide whitespaces from commit -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Commit Whitespace +// @namespace https://github.com/jerone/UserScripts +// @description Adds button to hide whitespaces from commit +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/* -// @version 1.5.4 -// @grant none +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/* +// @version 1.5.4 +// @grant none // ==/UserScript== (function() { diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index ab29944..72561f0 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -1,21 +1,21 @@ // ==UserScript== -// @name Github Gist Share -// @namespace https://github.com/jerone/UserScripts/ -// @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Gist Share +// @namespace https://github.com/jerone/UserScripts/ +// @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include *://gist.github.com/* -// @version 5.1 -// @grant none +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include *://gist.github.com/* +// @version 5.1 +// @grant none // ==/UserScript== (function() { diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 19d9c3b..4a5214c 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @id Github_Image_Viewer@https://github.com/jerone/UserScripts -// @name Github Image Viewer -// @namespace https://github.com/jerone/UserScripts -// @description Preview images from within the listing. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Image Viewer +// @id Github_Image_Viewer@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Preview images from within the listing. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.5.0 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant none -// @run-at document-end -// @include https://github.com/* +// @version 0.5.0 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant none +// @run-at document-end +// @include https://github.com/* // ==/UserScript== (function() { diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 7a2b581..070ccb1 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -1,27 +1,28 @@ // ==UserScript== -// @id Github_JSON_Dependencies_Linker@https://github.com/jerone/UserScripts -// @name Github JSON Dependencies Linker -// @namespace https://github.com/jerone/UserScripts -// @description Linkify all dependencies found in an JSON file. -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github JSON Dependencies Linker +// @id Github_JSON_Dependencies_Linker@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Linkify all dependencies found in an JSON file. +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.3.2 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant GM_xmlhttpRequest -// @run-at document-end -// @include https://github.com/*/package.json -// @include https://github.com/*/npm-shrinkwrap.json -// @include https://github.com/*/bower.json -// @include https://github.com/*/project.json +// @version 0.3.2 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant GM_xmlhttpRequest +// @run-at document-end +// @include https://github.com/*/package.json +// @include https://github.com/*/npm-shrinkwrap.json +// @include https://github.com/*/bower.json +// @include https://github.com/*/project.json // ==/UserScript== + /* global GM_xmlhttpRequest */ (function() { diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 9e1b571..8dd22b8 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -1,24 +1,24 @@ // ==UserScript== -// @name Github News Feed Filter -// @namespace https://github.com/jerone/UserScripts -// @description Add filters for GitHub homepage news feed items -// @author jerone -// @contributor darkred -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +// @name Github News Feed Filter +// @namespace https://github.com/jerone/UserScripts +// @description Add filters for GitHub homepage news feed items +// @author jerone +// @contributor darkred +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/ -// @include https://github.com/?* -// @include https://github.com/orgs/*/dashboard -// @include https://github.com/orgs/*/dashboard?* -// @version 8.2.8 -// @grant none +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/ +// @include https://github.com/?* +// @include https://github.com/orgs/*/dashboard +// @include https://github.com/orgs/*/dashboard?* +// @version 8.2.8 +// @grant none // ==/UserScript== (function () { diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 1c39d6e..416712f 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @id Github_Pages_Linker@https://github.com/jerone/UserScripts -// @name Github Pages Linker -// @namespace https://github.com/jerone/UserScripts/ -// @description Add a link to Github Pages (gh-pages) when available. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Pages Linker +// @id Github_Pages_Linker@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts/ +// @description Add a link to Github Pages (gh-pages) when available. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @version 1.2.5 -// @grant none -// @run-at document-end -// @include https://github.com/* +// @icon https://github.githubassets.com/pinned-octocat.svg +// @version 1.2.5 +// @grant none +// @run-at document-end +// @include https://github.com/* // ==/UserScript== (function () { diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 5e59578..85cebb8 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Github Pull Request From Link -// @namespace https://github.com/jerone/UserScripts/ -// @description Make pull request branches linkable -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Pull Request From Link +// @namespace https://github.com/jerone/UserScripts/ +// @description Make pull request branches linkable +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @version 20.1 -// @grant none -// @include https://github.com/*/pull/* -// @exclude https://github.com/*/*.diff -// @exclude https://github.com/*/*.patch +// @icon https://github.githubassets.com/pinned-octocat.svg +// @version 20.1 +// @grant none +// @include https://github.com/*/pull/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch // ==/UserScript== (function () { diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 56f7f47..b2584b8 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -1,25 +1,25 @@ // ==UserScript== -// @name Github Reply Comments -// @namespace https://github.com/jerone/UserScripts -// @description Easy reply to Github comments -// @author jerone -// @copyright 2016+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github Reply Comments +// @namespace https://github.com/jerone/UserScripts +// @description Easy reply to Github comments +// @author jerone +// @copyright 2016+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.5 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant none -// @include https://github.com/* -// @include https://gist.github.com/* -// @require https://unpkg.com/turndown@5.0.3/dist/turndown.js -// @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js -// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.2/turndown-plugin-github-code-snippet.js +// @version 1.0.5 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant none +// @include https://github.com/* +// @include https://gist.github.com/* +// @require https://unpkg.com/turndown@5.0.3/dist/turndown.js +// @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js +// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.2/turndown-plugin-github-code-snippet.js // ==/UserScript== (function () { diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index f1d9acc..eb7e659 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -1,27 +1,27 @@ // ==UserScript== -// @id Github_User_Info@https://github.com/jerone/UserScripts -// @name Github User Info -// @namespace https://github.com/jerone/UserScripts -// @description Show inline user information on avatar hover. -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_User_Info -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Github User Info +// @id Github_User_Info@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Show inline user information on avatar hover. +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_User_Info +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @version 0.4.1 -// @grant GM_xmlhttpRequest -// @grant GM_setValue -// @grant GM_getValue -// @grant unsafeWindow -// @run-at document-end -// @include https://github.com/* -// @include https://gist.github.com/* +// @icon https://github.githubassets.com/pinned-octocat.svg +// @version 0.4.1 +// @grant GM_xmlhttpRequest +// @grant GM_setValue +// @grant GM_getValue +// @grant unsafeWindow +// @run-at document-end +// @include https://github.com/* +// @include https://gist.github.com/* // ==/UserScript== (function() { diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 3f31497..7eeec95 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Horizon TV Fixer -// @namespace https://github.com/jerone/UserScripts -// @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Horizon TV Fixer +// @namespace https://github.com/jerone/UserScripts +// @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://www.ziggogo.tv/etc/designs/orion/theme/ziggo/favicon/favicon.ico -// @version 31 -// @grant none -// @include *horizon.tv* -// @include *ziggogo.tv* +// @icon https://www.ziggogo.tv/etc/designs/orion/theme/ziggo/favicon/favicon.ico +// @version 31 +// @grant none +// @include *horizon.tv* +// @include *ziggogo.tv* // ==/UserScript== (function HorizonTVFixer() { diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index 9324cda..94696e5 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @id Marktplaats_Exchanger@https://github.com/jerone/UserScripts -// @name Marktplaats Exchanger -// @namespace https://github.com/jerone/UserScripts -// @description Exchange Marktplaats.nl -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Marktplaats Exchanger +// @id Marktplaats_Exchanger@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Exchange Marktplaats.nl +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.1 -// @grant none -// @run-at document-end -// @include https://www.marktplaats.* +// @version 1.0.1 +// @grant none +// @run-at document-end +// @include https://www.marktplaats.* // ==/UserScript== (function Marktplaats_Exchanger() { diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index aa3c796..66e272e 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -1,24 +1,25 @@ // ==UserScript== -// @id Multiple_Windows_Live_IDs@https://github.com/jerone/UserScripts -// @name Multiple Windows Live IDs -// @namespace https://github.com/jerone/UserScripts -// @description Easy login with multiple Microsoft accounts. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Multiple Windows Live IDs +// @id Multiple_Windows_Live_IDs@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Easy login with multiple Microsoft accounts. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.2.0 -// @grant GM_getValue -// @grant GM_setValue -// @run-at document-end -// @include http*://login.live.com* +// @version 0.2.0 +// @grant GM_getValue +// @grant GM_setValue +// @run-at document-end +// @include http*://login.live.com* // ==/UserScript== + /* global GM_getValue,GM_setValue */ (function() { diff --git a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js index ec71a18..e07c9f3 100644 --- a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +++ b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js @@ -1,20 +1,20 @@ // ==UserScript== -// @name Outlook Sign Out To Login -// @namespace https://github.com/jerone/UserScripts -// @description Redirect back to login page when signing out from Outlook -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Outlook Sign Out To Login +// @namespace https://github.com/jerone/UserScripts +// @description Redirect back to login page when signing out from Outlook +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *://*.mail.live.com/* -// @version 1 -// @grant none +// @include *://*.mail.live.com/* +// @version 1 +// @grant none // ==/UserScript== (function() { diff --git a/PDF_Tools/PDF_Tools.user.js b/PDF_Tools/PDF_Tools.user.js index d8a185f..a48afb7 100644 --- a/PDF_Tools/PDF_Tools.user.js +++ b/PDF_Tools/PDF_Tools.user.js @@ -1,18 +1,18 @@ // ==UserScript== -// @id PDF_Tools@https://github.com/jerone/UserScripts -// @name PDF Tools -// @description An userscript that enhances the pdf.js window in Firefox. -// @version 1.0 -// @namespace https://github.com/jerone/UserScripts -// @author jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @supportURL https://github.com/jerone/UserScripts/issues +// @name PDF Tools +// @id PDF_Tools@https://github.com/jerone/UserScripts +// @description An userscript that enhances the pdf.js window in Firefox. +// @version 1.0 +// @namespace https://github.com/jerone/UserScripts +// @author jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *.pdf -// @include *.pdf?* -// @include *.pdf#* -// @run-at document-end +// @include *.pdf +// @include *.pdf?* +// @include *.pdf#* +// @run-at document-end // ==/UserScript== (function() { diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 4aab393..9fe64f2 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Twitter profile replies hider -// @namespace https://github.com/jerone/UserScripts -// @description Hide replies on Twitter profiles -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Twitter profile replies hider +// @namespace https://github.com/jerone/UserScripts +// @description Hide replies on Twitter profiles +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *://twitter.com/* -// @exclude *://twitter.com/ -// @exclude *://twitter.com -// @version 5 -// @grant none +// @include *://twitter.com/* +// @exclude *://twitter.com/ +// @exclude *://twitter.com +// @version 5 +// @grant none // ==/UserScript== (function() { diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index 9850b85..fd2d40e 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Twitter profile retweets hider -// @namespace https://github.com/jerone/UserScripts -// @description Hide retweets on Twitter profiles -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js -// @supportURL https://github.com/jerone/UserScripts/issues +// @name Twitter profile retweets hider +// @namespace https://github.com/jerone/UserScripts +// @description Hide retweets on Twitter profiles +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js +// @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *://twitter.com/* -// @exclude *://twitter.com/ -// @exclude *://twitter.com -// @version 2 -// @grant none +// @include *://twitter.com/* +// @exclude *://twitter.com/ +// @exclude *://twitter.com +// @version 2 +// @grant none // ==/UserScript== (function() { diff --git a/package.json b/package.json new file mode 100644 index 0000000..3966082 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "private": true, + "name": "jerone's userscripts", + "version": "0.0.0", + "scripts": { + "lint": "eslint ." + }, + "devDependencies": { + "eslint": "^8.55.0", + "eslint-plugin-userscripts": "^0.5.1" + } +} From 2911b0f8dbb87a6b03f5e3857f74adf16d361e11 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 1 Feb 2024 22:47:47 +0100 Subject: [PATCH 130/164] Lint --- .eslintignore | 1 - .eslintrc.js | 7 +- April_Fools_CSS/April_Fools_CSS.user.js | 22 +- Dakar_Extender/208433.user.js | 22 +- .../Darts_Data_Enhancer.user.js | 36 +- ...jl_Powned_Dumpert_Comment_Enhancer.user.js | 42 +- .../GitHub_Commit_Compare.user.js | 42 +- .../Github_Comment_Enhancer.user.js | 40 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 38 +- .../Github_Commit_Whitespace.user.js | 34 +- Github_Gist_Share/157850.user.js | 34 +- .../Github_Image_Viewer.user.js | 38 +- .../Github_JSON_Dependencies_Linker.user.js | 44 +- .../Github_News_Feed_Filter.user.js | 40 +- .../Github_Pages_Linker.user.js | 38 +- .../Github_Pull_Request_From.user.js | 38 +- .../Github_Reply_Comments.user.js | 42 +- Github_User_Info/Github_User_Info.user.js | 46 +- Horizon_TV_Fixer/155147.user.js | 36 +- .../Marktplaats_Exchanger.user.js | 36 +- .../Multiple_Windows_Live_IDs.user.js | 38 +- .../Outlook_Sign_Out_To_Login.user.js | 32 +- PDF_Tools/PDF_Tools.user.js | 28 +- .../Twitter_profile_replies_hider.user.js | 36 +- .../Twitter_profile_retweets_hider.user.js | 36 +- Userscripts.org_Diff_Extender/38909.user.js | 50 +- Userscripts.org_Extended_Style/37212.user.js | 17 +- .../37611.user.js | 40 +- .../38912.user.js | 32 +- Userscripts.org_Timed_Updater/37853.user.js | 48 +- Userscripts.org_Topics_Column/38597.user.js | 40 +- Userscripts.org_Versions_Column/38595.user.js | 30 +- Userscripts.org_Versions_Tab/38594.user.js | 36 +- package-lock.json | 1183 +++++++++++++++++ package.json | 20 +- 35 files changed, 1760 insertions(+), 582 deletions(-) create mode 100644 package-lock.json diff --git a/.eslintignore b/.eslintignore index 7777698..c2658d7 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1 @@ node_modules/ -Userscripts.org_*/ diff --git a/.eslintrc.js b/.eslintrc.js index 510d56a..5a25fb4 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -17,11 +17,7 @@ module.exports = { { files: ["*.user.js"], extends: ["plugin:userscripts/recommended"], - rules: { - "userscripts/align-attributes": ["error", 1], - "userscripts/no-invalid-headers": ["error", { allowed: ["id", "browser"] }], - "userscripts/compat-headers": "off", - }, + rules: {}, settings: { userscriptVersions: { tampermonkey: ">=4", @@ -36,4 +32,3 @@ module.exports = { }, rules: {}, }; - diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 3daad5e..ed8bae8 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -1,15 +1,15 @@ // ==UserScript== -// @name April Fools CSS -// @description Some CSS april fools -// @author jerone -// @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include * -// @version 1.0 +// @name April Fools CSS +// @description Some CSS april fools +// @author jerone +// @namespace https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @include * +// @version 1.0 // ==/UserScript== if(window.top===window){ diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index adb54bf..e531b6e 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -1,15 +1,15 @@ // ==UserScript== -// @name Dakar Extender -// @description Highlight riders by certain country in standings lists. -// @namespace http://userscripts.org/scripts/show/208433 -// @version 2 -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @grant none -// @require http://code.jquery.com/jquery-2.0.3.min.js -// @icon https://lh6.googleusercontent.com/-pKPBVGEVXk0/UsXXxo0S9JI/AAAAAAAACp0/0N_pV4AqDMY/s512-no/Icon_Dakar2+%25281%2529.png -// @include *dakar.com/* +// @name Dakar Extender +// @description Highlight riders by certain country in standings lists. +// @namespace http://userscripts.org/scripts/show/208433 +// @version 2 +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @grant none +// @require http://code.jquery.com/jquery-2.0.3.min.js +// @icon https://lh6.googleusercontent.com/-pKPBVGEVXk0/UsXXxo0S9JI/AAAAAAAACp0/0N_pV4AqDMY/s512-no/Icon_Dakar2+%25281%2529.png +// @include *dakar.com/* // ==/UserScript== (function(){ diff --git a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js index 591ceed..b414e4c 100644 --- a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +++ b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Darts Data Enhancer -// @id Darts_Data_Enhancer@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Enhances Darts Data -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.0 -// @grant none -// @run-at document-end -// @include http://live.dartsdata.com/MatchesList.aspx +// @name Darts Data Enhancer +// @id Darts_Data_Enhancer@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Enhances Darts Data +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer#readme +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 1.0.0 +// @grant none +// @run-at document-end +// @include http://live.dartsdata.com/MatchesList.aspx // ==/UserScript== var playersLeft = document.querySelectorAll("#ctl01 > table:nth-child(9) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > div > table > tbody > tr > td:nth-child(2)"); diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index 5811979..6c4548e 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -1,25 +1,25 @@ // ==UserScript== -// @name GeenStijl & Powned & Dumpert Comment Enhancer -// @namespace https://github.com/jerone/UserScripts -// @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer -// @homepageURL https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer -// @downloadURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include http*://*geenstijl.nl/mt/archieven/* -// @include http*://*geenstijl.tv/* -// @include http*://*powned.tv/nieuws/* -// @include http*://*dumpert.nl/mediabase/* -// @include http*://*daskapital.nl/* -// @include http*://*glamora.ma/* -// @version 2.0 -// @grant none +// @name GeenStijl & Powned & Dumpert Comment Enhancer +// @namespace https://github.com/jerone/UserScripts +// @description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer +// @homepageURL https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer +// @downloadURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @include http*://*geenstijl.nl/mt/archieven/* +// @include http*://*geenstijl.tv/* +// @include http*://*powned.tv/nieuws/* +// @include http*://*dumpert.nl/mediabase/* +// @include http*://*daskapital.nl/* +// @include http*://*glamora.ma/* +// @version 2.0 +// @grant none // ==/UserScript== (function() { diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index f61d3ad..1c1c331 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -1,25 +1,25 @@ // ==UserScript== -// @name GitHub Commit Compare -// @namespace https://github.com/jerone/UserScripts -// @description Add controls to compare commits. -// @author jerone -// @contributor darkred -// @copyright 2017+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare -// @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare -// @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/*/*/commits -// @include https://github.com/*/*/commits/* -// @exclude https://github.com/*/*.diff -// @exclude https://github.com/*/*.patch -// @version 0.0.3 -// @grant none +// @name GitHub Commit Compare +// @namespace https://github.com/jerone/UserScripts +// @description Add controls to compare commits. +// @author jerone +// @contributor darkred +// @copyright 2017+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare +// @homepageURL https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare +// @downloadURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/*/*/commits +// @include https://github.com/*/*/commits/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch +// @version 0.0.3 +// @grant none // ==/UserScript== (function () { diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 12dce47..500099f 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -1,24 +1,24 @@ // ==UserScript== -// @name Github Comment Enhancer -// @id Github_Comment_Enhancer@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Enhances Github comments -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 2.9.0 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant none -// @run-at document-end -// @include https://github.com/* -// @include https://gist.github.com/* +// @name Github Comment Enhancer +// @id Github_Comment_Enhancer@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Enhances Github comments +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 2.9.0 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant none +// @run-at document-end +// @include https://github.com/* +// @include https://gist.github.com/* // ==/UserScript== /* global unsafeWindow */ diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 3d6930d..8ce6091 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Github Commit Diff -// @namespace https://github.com/jerone/UserScripts -// @description Adds button to show diff (or patch) file for commit -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/* -// @exclude https://github.com/*/*.diff -// @exclude https://github.com/*/*.patch -// @version 1.6.7 -// @grant none +// @name Github Commit Diff +// @namespace https://github.com/jerone/UserScripts +// @description Adds button to show diff (or patch) file for commit +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch +// @version 1.6.7 +// @grant none // ==/UserScript== (function() { diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 65eff5e..7ffd9b0 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -1,21 +1,21 @@ // ==UserScript== -// @name Github Commit Whitespace -// @namespace https://github.com/jerone/UserScripts -// @description Adds button to hide whitespaces from commit -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/* -// @version 1.5.4 -// @grant none +// @name Github Commit Whitespace +// @namespace https://github.com/jerone/UserScripts +// @description Adds button to hide whitespaces from commit +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/* +// @version 1.5.4 +// @grant none // ==/UserScript== (function() { diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 72561f0..859be91 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -1,21 +1,21 @@ // ==UserScript== -// @name Github Gist Share -// @namespace https://github.com/jerone/UserScripts/ -// @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include *://gist.github.com/* -// @version 5.1 -// @grant none +// @name Github Gist Share +// @namespace https://github.com/jerone/UserScripts/ +// @description Share your GitHub Gist to Twitter, Dabblet, Bl.ocks & as userscript. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include *://gist.github.com/* +// @version 5.1 +// @grant none // ==/UserScript== (function() { diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 4a5214c..5a0f33a 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Github Image Viewer -// @id Github_Image_Viewer@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Preview images from within the listing. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.5.0 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant none -// @run-at document-end -// @include https://github.com/* +// @name Github Image Viewer +// @id Github_Image_Viewer@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Preview images from within the listing. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 0.5.0 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant none +// @run-at document-end +// @include https://github.com/* // ==/UserScript== (function() { diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 070ccb1..7b9c4c8 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -1,26 +1,26 @@ // ==UserScript== -// @name Github JSON Dependencies Linker -// @id Github_JSON_Dependencies_Linker@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Linkify all dependencies found in an JSON file. -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.3.2 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant GM_xmlhttpRequest -// @run-at document-end -// @include https://github.com/*/package.json -// @include https://github.com/*/npm-shrinkwrap.json -// @include https://github.com/*/bower.json -// @include https://github.com/*/project.json +// @name Github JSON Dependencies Linker +// @id Github_JSON_Dependencies_Linker@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Linkify all dependencies found in an JSON file. +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 0.3.2 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant GM_xmlhttpRequest +// @run-at document-end +// @include https://github.com/*/package.json +// @include https://github.com/*/npm-shrinkwrap.json +// @include https://github.com/*/bower.json +// @include https://github.com/*/project.json // ==/UserScript== /* global GM_xmlhttpRequest */ diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 8dd22b8..4f270b4 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -1,24 +1,24 @@ // ==UserScript== -// @name Github News Feed Filter -// @namespace https://github.com/jerone/UserScripts -// @description Add filters for GitHub homepage news feed items -// @author jerone -// @contributor darkred -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @include https://github.com/ -// @include https://github.com/?* -// @include https://github.com/orgs/*/dashboard -// @include https://github.com/orgs/*/dashboard?* -// @version 8.2.8 -// @grant none +// @name Github News Feed Filter +// @namespace https://github.com/jerone/UserScripts +// @description Add filters for GitHub homepage news feed items +// @author jerone +// @contributor darkred +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @include https://github.com/ +// @include https://github.com/?* +// @include https://github.com/orgs/*/dashboard +// @include https://github.com/orgs/*/dashboard?* +// @version 8.2.8 +// @grant none // ==/UserScript== (function () { diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 416712f..bcaeced 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Github Pages Linker -// @id Github_Pages_Linker@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts/ -// @description Add a link to Github Pages (gh-pages) when available. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @version 1.2.5 -// @grant none -// @run-at document-end -// @include https://github.com/* +// @name Github Pages Linker +// @id Github_Pages_Linker@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts/ +// @description Add a link to Github Pages (gh-pages) when available. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @version 1.2.5 +// @grant none +// @run-at document-end +// @include https://github.com/* // ==/UserScript== (function () { diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 85cebb8..7a8656c 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Github Pull Request From Link -// @namespace https://github.com/jerone/UserScripts/ -// @description Make pull request branches linkable -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @version 20.1 -// @grant none -// @include https://github.com/*/pull/* -// @exclude https://github.com/*/*.diff -// @exclude https://github.com/*/*.patch +// @name Github Pull Request From Link +// @namespace https://github.com/jerone/UserScripts/ +// @description Make pull request branches linkable +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @version 20.1 +// @grant none +// @include https://github.com/*/pull/* +// @exclude https://github.com/*/*.diff +// @exclude https://github.com/*/*.patch // ==/UserScript== (function () { diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index b2584b8..12ffd4f 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -1,25 +1,25 @@ // ==UserScript== -// @name Github Reply Comments -// @namespace https://github.com/jerone/UserScripts -// @description Easy reply to Github comments -// @author jerone -// @copyright 2016+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.5 -// @icon https://github.githubassets.com/pinned-octocat.svg -// @grant none -// @include https://github.com/* -// @include https://gist.github.com/* -// @require https://unpkg.com/turndown@5.0.3/dist/turndown.js -// @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js -// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.2/turndown-plugin-github-code-snippet.js +// @name Github Reply Comments +// @namespace https://github.com/jerone/UserScripts +// @description Easy reply to Github comments +// @author jerone +// @copyright 2016+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 1.0.5 +// @icon https://github.githubassets.com/pinned-octocat.svg +// @grant none +// @include https://github.com/* +// @include https://gist.github.com/* +// @require https://unpkg.com/turndown@5.0.3/dist/turndown.js +// @require https://unpkg.com/turndown-plugin-gfm@1.0.2/dist/turndown-plugin-gfm.js +// @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.2/turndown-plugin-github-code-snippet.js // ==/UserScript== (function () { diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index eb7e659..c4688cb 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -1,27 +1,27 @@ // ==UserScript== -// @name Github User Info -// @id Github_User_Info@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Show inline user information on avatar hover. -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_User_Info -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://github.githubassets.com/pinned-octocat.svg -// @version 0.4.1 -// @grant GM_xmlhttpRequest -// @grant GM_setValue -// @grant GM_getValue -// @grant unsafeWindow -// @run-at document-end -// @include https://github.com/* -// @include https://gist.github.com/* +// @name Github User Info +// @id Github_User_Info@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Show inline user information on avatar hover. +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Github_User_Info +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Github_User_Info +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://github.githubassets.com/pinned-octocat.svg +// @version 0.4.1 +// @grant GM_xmlhttpRequest +// @grant GM_setValue +// @grant GM_getValue +// @grant unsafeWindow +// @run-at document-end +// @include https://github.com/* +// @include https://gist.github.com/* // ==/UserScript== (function() { diff --git a/Horizon_TV_Fixer/155147.user.js b/Horizon_TV_Fixer/155147.user.js index 7eeec95..3fc5427 100644 --- a/Horizon_TV_Fixer/155147.user.js +++ b/Horizon_TV_Fixer/155147.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Horizon TV Fixer -// @namespace https://github.com/jerone/UserScripts -// @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @icon https://www.ziggogo.tv/etc/designs/orion/theme/ziggo/favicon/favicon.ico -// @version 31 -// @grant none -// @include *horizon.tv* -// @include *ziggogo.tv* +// @name Horizon TV Fixer +// @namespace https://github.com/jerone/UserScripts +// @description Improves the Horizon / Ziggo TV Gids by extending the functionality and the layout of the site. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @icon https://www.ziggogo.tv/etc/designs/orion/theme/ziggo/favicon/favicon.ico +// @version 31 +// @grant none +// @include *horizon.tv* +// @include *ziggogo.tv* // ==/UserScript== (function HorizonTVFixer() { diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index 94696e5..f90832c 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Marktplaats Exchanger -// @id Marktplaats_Exchanger@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Exchange Marktplaats.nl -// @author jerone -// @copyright 2015+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.1 -// @grant none -// @run-at document-end -// @include https://www.marktplaats.* +// @name Marktplaats Exchanger +// @id Marktplaats_Exchanger@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Exchange Marktplaats.nl +// @author jerone +// @copyright 2015+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 1.0.1 +// @grant none +// @run-at document-end +// @include https://www.marktplaats.* // ==/UserScript== (function Marktplaats_Exchanger() { diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 66e272e..ef993ca 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -1,23 +1,23 @@ // ==UserScript== -// @name Multiple Windows Live IDs -// @id Multiple_Windows_Live_IDs@https://github.com/jerone/UserScripts -// @namespace https://github.com/jerone/UserScripts -// @description Easy login with multiple Microsoft accounts. -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 0.2.0 -// @grant GM_getValue -// @grant GM_setValue -// @run-at document-end -// @include http*://login.live.com* +// @name Multiple Windows Live IDs +// @id Multiple_Windows_Live_IDs@https://github.com/jerone/UserScripts +// @namespace https://github.com/jerone/UserScripts +// @description Easy login with multiple Microsoft accounts. +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @version 0.2.0 +// @grant GM_getValue +// @grant GM_setValue +// @run-at document-end +// @include http*://login.live.com* // ==/UserScript== /* global GM_getValue,GM_setValue */ diff --git a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js index e07c9f3..165af77 100644 --- a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +++ b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js @@ -1,20 +1,20 @@ // ==UserScript== -// @name Outlook Sign Out To Login -// @namespace https://github.com/jerone/UserScripts -// @description Redirect back to login page when signing out from Outlook -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *://*.mail.live.com/* -// @version 1 -// @grant none +// @name Outlook Sign Out To Login +// @namespace https://github.com/jerone/UserScripts +// @description Redirect back to login page when signing out from Outlook +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @include *://*.mail.live.com/* +// @version 1 +// @grant none // ==/UserScript== (function() { diff --git a/PDF_Tools/PDF_Tools.user.js b/PDF_Tools/PDF_Tools.user.js index a48afb7..d031f31 100644 --- a/PDF_Tools/PDF_Tools.user.js +++ b/PDF_Tools/PDF_Tools.user.js @@ -1,18 +1,18 @@ // ==UserScript== -// @name PDF Tools -// @id PDF_Tools@https://github.com/jerone/UserScripts -// @description An userscript that enhances the pdf.js window in Firefox. -// @version 1.0 -// @namespace https://github.com/jerone/UserScripts -// @author jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *.pdf -// @include *.pdf?* -// @include *.pdf#* -// @run-at document-end +// @name PDF Tools +// @id PDF_Tools@https://github.com/jerone/UserScripts +// @description An userscript that enhances the pdf.js window in Firefox. +// @version 1.0 +// @namespace https://github.com/jerone/UserScripts +// @author jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @include *.pdf +// @include *.pdf?* +// @include *.pdf#* +// @run-at document-end // ==/UserScript== (function() { diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 9fe64f2..9a2da74 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Twitter profile replies hider -// @namespace https://github.com/jerone/UserScripts -// @description Hide replies on Twitter profiles -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *://twitter.com/* -// @exclude *://twitter.com/ -// @exclude *://twitter.com -// @version 5 -// @grant none +// @name Twitter profile replies hider +// @namespace https://github.com/jerone/UserScripts +// @description Hide replies on Twitter profiles +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_replies_on_Twitter_user_account +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_replies_on_Twitter_user_account/163703.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @include *://twitter.com/* +// @exclude *://twitter.com/ +// @exclude *://twitter.com +// @version 5 +// @grant none // ==/UserScript== (function() { diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index fd2d40e..6b84dc5 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -1,22 +1,22 @@ // ==UserScript== -// @name Twitter profile retweets hider -// @namespace https://github.com/jerone/UserScripts -// @description Hide retweets on Twitter profiles -// @author jerone -// @copyright 2014+, jerone (https://github.com/jerone) -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account -// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account -// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js -// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js -// @supportURL https://github.com/jerone/UserScripts/issues -// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @include *://twitter.com/* -// @exclude *://twitter.com/ -// @exclude *://twitter.com -// @version 2 -// @grant none +// @name Twitter profile retweets hider +// @namespace https://github.com/jerone/UserScripts +// @description Hide retweets on Twitter profiles +// @author jerone +// @copyright 2014+, jerone (https://github.com/jerone) +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @homepage https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account +// @homepageURL https://github.com/jerone/UserScripts/tree/master/Hide_retweets_on_Twitter_user_account +// @downloadURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js +// @updateURL https://github.com/jerone/UserScripts/raw/master/Hide_retweets_on_Twitter_user_account/173703.user.js +// @supportURL https://github.com/jerone/UserScripts/issues +// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW +// @include *://twitter.com/* +// @exclude *://twitter.com/ +// @exclude *://twitter.com +// @version 2 +// @grant none // ==/UserScript== (function() { diff --git a/Userscripts.org_Diff_Extender/38909.user.js b/Userscripts.org_Diff_Extender/38909.user.js index fb10385..a97e1eb 100644 --- a/Userscripts.org_Diff_Extender/38909.user.js +++ b/Userscripts.org_Diff_Extender/38909.user.js @@ -1,19 +1,19 @@ -//////////////////////////////////////////////////////////////////////////// -// ==UserScript=== -// @name Userscripts.org Diff Extender -// @author Jerone UserScript Productions -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/38909 -// @description Add some handy features to the diff. -// @description Userscripts.org Diff Extender v2.2.1 Alpha -// @copyright 2008 - 2012 Jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version v2.2.1 Alpha -// @browser FF17 -// @include *userscripts.org/scripts/diff/* -// @grant none +// ==UserScript== +// @name Userscripts.org Diff Extender +// @author Jerone UserScript Productions +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/38909 +// @homepageURL http://userscripts.org/scripts/show/38909 +// @description Add some handy features to the diff. +// @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version v2.2.1-Alpha +// @browser FF17 +// @include *userscripts.org/scripts/diff/* +// @grant none // ==/UserScript== + /*////////////////////////////////////////////////////////////////////////// // ToC: // - Copyrights @@ -57,7 +57,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. [/] fixed working on https://userscripts.org; //////////////////////////////////////////////////////////////////////////// // Todo: -// - show inline differences; +// - show inline differences; //////////////////////////////////////////////////////////////////////////// // Note: // - @@ -83,9 +83,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. pre.style.paddingLeft = "15px"; pre.style.lineHeight = "17px"; pre.style.paddingTop = "0"; - + var scrollWidth = (Math.max(parseInt(pre.scrollWidth), 0) || 1000) + "px"; - + var css = " \ .diff { \ background-color: #EEEEEE; \ @@ -133,7 +133,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. wrapper.appendChild(pre.cloneNode(true)); pre.parentNode.replaceChild(wrapper, pre); pre = wrapper.firstChild; - + var div = doc.createElement("div"); div.className = "diff"; pre.parentNode.insertBefore(div, pre); @@ -145,20 +145,20 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. table.cellpadding = 0; table.className = "diffNr"; div.appendChild(table); - + xPath(".//div[@class='meta']", pre).forEach(function(meta){ meta.style.marginLeft = "-15px"; meta.style.width = scrollWidth; - + var tr = doc.createElement("tr"); table.appendChild(tr); - + var tdDel = doc.createElement("td"); tdDel.className = "diffMeta"; tdDel.width = "50%"; tdDel.appendChild(doc.createTextNode("-")); tr.appendChild(tdDel); - + var tdAdd = doc.createElement("td"); tdAdd.className = "diffMeta"; tdAdd.width = "50%"; @@ -177,10 +177,10 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. tdDel = doc.createElement("td"); tr.appendChild(tdDel); - + tdAdd = doc.createElement("td"); tr.appendChild(tdAdd); - + if(!item.match(/^\+/)){ tdDel.className = "diffAdd"; tdDel.appendChild(doc.createTextNode(iOld)); diff --git a/Userscripts.org_Extended_Style/37212.user.js b/Userscripts.org_Extended_Style/37212.user.js index f89a219..88ab6d8 100644 --- a/Userscripts.org_Extended_Style/37212.user.js +++ b/Userscripts.org_Extended_Style/37212.user.js @@ -1,12 +1,13 @@ // ==UserScript== -// @name Userscripts.org Extended Style -// @namespace http://userscripts.org/scripts/show/37212 -// @description Userscripts.org Extended Style -// @copyright jerone & Jesse A. -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @include *userscripts.org* -// @grant GM_addStyle +// @name Userscripts.org Extended Style +// @namespace http://userscripts.org/scripts/show/37212 +// @description Userscripts.org Extended Style +// @copyright jerone & Jesse A. +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version 0.0.1 +// @include *userscripts.org* +// @grant GM_addStyle // ==/UserScript== GM_addStyle(" \ diff --git a/Userscripts.org_Scripts_Source_Counter/37611.user.js b/Userscripts.org_Scripts_Source_Counter/37611.user.js index a928495..2993943 100644 --- a/Userscripts.org_Scripts_Source_Counter/37611.user.js +++ b/Userscripts.org_Scripts_Source_Counter/37611.user.js @@ -1,21 +1,21 @@ -/*////////////////////////////////////////////////////////////////////////// // ==UserScript== -// @name Userscripts.org Scripts Source Counter -// @author Jerone UserScript Productions -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/37611 -// @description Count all characters, words and lines for scriptwriters. -// @description Userscripts.org Scripts Source Counter v3 -// @copyright 2008 - 2013 Jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version 3 -// @browser FF19 -// @grant none -// @include *userscripts.org/scripts/new?form=true -// @include *userscripts.org/scripts/edit_src/* +// @name Userscripts.org Scripts Source Counter +// @author Jerone UserScript Productions +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/37611 +// @homepageURL http://userscripts.org/scripts/show/37611 +// @description Count all characters, words and lines for scriptwriters. +// @copyright 2008 - 2013 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version 3 +// @browser FF19 +// @grant none +// @include *userscripts.org/scripts/new?form=true +// @include *userscripts.org/scripts/edit_src/* // ==/UserScript== -//////////////////////////////////////////////////////////////////////////// + +/*/////////////////////////////////////////////////////////////////////////// THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -35,13 +35,13 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. var obj, node, btn; if((obj = document.getElementById("script_src"))){ obj.style["white-space"] = "pre-wrap"; - + btn = document.createElement("input"); btn.type = "button"; btn.value = "Count!"; btn.style["margin-right"] = "10px"; btn.title = "Count all characters, words and lines and include the stats at the end of the UserScript!"; - + node = obj.nextSibling; while(node.nodeType==3 || !/\S/.test(node.nodeValue)){ node = node.nextSibling; @@ -51,7 +51,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. } else { node.insertBefore(btn, node.firstChild); } - + btn.addEventListener("click", function(){ if(new RegExp("User" + "Stats").test(obj.value)){ // new way; obj.value = obj.value.replace(new RegExp("\\n*\\/\\/\\s+==User" + "Stats==[.\\w\\t\\s./():]*\\/\\/\\s+==\\/User" + "Stats=="), ""); @@ -61,7 +61,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. obj.value += stats(obj.value + stats(obj.value)); // add stats; obj.scrollTop = obj.scrollHeight; // scroll to end; }); - } + } function stats(data){ return ["", "", "", "", diff --git a/Userscripts.org_Source_Numbering/38912.user.js b/Userscripts.org_Source_Numbering/38912.user.js index 2ac2b3e..d7e9441 100644 --- a/Userscripts.org_Source_Numbering/38912.user.js +++ b/Userscripts.org_Source_Numbering/38912.user.js @@ -1,17 +1,17 @@ -//////////////////////////////////////////////////////////////////////////// -// ==UserScript=== -// @name Userscripts.org Source Numbering -// @author Jerone UserScript Productions -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/38912 -// @description Add line numbering to source code. -// @description Userscripts.org Source Numbering v3 -// @copyright 2008 - 2013 Jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version v3 -// @include *userscripts.org/scripts/review/* +// ==UserScript== +// @name Userscripts.org Source Numbering +// @author Jerone UserScript Productions +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/38912 +// @homepageURL http://userscripts.org/scripts/show/38912 +// @description Add line numbering to source code. +// @copyright 2008 - 2013 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version v3 +// @include *userscripts.org/scripts/review/* // ==/UserScript== + /*////////////////////////////////////////////////////////////////////////// THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF @@ -49,10 +49,10 @@ var maxLines = 10000; // [Integer] maximum number of lines (prevent browser fro Init: function(){ var pre; if((pre = doc.getElementById("source"))){ - + var preHeight = parseFloat(getStyle(pre, "height")), lineHeight = parseFloat(getStyle(pre, "line-height")) || 16.1; // px; - + // All the CSS; var css = " \ .numb { \ @@ -292,7 +292,7 @@ var maxLines = 10000; // [Integer] maximum number of lines (prevent browser fro USN.hashEvent.Fix(begin, end); } } - + win.focus(); return false; } diff --git a/Userscripts.org_Timed_Updater/37853.user.js b/Userscripts.org_Timed_Updater/37853.user.js index fcbb8ac..35b5a15 100644 --- a/Userscripts.org_Timed_Updater/37853.user.js +++ b/Userscripts.org_Timed_Updater/37853.user.js @@ -1,19 +1,19 @@ -//////////////////////////////////////////////////////////////////////////// -// ==UserScript=== -// @name Userscripts.org Timed Updater -// @author Jerone UserScript Productions -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/37853 -// @description Update or create script at specific time. -// @description Userscripts.org Timed Updater v2.0.1 Alpha -// @copyright 2008 - 2012 Jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version v2.0.1 Alpha -// @browser FF17 -// @include *userscripts.org/scripts/new?form=true -// @include *userscripts.org/scripts/edit_src/* +// ==UserScript== +// @name Userscripts.org Timed Updater +// @author Jerone UserScript Productions +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/37853 +// @homepageURL http://userscripts.org/scripts/show/37853 +// @description Update or create script at specific time. +// @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version v2.0.1-Alpha +// @browser FF17 +// @include *userscripts.org/scripts/new?form=true +// @include *userscripts.org/scripts/edit_src/* // ==/UserScript== + /*////////////////////////////////////////////////////////////////////////// // ToC: // - Copyrights @@ -55,7 +55,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // - count down every seconds when below 1 minute; //////////////////////////////////////////////////////////////////////////// // Note: -// - +// - /*////////////////////////////////////////////////////////////////////////// @@ -69,15 +69,15 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. init: function(){ var obj; if((obj = doc.getElementById("script_src"))){ - + var container = doc.createElement("span"); container.style.display = "block"; - + var label = doc.createElement("label"); label.htmlFor = label.for = "inputHours"; label.innerHTML = (/new/i.test(location.href) ? "Create" : "Save") + " script at (h:m): "; container.appendChild(label); - + var inputHours = doc.createElement("input"); inputHours.id = "inputHours"; inputHours.value = new Date().getHours() + 1; @@ -86,9 +86,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. inputHours.title = "Hours"; inputHours.style.textAlign = "center"; container.appendChild(inputHours); - + container.appendChild(doc.createTextNode(" : ")); - + var inputMinutes = doc.createElement("input"); inputMinutes.id = "inputMinutes"; inputMinutes.value = "00"; @@ -104,12 +104,12 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. btn.title = "Click here to activate the timer to submit this script at a specific time!"; btn.style.marginRight = "10px"; container.appendChild(btn); - + var label2 = doc.createElement("label"); label2.htmlFor = label2.for = "inputHours"; label2.innerHTML = "No timer set yet..."; container.appendChild(label2); - + var node = obj.nextSibling; while(node.nodeType==3 || !/\S/.test(node.nodeValue)){ node = node.nextSibling; @@ -170,7 +170,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. label2.innerHTML = " ± " + humanize(timer) + " remaining. "; return timer; } - + function humanize(n, shorten){ shorten = shorten || false; var txt = false, diff --git a/Userscripts.org_Topics_Column/38597.user.js b/Userscripts.org_Topics_Column/38597.user.js index d47b0f0..7631f68 100644 --- a/Userscripts.org_Topics_Column/38597.user.js +++ b/Userscripts.org_Topics_Column/38597.user.js @@ -1,19 +1,19 @@ -//////////////////////////////////////////////////////////////////////////// -// ==UserScript=== -// @name Userscripts.org Topics Column -// @author Jerone UserScript Productions -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/38597 -// @description Add extra column with scripts topics in script management. -// @description Userscripts.org Topics Column v2.1.1 Alpha -// @copyright 2008 - 2012 Jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version v2.1.1 Alpha -// @browser FF17 -// @include *userscripts.org/home/scripts -// @include *userscripts.org/home/scripts* +// ==UserScript== +// @name Userscripts.org Topics Column +// @author Jerone UserScript Productions +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/38597 +// @homepageURL http://userscripts.org/scripts/show/38597 +// @description Add extra column with scripts topics in script management. +// @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version v2.1.1-Alpha +// @browser FF17 +// @include *userscripts.org/home/scripts +// @include *userscripts.org/home/scripts* // ==/UserScript== + /*////////////////////////////////////////////////////////////////////////// // ToC: // - Copyrights @@ -53,7 +53,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. [/] fixed working on https://userscripts.org; //////////////////////////////////////////////////////////////////////////// // Todo: -// - +// - //////////////////////////////////////////////////////////////////////////// // Note: // - @@ -90,7 +90,7 @@ var updateTime = 3*60*60*1000; // [Number] update time (we don't want to flood u th.className = "la"; th.width = "1%"; column.parentNode.insertBefore(th, column); - + var a = doc.createElement("a"); a.href = "/home/scripts?sort=topics"; a.innerHTML = "Topics"; @@ -100,9 +100,9 @@ var updateTime = 3*60*60*1000; // [Number] update time (we don't want to flood u td.className = "inv lp"; td.innerHTML = "..."; column.parentNode.insertBefore(td, column); - + tds.push(td); - + var nr = tr.id.match(/\d+/)[0], now = new Date().getTime(); if(typeof(topics[nr])==="number" && now - parseInt(GM_getValue("UTC.lastCheck", 0), 10) < updateTime){ @@ -128,7 +128,7 @@ var updateTime = 3*60*60*1000; // [Number] update time (we don't want to flood u } } }); - + if(/scripts\?sort=topics/i.test(win.location.href)){ tds.sort(function(a, b){ return parseInt(a.innerHTML, 10) - parseInt(b.innerHTML, 10); diff --git a/Userscripts.org_Versions_Column/38595.user.js b/Userscripts.org_Versions_Column/38595.user.js index 9006005..b45641d 100644 --- a/Userscripts.org_Versions_Column/38595.user.js +++ b/Userscripts.org_Versions_Column/38595.user.js @@ -1,19 +1,19 @@ -//////////////////////////////////////////////////////////////////////////// -// ==UserScript=== -// @name Userscripts.org Versions Column -// @author Jerone UserScript Productions -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/38595 -// @description Add extra column with scripts versions in script management. -// @description Userscripts.org Versions Column v1.3.1 Alpha -// @copyright 2008 - 2012 Jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version v1.3.1 Alpha -// @browser FF17 -// @include *userscripts.org/home/scripts -// @include *userscripts.org/home/scripts* +// ==UserScript== +// @name Userscripts.org Versions Column +// @author Jerone UserScript Productions +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/38595 +// @homepageURL http://userscripts.org/scripts/show/38595 +// @description Add extra column with scripts versions in script management. +// @copyright 2008 - 2012 Jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version v1.3.1-Alpha +// @browser FF17 +// @include *userscripts.org/home/scripts +// @include *userscripts.org/home/scripts* // ==/UserScript== + /*////////////////////////////////////////////////////////////////////////// // ToC: // - Copyrights diff --git a/Userscripts.org_Versions_Tab/38594.user.js b/Userscripts.org_Versions_Tab/38594.user.js index 5581d2d..ca35c61 100644 --- a/Userscripts.org_Versions_Tab/38594.user.js +++ b/Userscripts.org_Versions_Tab/38594.user.js @@ -1,22 +1,22 @@ -//////////////////////////////////////////////////////////////////////////// -// ==UserScript=== -// @name Userscripts.org Versions Tab -// @author jerone -// @namespace http://userscripts.org/users/31497 -// @homepage http://userscripts.org/scripts/show/38594 -// @description Add versions tab to scripts menu. -// @description Userscripts.org Versions Tab 3.4 -// @copyright 2008 - 2013 jerone -// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode -// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt -// @version 3.4 -// @include *userscripts.org/scripts/* -// @include *userscripts.org/topics/* -// @include *userscripts.org/reviews/* -// @grant GM_getValue -// @grant GM_setValue -// @grant GM_xmlhttpRequest +// ==UserScript== +// @name Userscripts.org Versions Tab +// @author jerone +// @namespace http://userscripts.org/users/31497 +// @homepage http://userscripts.org/scripts/show/38594 +// @homepageURL http://userscripts.org/scripts/show/38594 +// @description Add versions tab to scripts menu. -- Userscripts.org Versions Tab 3.4 +// @copyright 2008 - 2013 jerone +// @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode +// @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt +// @version 3.4 +// @include *userscripts.org/scripts/* +// @include *userscripts.org/topics/* +// @include *userscripts.org/reviews/* +// @grant GM_getValue +// @grant GM_setValue +// @grant GM_xmlhttpRequest // ==/UserScript== + /*////////////////////////////////////////////////////////////////////////// THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..eb5780a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1183 @@ +{ + "name": "jerone's userscripts", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "jerone's userscripts", + "version": "0.0.0", + "devDependencies": { + "eslint": "^8.56.0", + "eslint-plugin-userscripts": "^0.5.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-userscripts": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-userscripts/-/eslint-plugin-userscripts-0.5.2.tgz", + "integrity": "sha512-wakC0yMSYunlHQ6xZIOvtZ4OsewkQ5fx8JT0swHUCvNH2dua9GMIzjW5HtD/mgxL902pvOn/UOFEWN5MFizJ3g==", + "dev": true, + "dependencies": { + "semver": "^7.3.8" + }, + "engines": { + "node": ">=18.0.0 <22.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0 <10" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz", + "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 3966082..414e02c 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "private": true, - "name": "jerone's userscripts", - "version": "0.0.0", - "scripts": { - "lint": "eslint ." - }, - "devDependencies": { - "eslint": "^8.55.0", - "eslint-plugin-userscripts": "^0.5.1" - } + "private": true, + "name": "jerone's userscripts", + "version": "0.0.0", + "scripts": { + "lint": "eslint ." + }, + "devDependencies": { + "eslint": "^8.56.0", + "eslint-plugin-userscripts": "^0.5.2" + } } From c5290df1302f52b131f4b65edc81e56082f3b51e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 1 Feb 2024 22:53:05 +0100 Subject: [PATCH 131/164] Fix grammar --- .vscode/settings.json | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..746f7b9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cSpell.words": [ + "jerone", + "userscripts" + ] +} diff --git a/package.json b/package.json index 414e02c..57ca0e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "jerone's userscripts", + "name": "jerone-userscripts", "version": "0.0.0", "scripts": { "lint": "eslint ." From d919cfd724a210ab33583f6577bfb2357a5295a8 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 15:20:28 +0100 Subject: [PATCH 132/164] Fix commit authors --- .mailmap | 1 + 1 file changed, 1 insertion(+) create mode 100644 .mailmap diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..02d92e9 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ +Jeroen van Warmerdam From d8ee473aa9f72a97515d719b0885956bff7c94c1 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 17:11:39 +0100 Subject: [PATCH 133/164] =?UTF-8?q?=F0=9F=94=A5=20unused=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _resources/UserScripts/UserScripts.sln | 47 ---- .../UserScripts.sln.DotSettings.user | 4 - _resources/UserScripts/WE-Markdown.css | 232 ------------------ .../UserScripts/WebEssentials-Settings.json | 164 ------------- 4 files changed, 447 deletions(-) delete mode 100644 _resources/UserScripts/UserScripts.sln delete mode 100644 _resources/UserScripts/UserScripts.sln.DotSettings.user delete mode 100644 _resources/UserScripts/WE-Markdown.css delete mode 100644 _resources/UserScripts/WebEssentials-Settings.json diff --git a/_resources/UserScripts/UserScripts.sln b/_resources/UserScripts/UserScripts.sln deleted file mode 100644 index 1db9e1a..0000000 --- a/_resources/UserScripts/UserScripts.sln +++ /dev/null @@ -1,47 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26730.12 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "UserScripts", "http://localhost:28135", "{84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}" - ProjectSection(WebsiteProperties) = preProject - UseIISExpress = "true" - TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" - Debug.AspNetCompiler.VirtualPath = "/localhost_28135" - Debug.AspNetCompiler.PhysicalPath = "..\..\..\UserScripts\" - Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_28135\" - Debug.AspNetCompiler.Updateable = "true" - Debug.AspNetCompiler.ForceOverwrite = "true" - Debug.AspNetCompiler.FixedNames = "false" - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.VirtualPath = "/localhost_28135" - Release.AspNetCompiler.PhysicalPath = "..\..\..\UserScripts\" - Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_28135\" - Release.AspNetCompiler.Updateable = "true" - Release.AspNetCompiler.ForceOverwrite = "true" - Release.AspNetCompiler.FixedNames = "false" - Release.AspNetCompiler.Debug = "False" - SlnRelativePath = "..\..\..\UserScripts\" - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{ACB41116-C63E-498E-9150-8BB0451F77CC}" - ProjectSection(SolutionItems) = preProject - WE-Markdown.css = WE-Markdown.css - WebEssentials-Settings.json = WebEssentials-Settings.json - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {84E071CC-91B5-4DF8-9CC5-FC6A59EC1DAD}.Debug|Any CPU.Build.0 = Debug|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {DD273BE9-45B9-4AA2-BBF9-7E32467B97B9} - EndGlobalSection -EndGlobal diff --git a/_resources/UserScripts/UserScripts.sln.DotSettings.user b/_resources/UserScripts/UserScripts.sln.DotSettings.user deleted file mode 100644 index a498caa..0000000 --- a/_resources/UserScripts/UserScripts.sln.DotSettings.user +++ /dev/null @@ -1,4 +0,0 @@ - - 2 - True - True \ No newline at end of file diff --git a/_resources/UserScripts/WE-Markdown.css b/_resources/UserScripts/WE-Markdown.css deleted file mode 100644 index c4065ae..0000000 --- a/_resources/UserScripts/WE-Markdown.css +++ /dev/null @@ -1,232 +0,0 @@ -html { - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - font-family: sans-serif; -} - -body { - margin: 0; - padding: 30px; - min-width: 1020px; - background-color: #fff; - color: #333333; - font: 13px Helvetica, arial, freesans, clean, sans-serif; - line-height: 1.4; -} - - body > *:first-child { - margin-top: 0 !important; - } - - body > *:last-child { - margin-bottom: 0 !important; - } - -a { - color: #4183c4; - text-decoration: none; -} - - a:hover { - outline: 0; - text-decoration: underline; - } - - a:focus { - outline: thin dotted; - text-decoration: underline; - } - - a:active { - outline: 0; - text-decoration: underline; - } - -h1, h2, h3, h4, h5, h6 { - position: relative; - margin: 1em 0 15px; - padding: 0; - font-weight: bold; - line-height: 1.7; - cursor: text; -} - - h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { - top: 15%; - margin-left: -30px; - padding-left: 8px; - text-decoration: none; - line-height: 1; - } - - h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - font-size: inherit; - } - -h1 { - border-bottom: 1px solid #ddd; - font-size: 2.5em; -} - -h2 { - border-bottom: 1px solid #eee; - font-size: 2em; -} - -h3 { - font-size: 1.5em; -} - -h4 { - font-size: 1.2em; -} - -h5 { - font-size: 1em; -} - -h6 { - color: #777; - font-size: 1em; -} - -b, strong { - font-weight: bold; -} - -hr:before, hr:after { - display: table; - content: " "; -} - -hr:after { - clear: both; -} - -sub, sup { - position: relative; - vertical-align: baseline; - font-size: 75%; - line-height: 0; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -img { - -moz-box-sizing: border-box; - box-sizing: border-box; - max-width: 100%; - border: 0; -} - -code, pre { - font-size: 12px; - font-family: Consolas, "Liberation Mono", Courier, monospace; -} - -pre { - margin-top: 0; - margin-bottom: 0; -} - -a.anchor:focus { - outline: none; -} - -p, blockquote, ul, ol, dl, table, pre { - margin: 15px 0; -} - -ul, ol { - margin-top: 0; - margin-bottom: 0; - padding: 0; - padding-left: 30px; -} - - ul.no-list, ol.no-list { - padding: 0; - list-style-type: none; - } - - ul ul, ul ol, ol ol, ol ul { - margin-top: 0; - margin-bottom: 0; - } - -dl { - padding: 0; -} - -blockquote { - padding: 0 15px; - border-left: 4px solid #DDD; - color: #777; -} - -table { - display: block; - overflow: auto; - width: 100%; -} - - table th, table td { - padding: 6px 13px; - border: 1px solid #ddd; - } - - table tr:nth-child(2n) { - background-color: #f8f8f8; - } - -code { - display: inline-block; - overflow: auto; - margin: 0; - padding: 0; - max-width: 100%; - border: 1px solid #ddd; - border-radius: 3px; - background-color: #f8f8f8; - vertical-align: middle; - white-space: nowrap; - line-height: 1.3; -} - - code:before, code:after { - content: "\00a0"; - letter-spacing: -0.2em; - } - -pre { - overflow: auto; - padding: 6px 10px; - border: 1px solid #ddd; - border-radius: 3px; - background-color: #f8f8f8; - word-wrap: normal; - font-size: 13px; - line-height: 19px; -} - - pre code { - display: inline; - overflow: initial; - margin: 0; - padding: 0; - max-width: initial; - border: none; - background-color: transparent; - word-wrap: normal; - line-height: inherit; - } - - pre code:before, pre code:after { - content: normal; - } diff --git a/_resources/UserScripts/WebEssentials-Settings.json b/_resources/UserScripts/WebEssentials-Settings.json deleted file mode 100644 index 95aeee3..0000000 --- a/_resources/UserScripts/WebEssentials-Settings.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "BrowserLink": { - "CssIgnorePatterns": "bootstrap*; reset.css; normalize.css; jquery*; toastr*; foundation*; animate*; inuit*; elements*; ratchet*; hint*; flat-ui*; 960*; skeleton*", - "EnableMenu": true, - "EnablePixelPushing": true, - "ShowMenu": false - }, - "CodeGen": { - "AddTypeScriptReferencePath": true, - "CamelCaseEnumerationValues": false, - "CamelCasePropertyNames": false, - "CamelCaseTypeNames": false - }, - "CoffeeScript": { - "CompileOnBuild": false, - "CompileOnSave": false, - "GenerateSourceMaps": false, - "LintOnBuild": false, - "LintOnSave": true, - "LintResultLocation": "Message", - "MinifyInPlace": false, - "OutputDirectory": null, - "ProcessSourceMapsForEditorEnhancements": true, - "ShowPreviewPane": true, - "StrictMath": false, - "WrapClosure": true - }, - "Css": { - "AdjustRelativePaths": true, - "AutoMinify": true, - "GzipMinifiedFiles": false, - "MakeMinified": false, - "OutputDirectory": null, - "RunOnBuild": false, - "ShowBrowserTooltip": true, - "ShowInitialInherit": false, - "ShowUnsupported": true, - "SyncBase64ImageValues": true, - "SyncVendorValues": true, - "ValidateEmbedImages": false, - "ValidateStarSelector": false, - "ValidateVendorSpecifics": false, - "ValidateZeroUnit": false, - "ValidationLocation": "Messages" - }, - "General": { - "AllMessagesToOutputWindow": false, - "KeepImportantComments": false, - "SvgPreviewPane": false - }, - "Html": { - "AutoMinify": false, - "EnableAngularValidation": false, - "EnableBootstrapValidation": true, - "EnableEnterFormat": true, - "EnableFoundationValidation": true, - "GzipMinifiedFiles": false, - "ImageDropFormats": [ - { - "HtmlFormat": "\"\"", - "Name": "Simple Image Tag" - }, - { - "HtmlFormat": "

\"\"
", - "Name": "Enclosed in Div" - }, - { - "HtmlFormat": "
  • \"\"
  • ", - "Name": "Enclosed as List Item" - }, - { - "HtmlFormat": "
    ", - "Name": "Inline CSS" - } - ], - "MakeMinified": false, - "OutputDirectory": null, - "RunOnBuild": false - }, - "JavaScript": { - "AutoMinify": true, - "BlockCommentCompletion": false, - "GenerateSourceMaps": true, - "GzipMinifiedFiles": false, - "LintOnBuild": false, - "LintOnSave": true, - "LintResultLocation": "Message", - "MakeMinified": false, - "OutputDirectory": null, - "RunOnBuild": false - }, - "Less": { - "CompileOnBuild": false, - "CompileOnSave": false, - "EnableChainCompilation": true, - "GenerateSourceMaps": false, - "MinifyInPlace": false, - "OutputDirectory": null, - "ProcessSourceMapsForEditorEnhancements": true, - "ShowPreviewPane": true, - "StrictMath": false - }, - "LiveScript": { - "CompileOnBuild": false, - "CompileOnSave": false, - "GenerateSourceMaps": true, - "MinifyInPlace": false, - "OutputDirectory": null, - "ProcessSourceMapsForEditorEnhancements": true, - "ShowPreviewPane": true, - "StrictMath": false, - "WrapClosure": true - }, - "Markdown": { - "AutoHyperlink": true, - "AutoNewLines": false, - "CompileOnBuild": false, - "CompileOnSave": false, - "EncodeProblemUrlCharacters": false, - "GenerateXHTML": false, - "LinkEmails": false, - "MinifyInPlace": false, - "OutputDirectory": null, - "ShowPreviewPane": true, - "StrictBoldItalic": false - }, - "Scss": { - "CompileOnBuild": false, - "CompileOnSave": false, - "EnableChainCompilation": true, - "GenerateSourceMaps": true, - "MinifyInPlace": false, - "OutputDirectory": null, - "ProcessSourceMapsForEditorEnhancements": true, - "ShowPreviewPane": true, - "StrictMath": false - }, - "Sprite": { - "CssOutputDirectory": null, - "IsVertical": true, - "LessOutputDirectory": null, - "Optimize": true, - "RunOnBuild": false, - "ScssOutputDirectory": null, - "UseAbsoluteUrl": false, - "UseFullPathForIdentifierName": true - }, - "SweetJs": { - "CompileOnBuild": false, - "CompileOnSave": false, - "GenerateSourceMaps": true, - "MinifyInPlace": false, - "OutputDirectory": null, - "ProcessSourceMapsForEditorEnhancements": true, - "ShowPreviewPane": true, - "StrictMath": false - }, - "TypeScript": { - "LintOnBuild": false, - "LintOnSave": false, - "LintResultLocation": "Message", - "ShowPreviewPane": false - } -} \ No newline at end of file From f99bd12fff6d4bc8c10afffcc6f6ead0eab77438 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 17:12:24 +0100 Subject: [PATCH 134/164] Add cSpell spell-checker --- .cspell.json | 25 ++ .vscode/settings.json | 5 +- April_Fools_CSS/April_Fools_CSS.user.js | 6 +- Dakar_Extender/208433.user.js | 2 + ...jl_Powned_Dumpert_Comment_Enhancer.user.js | 2 + .../GitHub_Commit_Compare.user.js | 2 + .../Github_Comment_Enhancer.user.js | 9 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 2 + .../Github_Commit_Whitespace.user.js | 6 +- Github_Gist_Share/157850.user.js | 2 + .../Github_JSON_Dependencies_Linker.user.js | 1 + .../Github_News_Feed_Filter.user.js | 2 + .../Github_Reply_Comments.user.js | 264 +++++++++++------- Github_User_Info/Github_User_Info.user.js | 6 +- .../Marktplaats_Exchanger.user.js | 2 + .../Multiple_Windows_Live_IDs.user.js | 1 + PDF_Tools/PDF_Tools.user.js | 2 + .../Twitter_profile_replies_hider.user.js | 2 +- .../Twitter_profile_retweets_hider.user.js | 2 +- Userscripts.org_Diff_Extender/38909.user.js | 4 +- .../37611.user.js | 4 + .../38912.user.js | 3 + Userscripts.org_Timed_Updater/37853.user.js | 4 +- Userscripts.org_Topics_Column/38597.user.js | 2 + Userscripts.org_Versions_Column/38595.user.js | 2 + Userscripts.org_Versions_Tab/38594.user.js | 4 + 26 files changed, 249 insertions(+), 117 deletions(-) create mode 100644 .cspell.json diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 0000000..a03963d --- /dev/null +++ b/.cspell.json @@ -0,0 +1,25 @@ +// cSpell Settings +{ + "version": "0.2", + // language - current active spelling language + "language": "en,nl", + // words - list of words to be always considered correct + "words": [ + "absmiddle", + "ajax", + "blockquotes", + "darkred", + "datetime", + "greasemonkey", + "jerone", + "maxlength", + "nofollow", + "octicon", + "pjax", + "tampermonkey", + "userscript", + "userscripts", + "violentmonkey", + "whitespaces" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 746f7b9..0db3279 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,3 @@ { - "cSpell.words": [ - "jerone", - "userscripts" - ] + } diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index ed8bae8..68e6ab6 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -12,10 +12,12 @@ // @version 1.0 // ==/UserScript== +// cSpell:ignore transform, aprilfool + if(window.top===window){ - var duration = 2000, // [Integer, positive, miliseconds] This controls the duration of an april fool item; - interval = 8000; // [Integer, positive, miliseconds] This controls the interval of the next april fool; + var duration = 2000, // [Integer, positive, milliseconds] This controls the duration of an april fool item; + interval = 8000; // [Integer, positive, milliseconds] This controls the interval of the next april fool; var aprilFools = [ // [String] April fools in CSS; Use {duration} for a dynamic duration; "img { \ diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index e531b6e..7de39d5 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -12,6 +12,8 @@ // @include *dakar.com/* // ==/UserScript== +// cSpell:ignore dakar + (function(){ var countryCode = "NLD"; diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index 6c4548e..6db2638 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -22,6 +22,8 @@ // @grant none // ==/UserScript== +// cSpell:ignore Dumpert, dumpert, geenstijl, powned, daskapital, glamora, perma + (function() { function proxy(fn) { diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index 1c1c331..240d0f9 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -22,6 +22,8 @@ // @grant none // ==/UserScript== +// cSpell:ignore tooltipped, Consolas, Menlo, compareAdisabled, compareBdisabled + (function () { function addButton() { diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 500099f..73d69d6 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -21,6 +21,7 @@ // @include https://gist.github.com/* // ==/UserScript== +// cSpell:ignore gollum, tooltipped, jssuggester, tabnav, facebox, msie /* global unsafeWindow */ (function(unsafeWindow) { @@ -570,6 +571,7 @@ } var codeSyntaxTop = ["JavaScript", "Java", "Ruby", "PHP", "Python", "CSS", "C++", "C#", "C", "HTML"]; // https://github.com/blog/2047-language-trends-on-github + /* cSpell: disable */ var codeSyntaxList = ["ABAP", "abl", "aconf", "ActionScript", "actionscript 3", "actionscript3", "Ada", "ada2005", "ada95", "advpl", "Agda", "ags", "AGS Script", "ahk", "Alloy", "AMPL", "Ant Build System", "ANTLR", @@ -656,6 +658,7 @@ "XS", "xsd", "xsl", "XSLT", "xten", "Xtend", "Yacc", "YAML", "yml", "Zephir", "Zimpl", "zsh" ]; // https://github.com/jerone/UserScripts/issues/18 + /* cSpell: enable */ var codeSyntaxes = [].concat(codeSyntaxTop, codeSyntaxList).filter(function(a, b, c) { return c.indexOf(a) === b; }); @@ -1011,12 +1014,12 @@ /* * to-markdown - an HTML to Markdown converter * Copyright 2011, Dom Christie - * Licenced under the MIT licence + * Licensed under the MIT license * Source: https://github.com/domchristie/to-markdown * * Code is altered: * - Added task list support: https://github.com/domchristie/to-markdown/pull/62 - * - He dependecy is removed + * - He dependency is removed */ var toMarkdown = function(string) { @@ -1181,7 +1184,7 @@ function cleanUp(string) { string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); // trim leading/trailing whitespace string = string.replace(/\n\s+\n/g, '\n\n'); - string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive linebreaks to 2 + string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive line-breaks to 2 return string; } diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 8ce6091..c19fb7c 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -20,6 +20,8 @@ // @grant none // ==/UserScript== +// cSpell:ignore tooltipped, diffbar + (function() { function addButton() { diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 7ffd9b0..29b3053 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -18,6 +18,8 @@ // @grant none // ==/UserScript== +// cSpell:ignore tooltipped, diffbar + (function() { function addButton() { @@ -29,7 +31,7 @@ r.parentElement.removeChild(r) } - var on = /w=/.test(location.search) // Any occurense results in enabling + var on = /w=/.test(location.search) // Any occurrence results in enabling var b = e.querySelector('.toc-diff-stats') @@ -56,7 +58,7 @@ r.parentElement.removeChild(r) } - var on = /w=/.test(location.search) // Any occurense result in enabling + var on = /w=/.test(location.search) // Any occurrence result in enabling var a = document.createElement('a') a.classList.add('btn', 'btn-sm', 'btn-outline', 'tooltipped', 'tooltipped-s') diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 859be91..3cd685a 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -18,6 +18,8 @@ // @grant none // ==/UserScript== +// cSpell:ignore Dabblet, Bl.ocks, itemprop, tweetbutton + (function() { String.format = function(string) { diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 7b9c4c8..56ec780 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -23,6 +23,7 @@ // @include https://github.com/*/project.json // ==/UserScript== +// cSpell:ignore linkify, Sindre Sorhus /* global GM_xmlhttpRequest */ (function() { diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 4f270b4..6503bd9 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -21,6 +21,8 @@ // @grant none // ==/UserScript== +// cSpell:ignore transform, osvg, opath, gollum, hovercards, profilecols + (function () { var ICONS = {}; diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 12ffd4f..890a2d1 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -22,8 +22,9 @@ // @require https://unpkg.com/turndown-plugin-github-code-snippet@1.0.2/turndown-plugin-github-code-snippet.js // ==/UserScript== -(function () { +// cSpell:ignore textareas, previewable, tooltipped +(function () { String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); return string.replace(/{(\d+)}/g, function (match, number) { @@ -32,25 +33,32 @@ }; var turndownService = new TurndownService({ - headingStyle: 'atx', - codeBlockStyle: 'fenced', - hr: '***' + headingStyle: "atx", + codeBlockStyle: "fenced", + hr: "***", }); turndownService.use(turndownPluginGfm.gfm); turndownService.use(turndownPluginGithubCodeSnippet); function getCommentTextarea(replyBtn) { var newComment = replyBtn; - while (newComment && !newComment.classList.contains("js-quote-selection-container")) { + while ( + newComment && + !newComment.classList.contains("js-quote-selection-container") + ) { newComment = newComment.parentNode; } - var inlineComment = newComment.querySelector(".js-inline-comment-form-container"); + var inlineComment = newComment.querySelector( + ".js-inline-comment-form-container", + ); if (inlineComment) { inlineComment.classList.add("open"); } - var textareas = newComment.querySelectorAll(":scope > :not(.last-review-thread) .comment-form-textarea:not(.github-writer-ckeditor)"); + var textareas = newComment.querySelectorAll( + ":scope > :not(.last-review-thread) .comment-form-textarea:not(.github-writer-ckeditor)", + ); return textareas[textareas.length - 1]; } @@ -65,18 +73,26 @@ // Convert comment HTML to markdown. if (!commentText) { - // Clone it, so we can alter the HTML a bit, without modifing the page. - var commentBody = comment.querySelector(".comment-body").cloneNode(true); + // Clone it, so we can alter the HTML a bit, without modifying the page. + var commentBody = comment + .querySelector(".comment-body") + .cloneNode(true); // Remove 'Toggle code wrap' buttons from https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap - Array.prototype.forEach.call(commentBody.querySelectorAll(".ghd-wrap-toggle"), function (ghd) { - ghd.remove(); - }); + Array.prototype.forEach.call( + commentBody.querySelectorAll(".ghd-wrap-toggle"), + function (ghd) { + ghd.remove(); + }, + ); // GitHub add an extra new line, which is converted by Turndown. - Array.prototype.forEach.call(commentBody.querySelectorAll("pre code"), function (pre) { - pre.innerHTML = pre.innerHTML.replace(/\n$/g, ''); - }); + Array.prototype.forEach.call( + commentBody.querySelectorAll("pre code"), + function (pre) { + pre.innerHTML = pre.innerHTML.replace(/\n$/g, ""); + }, + ); commentText = turndownService.turndown(commentBody.innerHTML); } @@ -85,100 +101,148 @@ } function addReplyButtons() { - Array.prototype.forEach.call(document.querySelectorAll(".comment, .review-comment"), function (comment) { - var oldReply = comment.querySelector(".GithubReplyComments, .GithubCommentEnhancerReply"); - if (oldReply) { - oldReply.parentNode.removeChild(oldReply); - } - - var header = comment.querySelector(":scope > :not(.minimized-comment) .timeline-comment-header"), - actions = comment.querySelector(":scope > :not(.minimized-comment) .timeline-comment-actions"); + Array.prototype.forEach.call( + document.querySelectorAll(".comment, .review-comment"), + function (comment) { + var oldReply = comment.querySelector( + ".GithubReplyComments, .GithubCommentEnhancerReply", + ); + if (oldReply) { + oldReply.parentNode.removeChild(oldReply); + } - if (!header) { - header = actions; - } + var header = comment.querySelector( + ":scope > :not(.minimized-comment) .timeline-comment-header", + ), + actions = comment.querySelector( + ":scope > :not(.minimized-comment) .timeline-comment-actions", + ); - if (!actions) { if (!header) { - return; + header = actions; } - actions = document.createElement("div"); - actions.classList.add("timeline-comment-actions"); - header.insertBefore(actions, header.firstElementChild); - } - - var reply = document.createElement("button"); - reply.setAttribute("type", "button"); - reply.setAttribute("title", "Reply to this comment"); - reply.setAttribute("aria-label", "Reply to this comment"); - reply.classList.add("GithubReplyComments", "btn-link", "timeline-comment-action", "tooltipped", "tooltipped-ne"); - reply.addEventListener("click", function (e) { - e.preventDefault(); - - var timestamp = comment.querySelector(".js-timestamp, .timestamp"); - - var commentText = getCommentMarkdown(comment); - commentText = commentText.trim().split("\n").map(function (line) { - return "> " + line; - }).join("\n"); - - var newComment = getCommentTextarea(this); - - var author = comment.querySelector(".author"); - var authorLink = location.origin + (author.getAttribute("href") || "/" + author.textContent); - - var text = newComment.value.length > 0 ? "\n" : ""; - text += String.format('[**@{0}**]({1}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', - author.textContent, - authorLink, - timestamp.firstElementChild.getAttribute("title"), - timestamp.href, - timestamp.firstElementChild.getAttribute("datetime"), - commentText); - - newComment.value += text; - newComment.setSelectionRange(newComment.value.length, newComment.value.length); - //newComment.closest('.previewable-comment-form').querySelector('.js-write-tab').click(); - newComment.focus(); - - // This will enable the "Comment" button, when there was no comment text yet. - newComment.dispatchEvent(new CustomEvent('change', { - bubbles: true, - cancelable: false - })); - - // This will render GitHub Writer - https://github.com/ckeditor/github-writer - // https://github.com/ckeditor/github-writer/blob/8dbc12cb01b7903d0d6c90202078214a8637de6d/src/app/plugins/quoteselection.js#L116-L127 - const githubWriter = newComment.closest([ - 'form.js-new-comment-form[data-github-writer-id]', - 'form.js-inline-comment-form[data-github-writer-id]' - ].join()); - if (githubWriter) { - window.postMessage({ - type: 'GitHub-Writer-Quote-Selection', - id: Number(githubWriter.getAttribute('data-github-writer-id')), - text: text - }, '*'); + + if (!actions) { + if (!header) { + return; + } + actions = document.createElement("div"); + actions.classList.add("timeline-comment-actions"); + header.insertBefore(actions, header.firstElementChild); } - }); - - var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - svg.classList.add("octicon", "octicon-mail-reply"); - svg.setAttribute("height", "16"); - svg.setAttribute("width", "16"); - reply.appendChild(svg); - var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - path.setAttribute("d", "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z"); - svg.appendChild(path); - - actions.appendChild(reply); - }); + + var reply = document.createElement("button"); + reply.setAttribute("type", "button"); + reply.setAttribute("title", "Reply to this comment"); + reply.setAttribute("aria-label", "Reply to this comment"); + reply.classList.add( + "GithubReplyComments", + "btn-link", + "timeline-comment-action", + "tooltipped", + "tooltipped-ne", + ); + reply.addEventListener("click", function (e) { + e.preventDefault(); + + var timestamp = comment.querySelector( + ".js-timestamp, .timestamp", + ); + + var commentText = getCommentMarkdown(comment); + commentText = commentText + .trim() + .split("\n") + .map(function (line) { + return "> " + line; + }) + .join("\n"); + + var newComment = getCommentTextarea(this); + + var author = comment.querySelector(".author"); + var authorLink = + location.origin + + (author.getAttribute("href") || + "/" + author.textContent); + + var text = newComment.value.length > 0 ? "\n" : ""; + text += String.format( + '[**@{0}**]({1}) commented on [{2}]({3} "{4} - Replied by Github Reply Comments"):\n{5}\n\n', + author.textContent, + authorLink, + timestamp.firstElementChild.getAttribute("title"), + timestamp.href, + timestamp.firstElementChild.getAttribute("datetime"), + commentText, + ); + + newComment.value += text; + newComment.setSelectionRange( + newComment.value.length, + newComment.value.length, + ); + //newComment.closest('.previewable-comment-form').querySelector('.js-write-tab').click(); + newComment.focus(); + + // This will enable the "Comment" button, when there was no comment text yet. + newComment.dispatchEvent( + new CustomEvent("change", { + bubbles: true, + cancelable: false, + }), + ); + + // This will render GitHub Writer - https://github.com/ckeditor/github-writer + // https://github.com/ckeditor/github-writer/blob/8dbc12cb01b7903d0d6c90202078214a8637de6d/src/app/plugins/quoteselection.js#L116-L127 + const githubWriter = newComment.closest( + [ + "form.js-new-comment-form[data-github-writer-id]", + "form.js-inline-comment-form[data-github-writer-id]", + ].join(), + ); + if (githubWriter) { + window.postMessage( + { + type: "GitHub-Writer-Quote-Selection", + id: Number( + githubWriter.getAttribute( + "data-github-writer-id", + ), + ), + text: text, + }, + "*", + ); + } + }); + + var svg = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + svg.classList.add("octicon", "octicon-mail-reply"); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); + reply.appendChild(svg); + var path = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + path.setAttribute( + "d", + "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z", + ); + svg.appendChild(path); + + actions.appendChild(reply); + }, + ); } // init; addReplyButtons(); // on pjax; - document.addEventListener('pjax:end', addReplyButtons); - + document.addEventListener("pjax:end", addReplyButtons); })(); diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index c4688cb..e138232 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -24,6 +24,8 @@ // @include https://gist.github.com/* // ==/UserScript== +// cSpell:ignore leaderboard, vcard, transform + (function() { function proxy(fn) { @@ -267,7 +269,7 @@ 'text-decoration: none;'; userOrgs.classList.add('vcard-stat'); userOrgs.setAttribute('target', '_blank'); - userOrgs.setAttribute('title', 'Public organisations'); + userOrgs.setAttribute('title', 'Public organizations'); userCounts.appendChild(userOrgs); var userOrgsCount = document.createElement('strong'); userOrgsCount.style = @@ -565,7 +567,7 @@ function init() { var avatars = document.querySelectorAll([ - '.avatar[alt^="@"]', // Logged-in user & commits author & issuse participant & users organization & organization member + '.avatar[alt^="@"]', // Logged-in user & commits author & issue participant & users organization & organization member '.avatar-child[alt^="@"]', // Authored committed users '.gravatar[alt^="@"]', // Following & followers page '.timeline-comment-avatar[alt^="@"]', // GitHub comments author diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index f90832c..5e372a4 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -19,6 +19,8 @@ // @include https://www.marktplaats.* // ==/UserScript== +// cSpell:ignore Roboto + (function Marktplaats_Exchanger() { var selectAll = document.getElementById("select-all-container"); if (!selectAll) { diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index ef993ca..98a005a 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -20,6 +20,7 @@ // @include http*://login.live.com* // ==/UserScript== +// cSpell:ignore MWLID, maincontent, phholder, transform /* global GM_getValue,GM_setValue */ (function() { diff --git a/PDF_Tools/PDF_Tools.user.js b/PDF_Tools/PDF_Tools.user.js index d031f31..fd94414 100644 --- a/PDF_Tools/PDF_Tools.user.js +++ b/PDF_Tools/PDF_Tools.user.js @@ -15,6 +15,8 @@ // @run-at document-end // ==/UserScript== +// cSpell:ignore PDF + (function() { //console.log(PDFJS.version); // "1.0.277" diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 9a2da74..7839a6a 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -101,7 +101,7 @@ return false; }); - // new tweets are loaded, handle accourdanly; + // new tweets are loaded, handle accordingly; new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { toggle(!!~~localStorage.getItem(settingsKey, +true)); diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index 6b84dc5..c15c2ac 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -101,7 +101,7 @@ return false; }); - // new tweets are loaded, handle accourdanly; + // new tweets are loaded, handle accordingly; new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { toggle(!!~~localStorage.getItem(settingsKey, +true)); diff --git a/Userscripts.org_Diff_Extender/38909.user.js b/Userscripts.org_Diff_Extender/38909.user.js index a97e1eb..befdadb 100644 --- a/Userscripts.org_Diff_Extender/38909.user.js +++ b/Userscripts.org_Diff_Extender/38909.user.js @@ -23,6 +23,7 @@ // - Userscript // - Statistics //////////////////////////////////////////////////////////////////////////// +// cSpell:disable THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -33,6 +34,7 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// cSpell:enable //////////////////////////////////////////////////////////////////////////// // History: // [+] = added; [-] = removed; [/] = fixed; [*] = updated; @@ -63,7 +65,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // - /*////////////////////////////////////////////////////////////////////////// - +// cSpell:ignore andale, lucida, cellspacing //*** USERSCRIPT ***// (function(win, doc, und) { diff --git a/Userscripts.org_Scripts_Source_Counter/37611.user.js b/Userscripts.org_Scripts_Source_Counter/37611.user.js index 2993943..7b48cd6 100644 --- a/Userscripts.org_Scripts_Source_Counter/37611.user.js +++ b/Userscripts.org_Scripts_Source_Counter/37611.user.js @@ -15,6 +15,7 @@ // @include *userscripts.org/scripts/edit_src/* // ==/UserScript== +/* cSpell:disable */ /*/////////////////////////////////////////////////////////////////////////// THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF @@ -27,6 +28,9 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /*////////////////////////////////////////////////////////////////////////// +/* cSpell:enable */ + +// cSpell:ignore STATIS (function(){ diff --git a/Userscripts.org_Source_Numbering/38912.user.js b/Userscripts.org_Source_Numbering/38912.user.js index d7e9441..0e822e1 100644 --- a/Userscripts.org_Source_Numbering/38912.user.js +++ b/Userscripts.org_Source_Numbering/38912.user.js @@ -12,6 +12,7 @@ // @include *userscripts.org/scripts/review/* // ==/UserScript== +/* cSpell:disable */ /*////////////////////////////////////////////////////////////////////////// THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF @@ -24,7 +25,9 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /*////////////////////////////////////////////////////////////////////////// +/* cSpell:enable */ +// cSpell:ignore andale, lucida, cellspacing //*** USER SETTINGS ***// diff --git a/Userscripts.org_Timed_Updater/37853.user.js b/Userscripts.org_Timed_Updater/37853.user.js index 35b5a15..7547d76 100644 --- a/Userscripts.org_Timed_Updater/37853.user.js +++ b/Userscripts.org_Timed_Updater/37853.user.js @@ -23,6 +23,7 @@ // - Userscript // - Statistics //////////////////////////////////////////////////////////////////////////// +// cSpell:disable THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -33,6 +34,7 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// cSpell:enable //////////////////////////////////////////////////////////////////////////// // History: // [+] = added; [-] = removed; [/] = fixed; [*] = updated; @@ -58,7 +60,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // - /*////////////////////////////////////////////////////////////////////////// - +// cSpell:ignore plusmn //*** USERSCRIPT ***// (function (win, doc, und) { diff --git a/Userscripts.org_Topics_Column/38597.user.js b/Userscripts.org_Topics_Column/38597.user.js index 7631f68..c003575 100644 --- a/Userscripts.org_Topics_Column/38597.user.js +++ b/Userscripts.org_Topics_Column/38597.user.js @@ -24,6 +24,7 @@ // - Userscript // - Statistics //////////////////////////////////////////////////////////////////////////// +// cSpell:disable THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -34,6 +35,7 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// cSpell:enable //////////////////////////////////////////////////////////////////////////// // History: // [+] = added; [-] = removed; [/] = fixed; [*] = updated; diff --git a/Userscripts.org_Versions_Column/38595.user.js b/Userscripts.org_Versions_Column/38595.user.js index b45641d..5df2479 100644 --- a/Userscripts.org_Versions_Column/38595.user.js +++ b/Userscripts.org_Versions_Column/38595.user.js @@ -24,6 +24,7 @@ // - Userscript // - Statistics //////////////////////////////////////////////////////////////////////////// +// cSpell:disable THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -34,6 +35,7 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// cSpell:enable //////////////////////////////////////////////////////////////////////////// // History: // [+] = added; [-] = removed; [/] = fixed; [*] = updated; diff --git a/Userscripts.org_Versions_Tab/38594.user.js b/Userscripts.org_Versions_Tab/38594.user.js index ca35c61..ab8ca63 100644 --- a/Userscripts.org_Versions_Tab/38594.user.js +++ b/Userscripts.org_Versions_Tab/38594.user.js @@ -17,6 +17,7 @@ // @grant GM_xmlhttpRequest // ==/UserScript== +/* cSpell:disable */ /*////////////////////////////////////////////////////////////////////////// THIS SCRIPT IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF @@ -29,6 +30,9 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /*////////////////////////////////////////////////////////////////////////// +/* cSpell:enable */ + +// cSpell:ignore UVT (function() { From 848d117809dc794534afc38d3d358d8ce4dcdef4 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 17:12:54 +0100 Subject: [PATCH 135/164] Update package.json info --- package-lock.json | 4 ++-- package.json | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index eb5780a..1f1bef1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "jerone's userscripts", + "name": "jerone-userscripts", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "jerone's userscripts", + "name": "jerone-userscripts", "version": "0.0.0", "devDependencies": { "eslint": "^8.56.0", diff --git a/package.json b/package.json index 57ca0e9..b1be4c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "private": true, "name": "jerone-userscripts", + "author": "Jeroen van Warmerdam ", "version": "0.0.0", "scripts": { "lint": "eslint ." From 0d9e0b39a049523c555b0a69cc53f90d85b00b9c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 21:46:18 +0100 Subject: [PATCH 136/164] Prettier --- .vscode/settings.json | 4 +- April_Fools_CSS/April_Fools_CSS.user.js | 50 +- April_Fools_CSS/README.md | 14 +- Dakar_Extender/208433.user.js | 14 +- .../Darts_Data_Enhancer.user.js | 20 +- Darts_Data_Enhancer/README.md | 11 +- ...jl_Powned_Dumpert_Comment_Enhancer.user.js | 158 +- .../README.md | 46 +- .../GitHub_Commit_Compare.user.js | 419 ++-- GitHub_Commit_Compare/README.md | 20 +- .../Github_Comment_Enhancer.user.js | 1932 ++++++++++++----- Github_Comment_Enhancer/README.md | 57 +- Github_Commit_Diff/Github_Commit_Diff.user.js | 272 ++- Github_Commit_Diff/README.md | 72 +- .../Github_Commit_Whitespace.user.js | 170 +- Github_Commit_Whitespace/README.md | 78 +- Github_Gist_Share/157850.user.js | 472 ++-- Github_Gist_Share/README.md | 82 +- .../Github_Image_Viewer.user.js | 155 +- Github_Image_Viewer/README.md | 70 +- .../Github_JSON_Dependencies_Linker.user.js | 128 +- Github_JSON_Dependencies_Linker/README.md | 79 +- .../Github_News_Feed_Filter.user.js | 909 +++++--- Github_News_Feed_Filter/README.md | 220 +- .../Github_Pages_Linker.user.js | 39 +- Github_Pages_Linker/README.md | 34 +- .../Github_Pull_Request_From.user.js | 48 +- Github_Pull_Request_From/README.md | 79 +- Github_Reply_Comments/README.md | 74 +- Github_User_Info/Github_User_Info.user.js | 627 +++--- Github_User_Info/README.md | 108 +- .../Marktplaats_Exchanger.user.js | 17 +- Marktplaats_Exchanger/README.md | 18 +- .../Multiple_Windows_Live_IDs.user.js | 530 +++-- Multiple_Windows_Live_IDs/README.md | 20 +- .../Outlook_Sign_Out_To_Login.user.js | 6 +- Outlook_Sign_Out_To_Login/README.md | 14 +- PDF_Tools/PDF_Tools.user.js | 69 +- PDF_Tools/README.md | 20 +- README.md | 2 +- Twitter_profile_replies_hider/README.md | 24 +- .../Twitter_profile_replies_hider.user.js | 54 +- Twitter_profile_retweets_hider/README.md | 24 +- .../Twitter_profile_retweets_hider.user.js | 54 +- Userscripts.org_Diff_Extender/38909.user.js | 101 +- Userscripts.org_Extended_Style/37212.user.js | 8 +- .../37611.user.js | 84 +- .../38912.user.js | 205 +- Userscripts.org_Timed_Updater/37853.user.js | 159 +- Userscripts.org_Topics_Column/38597.user.js | 102 +- Userscripts.org_Versions_Column/38595.user.js | 105 +- Userscripts.org_Versions_Tab/38594.user.js | 96 +- _resources/TEMPLATE.md | 20 +- 53 files changed, 5019 insertions(+), 3174 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 0db3279..0967ef4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1 @@ -{ - -} +{} diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 68e6ab6..88d0c2c 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -14,12 +14,12 @@ // cSpell:ignore transform, aprilfool -if(window.top===window){ +if (window.top === window) { + var duration = 2000, // [Integer, positive, milliseconds] This controls the duration of an april fool item; + interval = 8000; // [Integer, positive, milliseconds] This controls the interval of the next april fool; - var duration = 2000, // [Integer, positive, milliseconds] This controls the duration of an april fool item; - interval = 8000; // [Integer, positive, milliseconds] This controls the interval of the next april fool; - - var aprilFools = [ // [String] April fools in CSS; Use {duration} for a dynamic duration; + var aprilFools = [ + // [String] April fools in CSS; Use {duration} for a dynamic duration; "img { \ -webkit-transform: rotate(180deg); \ -moz-transform: rotate(180deg); \ @@ -65,23 +65,37 @@ if(window.top===window){ 100% { -webkit-filter: hue-rotate(360deg); } \ }", ], - aprilFool = 0, aprilFooled = 0; + aprilFool = 0, + aprilFooled = 0; interval = Math.abs(interval); duration = Math.max(1000, Math.abs(duration)); - window.setInterval(function(){ - do { aprilFool = Math.floor(Math.random() * aprilFools.length); - } while(aprilFool === aprilFooled); - document.documentElement.classList.add("aprilfool" + (aprilFooled = aprilFool)); - window.console&&console.log("added aprilfool" + aprilFool); - window.setTimeout(function(){ - document.documentElement.classList.remove("aprilfool" + aprilFooled); - window.console&&console.log("removed aprilfool" + aprilFool); - }, duration); - }, interval + duration + 10); + window.setInterval( + function () { + do { + aprilFool = Math.floor(Math.random() * aprilFools.length); + } while (aprilFool === aprilFooled); + document.documentElement.classList.add( + "aprilfool" + (aprilFooled = aprilFool), + ); + window.console && console.log("added aprilfool" + aprilFool); + window.setTimeout(function () { + document.documentElement.classList.remove( + "aprilfool" + aprilFooled, + ); + window.console && console.log("removed aprilfool" + aprilFool); + }, duration); + }, + interval + duration + 10, + ); - for(var aprilFool in aprilFools){ - GM_addStyle(".aprilfool" + aprilFool + " " + aprilFools[aprilFool].replace("{duration}", duration/1000)); + for (var aprilFool in aprilFools) { + GM_addStyle( + ".aprilfool" + + aprilFool + + " " + + aprilFools[aprilFool].replace("{duration}", duration / 1000), + ); } } diff --git a/April_Fools_CSS/README.md b/April_Fools_CSS/README.md index 51d44d5..8406dbe 100644 --- a/April_Fools_CSS/README.md +++ b/April_Fools_CSS/README.md @@ -5,24 +5,20 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Some CSS April fools - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.0** - * Initial version; - +- **1.0** + - Initial version; ## External links -* [Greasy Fork](https://greasyfork.org/scripts/47-april-fools-css) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/April_Fools_CSS) +- [Greasy Fork](https://greasyfork.org/scripts/47-april-fools-css) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/April_Fools_CSS) diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index 7de39d5..73e435c 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -14,18 +14,14 @@ // cSpell:ignore dakar -(function(){ - - var countryCode = "NLD"; - - $(function(){ - $("tr:contains('\("+countryCode+"\)')").css("font-weight","bold"); - }); +(function () { + var countryCode = "NLD"; + $(function () { + $("tr:contains('(" + countryCode + ")')").css("font-weight", "bold"); + }); })(); - - // ==UserStats== // Chars (excl. spaces): 610 // Chars (incl. spaces): 716 diff --git a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js index b414e4c..9643350 100644 --- a/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js +++ b/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js @@ -19,14 +19,24 @@ // @include http://live.dartsdata.com/MatchesList.aspx // ==/UserScript== -var playersLeft = document.querySelectorAll("#ctl01 > table:nth-child(9) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > div > table > tbody > tr > td:nth-child(2)"); -var playersRight = document.querySelectorAll("#ctl01 > table:nth-child(9) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > div > table > tbody > tr > td:nth-child(6)"); -var players = Array.prototype.concat.apply(Array.prototype.concat.apply([], playersLeft), playersRight); -Array.prototype.forEach.call(players, function(player) { +var playersLeft = document.querySelectorAll( + "#ctl01 > table:nth-child(9) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > div > table > tbody > tr > td:nth-child(2)", +); +var playersRight = document.querySelectorAll( + "#ctl01 > table:nth-child(9) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) > div > table > tbody > tr > td:nth-child(6)", +); +var players = Array.prototype.concat.apply( + Array.prototype.concat.apply([], playersLeft), + playersRight, +); +Array.prototype.forEach.call(players, function (player) { var name = player.textContent.trim(); if (~name.indexOf("Winner Of Match")) return; var link = document.createElement("a"); - link.setAttribute("href", "https://www.google.com/search?q=" + encodeURIComponent(name)); + link.setAttribute( + "href", + "https://www.google.com/search?q=" + encodeURIComponent(name), + ); link.setAttribute("target", "_blank"); link.appendChild(document.createTextNode(name)); link.style.color = "#FFF"; diff --git a/Darts_Data_Enhancer/README.md b/Darts_Data_Enhancer/README.md index 06a1a76..583f36f 100644 --- a/Darts_Data_Enhancer/README.md +++ b/Darts_Data_Enhancer/README.md @@ -5,20 +5,17 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Add features to enhance darts data tracking site [live.dartsdata.com](http://live.dartsdata.com/): -* All players are now linked to Google Search. - +- All players are now linked to Google Search. ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.0.0** - * Initial version; +- **1.0.0** + - Initial version; diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index 6db2638..7aa8110 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -24,21 +24,20 @@ // cSpell:ignore Dumpert, dumpert, geenstijl, powned, daskapital, glamora, perma -(function() { - +(function () { function proxy(fn) { - return function() { + return function () { var that = this; - return function(e) { - var args = that.slice(0); // clone; - args.unshift(e); // prepend event; + return function (e) { + var args = that.slice(0); // clone; + args.unshift(e); // prepend event; fn.apply(this, args); }; }.call([].slice.call(arguments, 1)); } function wait(condition, next) { - var loop = window.setInterval(function() { + var loop = window.setInterval(function () { if (condition() === true) { window.clearInterval(loop); next(); @@ -46,64 +45,111 @@ }, 100); } - String.format = function(string) { + String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { + return string.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] !== "undefined" ? args[number] : match; }); }; - var replyImgScr = "data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABcSURBVChTjZBbDsAgCATl2PDFzW236RjqI+kmSsBxQS0i+q2GzKzVfBy8oOCj3L03bRIROjNHbQGBgRQx+TgC6ALQEawtGeNpzWNwETjD2xlVrGtp/et7ZpddfgEnfhsfVr//KQAAAABJRU5ErkJgggA="; - var permaImgScr = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAABGdBTUEAAK/INwWK6QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABZ0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMDvo9WkAAABfSURBVChTXY9BEsAgCAP7bMqpL4euDaJ2D0xMzKDXvWFmpSYjzsyIYP4YMQ2y7+rRrlhKh2ci091XDH1DJnPtlgsIetpYsTImmoxHVLuVMsHxaDf7D+tpQr/CAjnu/gJVo8cY6M1GEAAAAABJRU5ErkJggg=="; + var replyImgScr = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABcSURBVChTjZBbDsAgCATl2PDFzW236RjqI+kmSsBxQS0i+q2GzKzVfBy8oOCj3L03bRIROjNHbQGBgRQx+TgC6ALQEawtGeNpzWNwETjD2xlVrGtp/et7ZpddfgEnfhsfVr//KQAAAABJRU5ErkJgggA="; + var permaImgScr = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAABGdBTUEAAK/INwWK6QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABZ0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMDvo9WkAAABfSURBVChTXY9BEsAgCAP7bMqpL4euDaJ2D0xMzKDXvWFmpSYjzsyIYP4YMQ2y7+rRrlhKh2ci091XDH1DJnPtlgsIetpYsTImmoxHVLuVMsHxaDf7D+tpQr/CAjnu/gJVo8cY6M1GEAAAAABJRU5ErkJggg=="; var commentsList = document.getElementById("comments"); if (commentsList) { - wait(function() { - return commentsList.querySelectorAll("article .nsb,.comment .nsb").length > 0; - }, function() { - Array.forEach(commentsList.querySelectorAll("article,.comment"), function(comment) { - var footer = comment.querySelector("footer,.footer"); + wait( + function () { + return ( + commentsList.querySelectorAll("article .nsb,.comment .nsb") + .length > 0 + ); + }, + function () { + Array.forEach( + commentsList.querySelectorAll("article,.comment"), + function (comment) { + var footer = comment.querySelector("footer,.footer"); - if (comment.id) { - var perma = document.createElement("a"); - perma.classList.add("nsb"); - perma.setAttribute("href", String.format("#{0}", comment.id)); - perma.setAttribute("title", String.format("Permalink #{0}", comment.id)); - perma.style.backgroundImage = String.format("url('{0}')", permaImgScr); - perma.style.backgroundPosition = "center center"; - perma.style.marginRight = "4px"; - if (/https?:\/\/www\.powned\.tv\/nieuws\/.*/.test(location.href)) { // add missing css; - perma.style.cursor = "pointer"; - perma.style.cssFloat = "right"; - perma.style.height = perma.style.width = "10px"; - } - footer.appendChild(perma); - } + if (comment.id) { + var perma = document.createElement("a"); + perma.classList.add("nsb"); + perma.setAttribute( + "href", + String.format("#{0}", comment.id), + ); + perma.setAttribute( + "title", + String.format("Permalink #{0}", comment.id), + ); + perma.style.backgroundImage = String.format( + "url('{0}')", + permaImgScr, + ); + perma.style.backgroundPosition = "center center"; + perma.style.marginRight = "4px"; + if ( + /https?:\/\/www\.powned\.tv\/nieuws\/.*/.test( + location.href, + ) + ) { + // add missing css; + perma.style.cursor = "pointer"; + perma.style.cssFloat = "right"; + perma.style.height = perma.style.width = "10px"; + } + footer.appendChild(perma); + } - var textArea = document.getElementById("text"); - if (textArea) { - var reply = document.createElement("span"); - reply.classList.add("nsb"); - reply.setAttribute("title", "Beantwoorden"); - reply.style.backgroundImage = String.format("url('{0}')", replyImgScr); - reply.style.backgroundPosition = "center center"; - reply.style.marginRight = "4px"; - if (/https?:\/\/www\.powned\.tv\/nieuws\/.*/.test(location.href)) { // add missing css; - reply.style.cursor = "pointer"; - reply.style.cssFloat = "right"; - reply.style.height = reply.style.width = "10px"; - } - reply.addEventListener("click", proxy(function() { - textArea.value += String.format("@{0}\n", Array.map(this.childNodes, function(node) { - return (node.nodeType === 3) ? node.textContent.trim() : ""; - }).join(" ").trim().replace(/\s{2,}/, " ").replace(/\s?\|\s?$/g, "")); - textArea.focus(); - textArea.scrollIntoView(); - }).bind(footer)); - footer.appendChild(reply); - } - }); - }); + var textArea = document.getElementById("text"); + if (textArea) { + var reply = document.createElement("span"); + reply.classList.add("nsb"); + reply.setAttribute("title", "Beantwoorden"); + reply.style.backgroundImage = String.format( + "url('{0}')", + replyImgScr, + ); + reply.style.backgroundPosition = "center center"; + reply.style.marginRight = "4px"; + if ( + /https?:\/\/www\.powned\.tv\/nieuws\/.*/.test( + location.href, + ) + ) { + // add missing css; + reply.style.cursor = "pointer"; + reply.style.cssFloat = "right"; + reply.style.height = reply.style.width = "10px"; + } + reply.addEventListener( + "click", + proxy(function () { + textArea.value += String.format( + "@{0}\n", + Array.map( + this.childNodes, + function (node) { + return node.nodeType === 3 + ? node.textContent.trim() + : ""; + }, + ) + .join(" ") + .trim() + .replace(/\s{2,}/, " ") + .replace(/\s?\|\s?$/g, ""), + ); + textArea.focus(); + textArea.scrollIntoView(); + }).bind(footer), + ); + footer.appendChild(reply); + } + }, + ); + }, + ); } - })(); diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md index ce9581d..bf44464 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md @@ -5,51 +5,45 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Add features to enhance comments on GeenStijl & Powned & Dumpert & more. Currently supported sites: -* http://geenstijl.nl -* http://geenstijl.tv -* http://powned.tv -* http://dumpert.nl -* http://daskapital.nl -* http://glamora.ma - +- http://geenstijl.nl +- http://geenstijl.tv +- http://powned.tv +- http://dumpert.nl +- http://daskapital.nl +- http://glamora.ma ## Screenshot ![GeenStijl & Powned & Dumpert Comment Enhancer screenshot](https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **2.0** - * Add permalink; -* **1.0** - * Initial version; - +- **2.0** + - Add permalink; +- **1.0** + - Initial version; ## TODO -- Hide all comments; -- Hide newbies; -- Hide particular comments or always show particular comments; -- Highlight particular comments; -- Pre-defined comments; -- Signature; -- ~~Permalink~~; - +- Hide all comments; +- Hide newbies; +- Hide particular comments or always show particular comments; +- Highlight particular comments; +- Pre-defined comments; +- Signature; +- ~~Permalink~~; ## External links -* [Greasy Fork](https://greasyfork.org/scripts/465-geenstijl-powned-dumpert-comment-enhancer) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/GeenStijl_Powned_Dumpert_Comment_Enhancer) +- [Greasy Fork](https://greasyfork.org/scripts/465-geenstijl-powned-dumpert-comment-enhancer) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/GeenStijl_Powned_Dumpert_Comment_Enhancer) diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index 240d0f9..d5f18e1 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -25,47 +25,50 @@ // cSpell:ignore tooltipped, Consolas, Menlo, compareAdisabled, compareBdisabled (function () { - - function addButton() { - var nav; - if ((nav = document.querySelector('.file-navigation'))) { - - // Check if our group of buttons are already attached. - // Remove it, as the 'old' buttons don't have events anymore. - const e = document.getElementById('GitHubCommitCompareGroup'); - if (e) { - e.parentElement.removeChild(e); - } - Array.from(document.querySelectorAll('.GitHubCommitCompareButtonAB')).forEach(function (b) { - b.parentElement.removeChild(b); - }); - - const c = document.createElement('input'); - c.type = 'checkbox'; - c.addEventListener('change', - function () { - const bb = document.querySelectorAll('.GitHubCommitCompareButtonAB'); - if (this.checked) { - if (bb.length === 0) { - addCompareButtons(); - } else { - Array.from(bb).forEach(function (b) { - b.classList.remove('d-none'); - }); - } - } else { - Array.from(bb).forEach(function (b) { - b.classList.add('d-none'); - }); - } - const bbb = document.getElementById('GitHubCommitCompareButton'); - if (bbb) bbb.classList.remove('disabled'); - }); - - const l = document.createElement('label'); - l.classList.add('tooltipped', 'tooltipped-n'); - l.setAttribute('aria-label', 'Show commit compare buttons'); - l.style.cssText = ` + function addButton() { + var nav; + if ((nav = document.querySelector(".file-navigation"))) { + // Check if our group of buttons are already attached. + // Remove it, as the 'old' buttons don't have events anymore. + const e = document.getElementById("GitHubCommitCompareGroup"); + if (e) { + e.parentElement.removeChild(e); + } + Array.from( + document.querySelectorAll(".GitHubCommitCompareButtonAB"), + ).forEach(function (b) { + b.parentElement.removeChild(b); + }); + + const c = document.createElement("input"); + c.type = "checkbox"; + c.addEventListener("change", function () { + const bb = document.querySelectorAll( + ".GitHubCommitCompareButtonAB", + ); + if (this.checked) { + if (bb.length === 0) { + addCompareButtons(); + } else { + Array.from(bb).forEach(function (b) { + b.classList.remove("d-none"); + }); + } + } else { + Array.from(bb).forEach(function (b) { + b.classList.add("d-none"); + }); + } + const bbb = document.getElementById( + "GitHubCommitCompareButton", + ); + if (bbb) bbb.classList.remove("disabled"); + }); + + const l = document.createElement("label"); + l.classList.add("tooltipped", "tooltipped-n"); + l.setAttribute("aria-label", "Show commit compare buttons"); + l.style.cssText = ` float: left; padding: 3px 10px; font-size: 12px; @@ -79,149 +82,201 @@ border-top-left-radius: 3px; border-bottom-left-radius: 3px; `; - l.appendChild(c); - - const p = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - p.setAttributeNS(null, - 'd', - 'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); - - const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - s.classList.add('octicon', 'octicon-diff'); - s.setAttributeNS(null, 'height', 16); - s.setAttributeNS(null, 'width', 14); - s.setAttributeNS(null, 'viewBox', '0 0 14 16'); - s.appendChild(p); - - const a = document.createElement('a'); - a.id = 'GitHubCommitCompareButton'; - a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n', 'disabled'); - a.setAttribute('href', '#'); - a.setAttribute('rel', 'nofollow'); - a.setAttribute('aria-label', 'Compare these commits'); - a.style.cssText = ` + l.appendChild(c); + + const p = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + p.setAttributeNS( + null, + "d", + "M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z", + ); + + const s = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + s.classList.add("octicon", "octicon-diff"); + s.setAttributeNS(null, "height", 16); + s.setAttributeNS(null, "width", 14); + s.setAttributeNS(null, "viewBox", "0 0 14 16"); + s.appendChild(p); + + const a = document.createElement("a"); + a.id = "GitHubCommitCompareButton"; + a.classList.add( + "btn", + "btn-sm", + "tooltipped", + "tooltipped-n", + "disabled", + ); + a.setAttribute("href", "#"); + a.setAttribute("rel", "nofollow"); + a.setAttribute("aria-label", "Compare these commits"); + a.style.cssText = ` border-top-left-radius: 0; border-bottom-left-radius: 0; font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; `; - a.appendChild(s); - a.appendChild(document.createElement("span")); - - const g = document.createElement('div'); - g.id = 'GitHubCommitCompareGroup'; - g.classList.add('float-right'); - g.appendChild(l); - g.appendChild(a); - - nav.appendChild(g); - } - } - - function updateRadioButtons() { - var compareAdisabled = true; - var compareBdisabled = false; - - const compares = document.querySelectorAll('.GitHubCommitCompareButtonAB'); - Array.from(compares).forEach(function (compare) { - const compareA = compare.querySelector('[name="GitHubCommitCompareButtonA"]'); - const compareB = compare.querySelector('[name="GitHubCommitCompareButtonB"]'); - - compareA.disabled = compareAdisabled; - compareA.parentNode.classList.toggle('disabled', compareAdisabled); - - if (compareA.checked) { - compareBdisabled = true; - } - if (compareB.checked) { - compareAdisabled = false; - } - - compareB.disabled = compareBdisabled; - compareB.parentNode.classList.toggle('disabled', compareBdisabled); - }); - - updateCompareButton(); - } - - function updateCompareButton() { - const repo = document.querySelector('meta[property="og:url"]').content; - - const compareA = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonA"]:checked'); - const hashA = compareA.parentNode.parentNode.parentNode.querySelector('clipboard-copy').value; - const compareB = document.querySelector('.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonB"]:checked'); - const hashB = compareB.parentNode.parentNode.parentNode.querySelector('clipboard-copy').value; - - const a = document.getElementById('GitHubCommitCompareButton'); - a.setAttribute('href', `${repo}/compare/${hashA}...${hashB}`); - a.querySelector('span').textContent = ` ${hashA.substring(0, 7)}...${hashB.substring(0, 7)}`; - - //localStorage.setItem('GitHubCommitCompareButtonHashA', hashA); - //localStorage.setItem('GitHubCommitCompareButtonHashB', hashB); - } - - function addCompareButtons() { - const commits = document.querySelectorAll('.commits-list-item .commit-links-cell'); - Array.from(commits).forEach(function (item, index) { - const c1 = document.createElement('input'); - c1.name = 'GitHubCommitCompareButtonA'; - c1.type = 'radio'; - c1.addEventListener('change', updateRadioButtons); - if (index === 1) c1.checked = true; - - const l1 = document.createElement('label'); - l1.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-s'); - l1.setAttribute('aria-label', 'Choose a base commit'); - l1.appendChild(c1); - - const c2 = document.createElement('input'); - c2.name = 'GitHubCommitCompareButtonB'; - c2.type = 'radio'; - c2.addEventListener('change', updateRadioButtons); - if (index === 0) c2.checked = true; - - const l2 = document.createElement('label'); - l2.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-s'); - l2.setAttribute('aria-label', 'Choose a head commit'); - l2.appendChild(c2); - - // const p3 = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - // p3.setAttributeNS(null, - //'d', - //'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); - - // const s3 = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - // s3.classList.add('octicon', 'octicon-diff'); - // s3.setAttributeNS(null, 'height', 16); - // s3.setAttributeNS(null, 'width', 14); - // s3.setAttributeNS(null, 'viewBox', '0 0 14 16'); - // s3.appendChild(p3); - - // const l3 = document.createElement('a'); - // l3.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-sw'); - // l3.setAttribute('aria-label', 'TODO'); - // l3.appendChild(s3); - - const gg = document.createElement('div'); - gg.classList.add('GitHubCommitCompareButtonAB', 'commit-links-group', 'BtnGroup'); - gg.appendChild(l1); - gg.appendChild(l2); - //gg.appendChild(l3); - - //item.style.width = '350px'; - if (item.querySelector('.muted-link')) { // Insert after number of comments button. - item.insertBefore(gg, item.querySelector('.muted-link').nextSibling); - } else { - item.insertBefore(gg, item.firstChild); - } - }); - - updateRadioButtons(); // Update radio buttons. - } - - // Init. - addButton(); - - // Pjax. - document.addEventListener('pjax:end', addButton); - + a.appendChild(s); + a.appendChild(document.createElement("span")); + + const g = document.createElement("div"); + g.id = "GitHubCommitCompareGroup"; + g.classList.add("float-right"); + g.appendChild(l); + g.appendChild(a); + + nav.appendChild(g); + } + } + + function updateRadioButtons() { + var compareAdisabled = true; + var compareBdisabled = false; + + const compares = document.querySelectorAll( + ".GitHubCommitCompareButtonAB", + ); + Array.from(compares).forEach(function (compare) { + const compareA = compare.querySelector( + '[name="GitHubCommitCompareButtonA"]', + ); + const compareB = compare.querySelector( + '[name="GitHubCommitCompareButtonB"]', + ); + + compareA.disabled = compareAdisabled; + compareA.parentNode.classList.toggle("disabled", compareAdisabled); + + if (compareA.checked) { + compareBdisabled = true; + } + if (compareB.checked) { + compareAdisabled = false; + } + + compareB.disabled = compareBdisabled; + compareB.parentNode.classList.toggle("disabled", compareBdisabled); + }); + + updateCompareButton(); + } + + function updateCompareButton() { + const repo = document.querySelector('meta[property="og:url"]').content; + + const compareA = document.querySelector( + '.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonA"]:checked', + ); + const hashA = + compareA.parentNode.parentNode.parentNode.querySelector( + "clipboard-copy", + ).value; + const compareB = document.querySelector( + '.GitHubCommitCompareButtonAB [name="GitHubCommitCompareButtonB"]:checked', + ); + const hashB = + compareB.parentNode.parentNode.parentNode.querySelector( + "clipboard-copy", + ).value; + + const a = document.getElementById("GitHubCommitCompareButton"); + a.setAttribute("href", `${repo}/compare/${hashA}...${hashB}`); + a.querySelector("span").textContent = + ` ${hashA.substring(0, 7)}...${hashB.substring(0, 7)}`; + + //localStorage.setItem('GitHubCommitCompareButtonHashA', hashA); + //localStorage.setItem('GitHubCommitCompareButtonHashB', hashB); + } + + function addCompareButtons() { + const commits = document.querySelectorAll( + ".commits-list-item .commit-links-cell", + ); + Array.from(commits).forEach(function (item, index) { + const c1 = document.createElement("input"); + c1.name = "GitHubCommitCompareButtonA"; + c1.type = "radio"; + c1.addEventListener("change", updateRadioButtons); + if (index === 1) c1.checked = true; + + const l1 = document.createElement("label"); + l1.classList.add( + "btn", + "btn-outline", + "BtnGroup-item", + "tooltipped", + "tooltipped-s", + ); + l1.setAttribute("aria-label", "Choose a base commit"); + l1.appendChild(c1); + + const c2 = document.createElement("input"); + c2.name = "GitHubCommitCompareButtonB"; + c2.type = "radio"; + c2.addEventListener("change", updateRadioButtons); + if (index === 0) c2.checked = true; + + const l2 = document.createElement("label"); + l2.classList.add( + "btn", + "btn-outline", + "BtnGroup-item", + "tooltipped", + "tooltipped-s", + ); + l2.setAttribute("aria-label", "Choose a head commit"); + l2.appendChild(c2); + + // const p3 = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + // p3.setAttributeNS(null, + //'d', + //'M5 12H4c-.27-.02-.48-.11-.69-.31-.21-.2-.3-.42-.31-.69V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V11c.03.78.34 1.47.94 2.06.6.59 1.28.91 2.06.94h1v2l3-3-3-3v2zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm11 9.48V5c-.03-.78-.34-1.47-.94-2.06-.6-.59-1.28-.91-2.06-.94H9V0L6 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 12 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'); + + // const s3 = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + // s3.classList.add('octicon', 'octicon-diff'); + // s3.setAttributeNS(null, 'height', 16); + // s3.setAttributeNS(null, 'width', 14); + // s3.setAttributeNS(null, 'viewBox', '0 0 14 16'); + // s3.appendChild(p3); + + // const l3 = document.createElement('a'); + // l3.classList.add('btn', 'btn-outline', 'BtnGroup-item', 'tooltipped', 'tooltipped-sw'); + // l3.setAttribute('aria-label', 'TODO'); + // l3.appendChild(s3); + + const gg = document.createElement("div"); + gg.classList.add( + "GitHubCommitCompareButtonAB", + "commit-links-group", + "BtnGroup", + ); + gg.appendChild(l1); + gg.appendChild(l2); + //gg.appendChild(l3); + + //item.style.width = '350px'; + if (item.querySelector(".muted-link")) { + // Insert after number of comments button. + item.insertBefore( + gg, + item.querySelector(".muted-link").nextSibling, + ); + } else { + item.insertBefore(gg, item.firstChild); + } + }); + + updateRadioButtons(); // Update radio buttons. + } + + // Init. + addButton(); + + // Pjax. + document.addEventListener("pjax:end", addButton); })(); diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md index a490414..92ad634 100644 --- a/GitHub_Commit_Compare/README.md +++ b/GitHub_Commit_Compare/README.md @@ -15,27 +15,27 @@ Add controls to compare commits. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.0.3** +- **0.0.3** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **0.0.2** +- **0.0.2** - * 🐛 Fix after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#128](https://github.com/jerone/UserScripts/issues/128)). + - 🐛 Fix after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#128](https://github.com/jerone/UserScripts/issues/128)). -* **0.0.1** +- **0.0.1** - * Initial version. + - Initial version. ## Contributors -* [darkred](https://github.com/darkred) +- [darkred](https://github.com/darkred) ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/33563-github-commit-compare) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/GitHub_Commit_Compare) +- [Greasy Fork](https://greasyfork.org/en/scripts/33563-github-commit-compare) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/GitHub_Commit_Compare) diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 73d69d6..648fc3d 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -24,11 +24,10 @@ // cSpell:ignore gollum, tooltipped, jssuggester, tabnav, facebox, msie /* global unsafeWindow */ -(function(unsafeWindow) { - - String.format = function(string) { +(function (unsafeWindow) { + String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { + return string.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] !== "undefined" ? args[number] : match; }); }; @@ -45,130 +44,148 @@ "function-bold": { search: /^(\s*)([\s\S]*?)(\s*)$/g, replace: "$1**$2**$3", - shortcut: "ctrl+b" + shortcut: "ctrl+b", }, "function-italic": { search: /^(\s*)([\s\S]*?)(\s*)$/g, replace: "$1_$2_$3", - shortcut: "ctrl+i" + shortcut: "ctrl+i", }, "function-underline": { search: /^(\s*)([\s\S]*?)(\s*)$/g, replace: "$1$2$3", - shortcut: "ctrl+u" + shortcut: "ctrl+u", }, "function-strikethrough": { search: /^(\s*)([\s\S]*?)(\s*)$/g, replace: "$1~~$2~~$3", - shortcut: "ctrl+s" + shortcut: "ctrl+s", }, "function-h1": { search: /(.+)([\n]?)/g, replace: "# $1$2", forceNewline: true, - shortcut: "ctrl+1" + shortcut: "ctrl+1", }, "function-h2": { search: /(.+)([\n]?)/g, replace: "## $1$2", forceNewline: true, - shortcut: "ctrl+2" + shortcut: "ctrl+2", }, "function-h3": { search: /(.+)([\n]?)/g, replace: "### $1$2", forceNewline: true, - shortcut: "ctrl+3" + shortcut: "ctrl+3", }, "function-h4": { search: /(.+)([\n]?)/g, replace: "#### $1$2", forceNewline: true, - shortcut: "ctrl+4" + shortcut: "ctrl+4", }, "function-h5": { search: /(.+)([\n]?)/g, replace: "##### $1$2", forceNewline: true, - shortcut: "ctrl+5" + shortcut: "ctrl+5", }, "function-h6": { search: /(.+)([\n]?)/g, replace: "###### $1$2", forceNewline: true, - shortcut: "ctrl+6" + shortcut: "ctrl+6", }, "function-link": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { var selTxt = selText.trim(), - isUrl = selTxt && /(?:https?:\/\/)|(?:www\.)/.test(selTxt), + isUrl = + selTxt && /(?:https?:\/\/)|(?:www\.)/.test(selTxt), text = isUrl ? "" : selTxt, href = isUrl ? selTxt : ""; unsafeWindow.$.GollumDialog.init({ title: "Insert Link", - fields: [{ - id: "text", - name: "Link Text", - type: "text", - value: text - }, { - id: "href", - name: "URL", - type: "text", - value: href - }], - OK: function(t) { + fields: [ + { + id: "text", + name: "Link Text", + type: "text", + value: text, + }, + { + id: "href", + name: "URL", + type: "text", + value: href, + }, + ], + OK: function (t) { if (t.href) { - next(String.format("[{0}]({1}){2}", - t.text || t.href, - t.href, (/\s+$/.test(selText) ? " " : ""))); + next( + String.format( + "[{0}]({1}){2}", + t.text || t.href, + t.href, + /\s+$/.test(selText) ? " " : "", + ), + ); } - } + }, }); }, - shortcut: "ctrl+l" + shortcut: "ctrl+l", }, "function-image": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { var selTxt = selText.trim(), - isUrl = selTxt && /(?:https?:\/\/)|(?:www\.)/.test(selTxt), + isUrl = + selTxt && /(?:https?:\/\/)|(?:www\.)/.test(selTxt), url = isUrl ? selTxt : "", alt = isUrl ? "" : selTxt; unsafeWindow.$.GollumDialog.init({ title: "Insert Image", - fields: [{ - id: "url", - name: "Image URL", - type: "text", - value: url - }, { - id: "alt", - name: "Alt Text", - type: "text", - value: alt - }], - OK: function(t) { + fields: [ + { + id: "url", + name: "Image URL", + type: "text", + value: url, + }, + { + id: "alt", + name: "Alt Text", + type: "text", + value: alt, + }, + ], + OK: function (t) { if (t.url) { - next(String.format("![{0}]({1}){2}", - t.alt || t.url, - t.url, (/\s+$/.test(selText) ? " " : ""))); + next( + String.format( + "![{0}]({1}){2}", + t.alt || t.url, + t.url, + /\s+$/.test(selText) ? " " : "", + ), + ); } - } + }, }); }, - shortcut: "ctrl+g" + shortcut: "ctrl+g", }, "function-ul": { search: /(.+)([\n]?)/g, replace: String.format("{0} $1$2", listCharacter), forceNewline: true, - shortcut: "alt+ctrl+u" + shortcut: "alt+ctrl+u", }, "function-ol": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { var repText = ""; if (!selText) { repText = "1. "; @@ -177,287 +194,288 @@ hasContent = /[\w]+/; for (var i = 0; i < lines.length; i++) { if (hasContent.test(lines[i])) { - repText += String.format("{0}. {1}\n", i + 1, lines[i]); + repText += String.format( + "{0}. {1}\n", + i + 1, + lines[i], + ); } } } next(repText); }, - shortcut: "alt+ctrl+o" + shortcut: "alt+ctrl+o", }, "function-checklist": { search: /(.+)([\n]?)/g, replace: String.format("{0} [ ] $1$2", listCharacter), forceNewline: true, - shortcut: "alt+ctrl+t" + shortcut: "alt+ctrl+t", }, "function-code": { - exec: function(button, selText, commentForm, next) { - var rt = selText.indexOf("\n") > -1 ? "$1\n```\n$2\n```$3" : "$1`$2`$3"; + exec: function (button, selText, commentForm, next) { + var rt = + selText.indexOf("\n") > -1 + ? "$1\n```\n$2\n```$3" + : "$1`$2`$3"; next(selText.replace(/^(\s*)([\s\S]*?)(\s*)$/g, rt)); }, - shortcut: "ctrl+k" + shortcut: "ctrl+k", }, "function-code-syntax": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { var rt = "$1\n```" + button.dataset.value + "\n$2\n```$3"; next(selText.replace(/^(\s*)([\s\S]*?)(\s*)$/g, rt)); - } + }, }, "function-blockquote": { search: /(.+)([\n]?)/g, replace: "> $1$2", forceNewline: true, - shortcut: "ctrl+q" + shortcut: "ctrl+q", }, "function-rule": { append: String.format("\n{0}\n", lineCharacter), forceNewline: true, - shortcut: "ctrl+r" + shortcut: "ctrl+r", }, "function-table": { - append: "\n" + + append: + "\n" + "| Head | Head | Head |\n" + "| :--- | :----: | ----: |\n" + "| Cell | Cell | Cell |\n" + "| Left | Center | Right |\n", forceNewline: true, - shortcut: "alt+shift+t" + shortcut: "alt+shift+t", }, "function-clear": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { commentForm.value = ""; next(""); }, - shortcut: "alt+ctrl+x" + shortcut: "alt+ctrl+x", }, "function-snippets-tab": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { next("\t"); - } + }, }, "function-snippets-useragent": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { next("`" + navigator.userAgent + "`"); - } + }, }, "function-snippets-contributing": { - exec: function(button, selText, commentForm, next) { - next("Please, always consider reviewing the [guidelines for contributing](../blob/master/CONTRIBUTING.md) to this repository."); - } + exec: function (button, selText, commentForm, next) { + next( + "Please, always consider reviewing the [guidelines for contributing](../blob/master/CONTRIBUTING.md) to this repository.", + ); + }, }, "function-emoji": { - exec: function(button, selText, commentForm, next) { + exec: function (button, selText, commentForm, next) { next(button.dataset.value); - } - } + }, + }, }; })(); var toolBarLeftHTML = '
    ' + - /* Bold, italic, underline & Strikethrough; */ '
    ' + ' ' + ' B' + - ' ' + + " " + ' ' + - ' i' + - ' ' + + " i" + + " " + ' ' + - ' U' + - ' ' + + " U" + + " " + ' ' + - ' S' + - ' ' + - '
    ' + - + " S" + + " " + + "
    " + /* Headers (1 - 6); */ '
    ' + '
    ' + ' ' + ' ' + - ' ' + + " " + '
    ' + '
    ' + '
    ' + ' Choose header' + ' ' + - '
    ' + + "
    " + '
    ' + ' ' + - ' h1' + - ' ' + + " h1" + + " " + ' ' + - ' h2' + - ' ' + + " h2" + + " " + ' ' + - ' h3' + - ' ' + + " h3" + + " " + ' ' + - ' h4' + - ' ' + + " h4" + + " " + ' ' + - ' h5' + - ' ' + + " h5" + + " " + ' ' + - ' h6' + - ' ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - + " h6" + + " " + + "
    " + + "
    " + + "
    " + + "
    " + + "
    " + /* Link & image; */ '
    ' + ' ' + ' ' + - ' ' + + " " + ' ' + ' ' + - ' ' + - '
    ' + - + " " + + "
    " + /* Lists (unordered, ordered & task); */ '
    ' + ' ' + ' ' + - ' ' + + " " + ' ' + ' ' + - ' ' + + " " + ' ' + ' ' + - ' ' + - '
    ' + - + " " + + "
    " + /* Code (syntax); */ '
    ' + '
    ' + ' ' + ' ' + - ' ' + + " " + '
    ' + '
    ' + '
    ' + ' Code syntax' + ' ' + - '
    ' + + "
    " + '
    ' + '
    ' + ' ' + - '
    ' + - '
    ' + + "
    " + + "
    " + '
    ' + '
    Nothing to show
    ' + - '
    ' + - '
    ' + - '
    ' + + "
    " + + "
    " + + "
    " + ' ' + - '
    ' + - '
    ' + - + "
    " + + "
    " + /* Blockquote, horizontal rule & table; */ '
    ' + ' ' + ' ' + - ' ' + + " " + ' ' + ' ' + - ' ' + + " " + ' ' + ' ' + - ' ' + - '
    ' + - + " " + + "
    " + /* Snippets; */ '
    ' + '
    ' + ' ' + ' ' + - ' ' + + " " + '
    ' + '
    ' + '
    ' + ' Snippets' + ' ' + - '
    ' + + "
    " + '
    ' + '
    ' + ' ' + - '
    ' + - '
    ' + + "
    " + + "
    " + ' " + '
    Nothing to show
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - + "
    " + + "
    " + + "
    " + + "
    " + + "
    " + /* Emoji; */ '
    ' + '
    ' + ' ' + ' ' + - ' ' + + " " + '
    ' + '
    ' + '
    ' + ' Emoji' + ' ' + - '
    ' + + "
    " + '
    ' + '
    ' + ' ' + - '
    ' + - '
    ' + + "
    " + + "
    " + '
    ' + '
    Nothing to show
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - - '
    '; + "
    " + + "
    " + + "
    " + + "
    " + + " " + + ""; var toolBarRightHTML = /* Clear; */ '
    ' + '
    ' + ' ' + ' ' + - ' ' + - '
    ' + - '
    '; + " " + + " " + + ""; // Source: https://github.com/gollum/gollum/blob/9c714e768748db4560bc017cacef4afa0c751a63/lib/gollum/public/gollum/javascript/editor/gollum.editor.js#L516 function executeAction(definitionObject, commentForm, button) { var txt = commentForm.value, selPos = { start: commentForm.selectionStart, - end: commentForm.selectionEnd + end: commentForm.selectionEnd, }, selText = txt.substring(selPos.start, selPos.end), repText = selText, @@ -466,9 +484,14 @@ // execute replacement function; if (definitionObject.exec) { - definitionObject.exec(button, selText, commentForm, function(repText) { - replaceFieldSelection(commentForm, repText); - }); + definitionObject.exec( + button, + selText, + commentForm, + function (repText) { + replaceFieldSelection(commentForm, repText); + }, + ); return; } @@ -498,7 +521,11 @@ } if (repText) { - if (definitionObject.forceNewline === true && (selPos.start > 0 && txt.substr(Math.max(0, selPos.start - 1), 1) !== "\n")) { + if ( + definitionObject.forceNewline === true && + selPos.start > 0 && + txt.substr(Math.max(0, selPos.start - 1), 1) !== "\n" + ) { repText = "\n" + repText; } replaceFieldSelection(commentForm, repText, reselect, cursor); @@ -506,11 +533,16 @@ } // Source: https://github.com/gollum/gollum/blob/9c714e768748db4560bc017cacef4afa0c751a63/lib/gollum/public/gollum/javascript/editor/gollum.editor.js#L708 - function replaceFieldSelection(commentForm, replaceText, reselect, cursorOffset) { + function replaceFieldSelection( + commentForm, + replaceText, + reselect, + cursorOffset, + ) { var txt = commentForm.value, selPos = { start: commentForm.selectionStart, - end: commentForm.selectionEnd + end: commentForm.selectionEnd, }; var selectNew = true; @@ -523,14 +555,23 @@ scrollTop = commentForm.scrollTop; } - commentForm.value = txt.substring(0, selPos.start) + replaceText + txt.substring(selPos.end); + commentForm.value = + txt.substring(0, selPos.start) + + replaceText + + txt.substring(selPos.end); commentForm.focus(); if (selectNew) { if (cursorOffset) { - commentForm.setSelectionRange(selPos.start + cursorOffset, selPos.start + cursorOffset); + commentForm.setSelectionRange( + selPos.start + cursorOffset, + selPos.start + cursorOffset, + ); } else { - commentForm.setSelectionRange(selPos.start, selPos.start + replaceText.length); + commentForm.setSelectionRange( + selPos.start, + selPos.start + replaceText.length, + ); } } @@ -552,13 +593,18 @@ } function unbindGollumFunctions() { - window.setTimeout(function() { - unsafeWindow.$(".function-button:not(#function-help)").unbind("click"); + window.setTimeout(function () { + unsafeWindow + .$(".function-button:not(#function-help)") + .unbind("click"); }, 1); } - var buttonEvent = function(e) { - if (!this.classList.contains("disabled") && !this.classList.contains("function-dummy")) { + var buttonEvent = function (e) { + if ( + !this.classList.contains("disabled") && + !this.classList.contains("function-dummy") + ) { e.preventDefault(); executeAction(MarkDown[this.id], this.commentForm, this); return false; @@ -567,130 +613,600 @@ // The suggester container needs extra margin to move the menu below the text because of the added toolbar. function fixSuggesterMenu(commentForm) { - commentForm.parentNode.parentNode.querySelector(".suggester-container").style.marginTop = "36px"; + commentForm.parentNode.parentNode.querySelector( + ".suggester-container", + ).style.marginTop = "36px"; } - var codeSyntaxTop = ["JavaScript", "Java", "Ruby", "PHP", "Python", "CSS", "C++", "C#", "C", "HTML"]; // https://github.com/blog/2047-language-trends-on-github + var codeSyntaxTop = [ + "JavaScript", + "Java", + "Ruby", + "PHP", + "Python", + "CSS", + "C++", + "C#", + "C", + "HTML", + ]; // https://github.com/blog/2047-language-trends-on-github /* cSpell: disable */ - var codeSyntaxList = ["ABAP", "abl", "aconf", "ActionScript", "actionscript 3", - "actionscript3", "Ada", "ada2005", "ada95", "advpl", "Agda", "ags", - "AGS Script", "ahk", "Alloy", "AMPL", "Ant Build System", "ANTLR", - "apache", "ApacheConf", "Apex", "API Blueprint", "APL", "AppleScript", - "Arc", "Arduino", "as3", "AsciiDoc", "ASP", "AspectJ", "aspx", - "aspx-vb", "Assembly", "ATS", "ats2", "au3", "Augeas", "AutoHotkey", - "AutoIt", "AutoIt3", "AutoItScript", "Awk", "b3d", "bash", - "bash session", "bat", "batch", "Batchfile", "Befunge", "Bison", - "BitBake", "blitz3d", "BlitzBasic", "BlitzMax", "blitzplus", - "Bluespec", "bmax", "Boo", "bplus", "Brainfuck", "Brightscript", "Bro", - "bsdmake", "byond", "C", "C#", "C++", "c++-objdumb", "C-ObjDump", - "c2hs", "C2hs Haskell", "Cap'n Proto", "Carto", "CartoCSS", "Ceylon", - "cfc", "cfm", "cfml", "Chapel", "Charity", "chpl", "ChucK", "Cirru", - "Clarion", "Clean", "clipper", "CLIPS", "Clojure", "CMake", "COBOL", - "coffee", "coffee-script", "CoffeeScript", "ColdFusion", - "ColdFusion CFC", "coldfusion html", "Common Lisp", "Component Pascal", - "console", "Cool", "Coq", "cpp", "Cpp-ObjDump", "Creole", "Crystal", - "csharp", "CSS", "Cucumber", "Cuda", "Cycript", "Cython", "D", - "D-ObjDump", "Darcs Patch", "Dart", "dcl", "delphi", "desktop", "Diff", - "DIGITAL Command Language", "DM", "DNS Zone", "Dockerfile", - "Dogescript", "dosbatch", "dosini", "dpatch", "DTrace", - "dtrace-script", "Dylan", "E", "Eagle", "eC", "Ecere Projects", "ECL", - "ECLiPSe", "edn", "Eiffel", "elisp", "Elixir", "Elm", "emacs", - "Emacs Lisp", "EmberScript", "erb", "Erlang", "F#", "Factor", "Fancy", - "Fantom", "Filterscript", "fish", "flex", "FLUX", "Formatted", "Forth", - "FORTRAN", "foxpro", "Frege", "fsharp", "fundamental", "G-code", - "Game Maker Language", "GAMS", "GAP", "GAS", "GDScript", "Genshi", - "Gentoo Ebuild", "Gentoo Eclass", "Gettext Catalog", "gf", "gherkin", - "GLSL", "Glyph", "Gnuplot", "Go", "Golo", "Gosu", "Grace", "Gradle", - "Grammatical Framework", "Graph Modeling Language", "Graphviz (DOT)", - "Groff", "Groovy", "Groovy Server Pages", "gsp", "Hack", "Haml", - "Handlebars", "Harbour", "Haskell", "Haxe", "hbs", "HCL", "HTML", - "HTML+Django", "html+django/jinja", "HTML+ERB", "html+jinja", - "HTML+PHP", "html+ruby", "htmlbars", "htmldjango", "HTTP", "Hy", - "hylang", "HyPhy", "i7", "IDL", "Idris", "igor", "IGOR Pro", "igorpro", - "inc", "Inform 7", "inform7", "INI", "Inno Setup", "Io", "Ioke", "irc", - "IRC log", "irc logs", "Isabelle", "Isabelle ROOT", "J", "Jade", - "Jasmin", "Java", "java server page", "Java Server Pages", - "JavaScript", "JFlex", "jruby", "js", "JSON", "JSON5", "JSONiq", - "JSONLD", "jsp", "JSX", "Julia", "KiCad", "Kit", "Kotlin", "KRL", - "LabVIEW", "Lasso", "lassoscript", "latex", "Latte", "Lean", "Less", - "Lex", "LFE", "lhaskell", "lhs", "LilyPond", "Limbo", "Linker Script", - "Linux Kernel Module", "Liquid", "lisp", "litcoffee", "Literate Agda", - "Literate CoffeeScript", "Literate Haskell", "live-script", - "LiveScript", "LLVM", "Logos", "Logtalk", "LOLCODE", "LookML", - "LoomScript", "ls", "LSL", "Lua", "M", "macruby", "make", "Makefile", - "Mako", "Markdown", "Mask", "Mathematica", "Matlab", "Maven POM", - "Max", "max/msp", "maxmsp", "MediaWiki", "Mercury", "mf", "MiniD", - "Mirah", "mma", "Modelica", "Modula-2", "Module Management System", - "Monkey", "Moocode", "MoonScript", "MTML", "MUF", "mumps", "mupad", - "Myghty", "nasm", "NCL", "Nemerle", "nesC", "NetLinx", "NetLinx+ERB", - "NetLogo", "NewLisp", "Nginx", "nginx configuration file", "Nimrod", - "Ninja", "Nit", "Nix", "nixos", "NL", "node", "nroff", "NSIS", "Nu", - "NumPy", "nush", "nvim", "obj-c", "obj-c++", "obj-j", "objc", "objc++", - "ObjDump", "Objective-C", "Objective-C++", "Objective-J", "objectivec", - "objectivec++", "objectivej", "objectpascal", "objj", "OCaml", - "Omgrofl", "ooc", "Opa", "Opal", "OpenCL", "openedge", "OpenEdge ABL", - "OpenSCAD", "Org", "osascript", "Ox", "Oxygene", "Oz", "Pan", - "Papyrus", "Parrot", "Parrot Assembly", - "Parrot Internal Representation", "Pascal", "pasm", "PAWN", "Perl", - "Perl6", "PHP", "PicoLisp", "PigLatin", "Pike", "pir", "PLpgSQL", - "PLSQL", "Pod", "PogoScript", "posh", "postscr", "PostScript", "pot", - "PowerShell", "Processing", "progress", "Prolog", "Propeller Spin", - "protobuf", "Protocol Buffer", "Protocol Buffers", "Public Key", - "Puppet", "Pure Data", "PureBasic", "PureScript", "pyrex", "Python", - "Python traceback", "QMake", "QML", "R", "Racket", - "Ragel in Ruby Host", "ragel-rb", "ragel-ruby", "rake", "RAML", "raw", - "Raw token data", "rb", "rbx", "RDoc", "REALbasic", "Rebol", "Red", - "red/system", "Redcode", "RenderScript", "reStructuredText", "RHTML", - "RMarkdown", "RobotFramework", "Rouge", "Rscript", "rss", "rst", - "Ruby", "Rust", "rusthon", "Sage", "salt", "SaltStack", "saltstate", - "SAS", "Sass", "Scala", "Scaml", "Scheme", "Scilab", "SCSS", "Self", - "sh", "Shell", "ShellSession", "Shen", "Slash", "Slim", "Smali", - "Smalltalk", "Smarty", "sml", "SMT", "sourcemod", "SourcePawn", - "SPARQL", "splus", "SQF", "SQL", "SQLPL", "squeak", "Squirrel", - "Standard ML", "Stata", "STON", "Stylus", "SuperCollider", "SVG", - "Swift", "SystemVerilog", "Tcl", "Tcsh", "Tea", "TeX", "Text", - "Textile", "Thrift", "TOML", "ts", "Turing", "Turtle", "Twig", "TXL", - "TypeScript", "udiff", "Unified Parallel C", "Unity3D Asset", - "UnrealScript", "Vala", "vb.net", "vbnet", "VCL", "Verilog", "VHDL", - "vim", "VimL", "Visual Basic", "Volt", "Vue", "Web Ontology Language", - "WebIDL", "winbatch", "wisp", "wsdl", "X10", "xBase", "XC", "xhtml", - "XML", "xml+genshi", "xml+kid", "Xojo", "XPages", "XProc", "XQuery", - "XS", "xsd", "xsl", "XSLT", "xten", "Xtend", "Yacc", "YAML", "yml", - "Zephir", "Zimpl", "zsh" + var codeSyntaxList = [ + "ABAP", + "abl", + "aconf", + "ActionScript", + "actionscript 3", + "actionscript3", + "Ada", + "ada2005", + "ada95", + "advpl", + "Agda", + "ags", + "AGS Script", + "ahk", + "Alloy", + "AMPL", + "Ant Build System", + "ANTLR", + "apache", + "ApacheConf", + "Apex", + "API Blueprint", + "APL", + "AppleScript", + "Arc", + "Arduino", + "as3", + "AsciiDoc", + "ASP", + "AspectJ", + "aspx", + "aspx-vb", + "Assembly", + "ATS", + "ats2", + "au3", + "Augeas", + "AutoHotkey", + "AutoIt", + "AutoIt3", + "AutoItScript", + "Awk", + "b3d", + "bash", + "bash session", + "bat", + "batch", + "Batchfile", + "Befunge", + "Bison", + "BitBake", + "blitz3d", + "BlitzBasic", + "BlitzMax", + "blitzplus", + "Bluespec", + "bmax", + "Boo", + "bplus", + "Brainfuck", + "Brightscript", + "Bro", + "bsdmake", + "byond", + "C", + "C#", + "C++", + "c++-objdumb", + "C-ObjDump", + "c2hs", + "C2hs Haskell", + "Cap'n Proto", + "Carto", + "CartoCSS", + "Ceylon", + "cfc", + "cfm", + "cfml", + "Chapel", + "Charity", + "chpl", + "ChucK", + "Cirru", + "Clarion", + "Clean", + "clipper", + "CLIPS", + "Clojure", + "CMake", + "COBOL", + "coffee", + "coffee-script", + "CoffeeScript", + "ColdFusion", + "ColdFusion CFC", + "coldfusion html", + "Common Lisp", + "Component Pascal", + "console", + "Cool", + "Coq", + "cpp", + "Cpp-ObjDump", + "Creole", + "Crystal", + "csharp", + "CSS", + "Cucumber", + "Cuda", + "Cycript", + "Cython", + "D", + "D-ObjDump", + "Darcs Patch", + "Dart", + "dcl", + "delphi", + "desktop", + "Diff", + "DIGITAL Command Language", + "DM", + "DNS Zone", + "Dockerfile", + "Dogescript", + "dosbatch", + "dosini", + "dpatch", + "DTrace", + "dtrace-script", + "Dylan", + "E", + "Eagle", + "eC", + "Ecere Projects", + "ECL", + "ECLiPSe", + "edn", + "Eiffel", + "elisp", + "Elixir", + "Elm", + "emacs", + "Emacs Lisp", + "EmberScript", + "erb", + "Erlang", + "F#", + "Factor", + "Fancy", + "Fantom", + "Filterscript", + "fish", + "flex", + "FLUX", + "Formatted", + "Forth", + "FORTRAN", + "foxpro", + "Frege", + "fsharp", + "fundamental", + "G-code", + "Game Maker Language", + "GAMS", + "GAP", + "GAS", + "GDScript", + "Genshi", + "Gentoo Ebuild", + "Gentoo Eclass", + "Gettext Catalog", + "gf", + "gherkin", + "GLSL", + "Glyph", + "Gnuplot", + "Go", + "Golo", + "Gosu", + "Grace", + "Gradle", + "Grammatical Framework", + "Graph Modeling Language", + "Graphviz (DOT)", + "Groff", + "Groovy", + "Groovy Server Pages", + "gsp", + "Hack", + "Haml", + "Handlebars", + "Harbour", + "Haskell", + "Haxe", + "hbs", + "HCL", + "HTML", + "HTML+Django", + "html+django/jinja", + "HTML+ERB", + "html+jinja", + "HTML+PHP", + "html+ruby", + "htmlbars", + "htmldjango", + "HTTP", + "Hy", + "hylang", + "HyPhy", + "i7", + "IDL", + "Idris", + "igor", + "IGOR Pro", + "igorpro", + "inc", + "Inform 7", + "inform7", + "INI", + "Inno Setup", + "Io", + "Ioke", + "irc", + "IRC log", + "irc logs", + "Isabelle", + "Isabelle ROOT", + "J", + "Jade", + "Jasmin", + "Java", + "java server page", + "Java Server Pages", + "JavaScript", + "JFlex", + "jruby", + "js", + "JSON", + "JSON5", + "JSONiq", + "JSONLD", + "jsp", + "JSX", + "Julia", + "KiCad", + "Kit", + "Kotlin", + "KRL", + "LabVIEW", + "Lasso", + "lassoscript", + "latex", + "Latte", + "Lean", + "Less", + "Lex", + "LFE", + "lhaskell", + "lhs", + "LilyPond", + "Limbo", + "Linker Script", + "Linux Kernel Module", + "Liquid", + "lisp", + "litcoffee", + "Literate Agda", + "Literate CoffeeScript", + "Literate Haskell", + "live-script", + "LiveScript", + "LLVM", + "Logos", + "Logtalk", + "LOLCODE", + "LookML", + "LoomScript", + "ls", + "LSL", + "Lua", + "M", + "macruby", + "make", + "Makefile", + "Mako", + "Markdown", + "Mask", + "Mathematica", + "Matlab", + "Maven POM", + "Max", + "max/msp", + "maxmsp", + "MediaWiki", + "Mercury", + "mf", + "MiniD", + "Mirah", + "mma", + "Modelica", + "Modula-2", + "Module Management System", + "Monkey", + "Moocode", + "MoonScript", + "MTML", + "MUF", + "mumps", + "mupad", + "Myghty", + "nasm", + "NCL", + "Nemerle", + "nesC", + "NetLinx", + "NetLinx+ERB", + "NetLogo", + "NewLisp", + "Nginx", + "nginx configuration file", + "Nimrod", + "Ninja", + "Nit", + "Nix", + "nixos", + "NL", + "node", + "nroff", + "NSIS", + "Nu", + "NumPy", + "nush", + "nvim", + "obj-c", + "obj-c++", + "obj-j", + "objc", + "objc++", + "ObjDump", + "Objective-C", + "Objective-C++", + "Objective-J", + "objectivec", + "objectivec++", + "objectivej", + "objectpascal", + "objj", + "OCaml", + "Omgrofl", + "ooc", + "Opa", + "Opal", + "OpenCL", + "openedge", + "OpenEdge ABL", + "OpenSCAD", + "Org", + "osascript", + "Ox", + "Oxygene", + "Oz", + "Pan", + "Papyrus", + "Parrot", + "Parrot Assembly", + "Parrot Internal Representation", + "Pascal", + "pasm", + "PAWN", + "Perl", + "Perl6", + "PHP", + "PicoLisp", + "PigLatin", + "Pike", + "pir", + "PLpgSQL", + "PLSQL", + "Pod", + "PogoScript", + "posh", + "postscr", + "PostScript", + "pot", + "PowerShell", + "Processing", + "progress", + "Prolog", + "Propeller Spin", + "protobuf", + "Protocol Buffer", + "Protocol Buffers", + "Public Key", + "Puppet", + "Pure Data", + "PureBasic", + "PureScript", + "pyrex", + "Python", + "Python traceback", + "QMake", + "QML", + "R", + "Racket", + "Ragel in Ruby Host", + "ragel-rb", + "ragel-ruby", + "rake", + "RAML", + "raw", + "Raw token data", + "rb", + "rbx", + "RDoc", + "REALbasic", + "Rebol", + "Red", + "red/system", + "Redcode", + "RenderScript", + "reStructuredText", + "RHTML", + "RMarkdown", + "RobotFramework", + "Rouge", + "Rscript", + "rss", + "rst", + "Ruby", + "Rust", + "rusthon", + "Sage", + "salt", + "SaltStack", + "saltstate", + "SAS", + "Sass", + "Scala", + "Scaml", + "Scheme", + "Scilab", + "SCSS", + "Self", + "sh", + "Shell", + "ShellSession", + "Shen", + "Slash", + "Slim", + "Smali", + "Smalltalk", + "Smarty", + "sml", + "SMT", + "sourcemod", + "SourcePawn", + "SPARQL", + "splus", + "SQF", + "SQL", + "SQLPL", + "squeak", + "Squirrel", + "Standard ML", + "Stata", + "STON", + "Stylus", + "SuperCollider", + "SVG", + "Swift", + "SystemVerilog", + "Tcl", + "Tcsh", + "Tea", + "TeX", + "Text", + "Textile", + "Thrift", + "TOML", + "ts", + "Turing", + "Turtle", + "Twig", + "TXL", + "TypeScript", + "udiff", + "Unified Parallel C", + "Unity3D Asset", + "UnrealScript", + "Vala", + "vb.net", + "vbnet", + "VCL", + "Verilog", + "VHDL", + "vim", + "VimL", + "Visual Basic", + "Volt", + "Vue", + "Web Ontology Language", + "WebIDL", + "winbatch", + "wisp", + "wsdl", + "X10", + "xBase", + "XC", + "xhtml", + "XML", + "xml+genshi", + "xml+kid", + "Xojo", + "XPages", + "XProc", + "XQuery", + "XS", + "xsd", + "xsl", + "XSLT", + "xten", + "Xtend", + "Yacc", + "YAML", + "yml", + "Zephir", + "Zimpl", + "zsh", ]; // https://github.com/jerone/UserScripts/issues/18 /* cSpell: enable */ - var codeSyntaxes = [].concat(codeSyntaxTop, codeSyntaxList).filter(function(a, b, c) { - return c.indexOf(a) === b; - }); + var codeSyntaxes = [] + .concat(codeSyntaxTop, codeSyntaxList) + .filter(function (a, b, c) { + return c.indexOf(a) === b; + }); function addCodeSyntax(commentForm) { var syntaxSuggestions = document.createElement("div"); syntaxSuggestions.dataset.filterableType = "substring"; - syntaxSuggestions.dataset.filterableFor = "context-code-syntax-filter-field"; + syntaxSuggestions.dataset.filterableFor = + "context-code-syntax-filter-field"; syntaxSuggestions.dataset.filterableLimit = codeSyntaxTop.length; // Show top code syntaxes on open; - codeSyntaxes.forEach(function(syntax) { + codeSyntaxes.forEach(function (syntax) { var syntaxSuggestion = document.createElement("a"); syntaxSuggestion.setAttribute("href", "#"); - syntaxSuggestion.classList.add("function-button", "select-menu-item", "js-navigation-item"); + syntaxSuggestion.classList.add( + "function-button", + "select-menu-item", + "js-navigation-item", + ); syntaxSuggestion.dataset.value = syntax; syntaxSuggestion.id = "function-code-syntax"; syntaxSuggestions.appendChild(syntaxSuggestion); var syntaxSuggestionText = document.createElement("span"); - syntaxSuggestionText.classList.add("select-menu-item-text", "js-select-button-text"); + syntaxSuggestionText.classList.add( + "select-menu-item-text", + "js-select-button-text", + ); syntaxSuggestionText.appendChild(document.createTextNode(syntax)); syntaxSuggestion.appendChild(syntaxSuggestionText); }); - var suggester = commentForm.parentNode.parentNode.querySelector(".code-syntaxes"); + var suggester = + commentForm.parentNode.parentNode.querySelector(".code-syntaxes"); suggester.appendChild(syntaxSuggestions); } var suggestionsCache = {}; function addSuggestions(commentForm) { - var jssuggester = commentForm.parentNode.parentNode.querySelector(".suggester-container .suggester"); + var jssuggester = commentForm.parentNode.parentNode.querySelector( + ".suggester-container .suggester", + ); var url = jssuggester.getAttribute("data-url"); if (suggestionsCache[url]) { @@ -698,17 +1214,19 @@ } else { unsafeWindow.$.ajax({ url: url, - success: function(suggestionsData) { + success: function (suggestionsData) { suggestionsCache[url] = suggestionsData; parseSuggestions(commentForm, suggestionsData); - } + }, }); } } function parseSuggestions(commentForm, suggestionsData) { - suggestionsData = suggestionsData.replace(/js-navigation-item/g, - "function-button js-navigation-item select-menu-item"); + suggestionsData = suggestionsData.replace( + /js-navigation-item/g, + "function-button js-navigation-item select-menu-item", + ); var suggestions = document.createElement("div"); suggestions.innerHTML = suggestionsData; @@ -719,17 +1237,18 @@ emojiSuggestions.dataset.filterableFor = "context-emoji-filter-field"; emojiSuggestions.dataset.filterableLimit = "10"; - var suggester = commentForm.parentNode.parentNode.querySelector(".suggester"); + var suggester = + commentForm.parentNode.parentNode.querySelector(".suggester"); suggester.style.display = "block"; suggester.style.marginTop = "0"; suggester.appendChild(emojiSuggestions); var buttons = suggester.querySelectorAll(".function-button"); - Array.prototype.forEach.call(buttons, function(button) { + Array.prototype.forEach.call(buttons, function (button) { button.commentForm = commentForm; button.id = "function-emoji"; button.addEventListener("click", buttonEvent, false); - unsafeWindow.$(button).on("navigation:keydown", function(e) { + unsafeWindow.$(button).on("navigation:keydown", function (e) { if (e.hotkey === "enter") { buttonEvent.call(this, e); } @@ -741,23 +1260,37 @@ var sponsoredText = " Enhanced by Github Comment Enhancer"; var sponsored = document.createElement("a"); sponsored.setAttribute("target", "_blank"); - sponsored.setAttribute("href", "https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme"); + sponsored.setAttribute( + "href", + "https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme", + ); sponsored.classList.add("tabnav-extra"); sponsored.style.cssFloat = "right"; - var sponsoredSvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + var sponsoredSvg = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); sponsoredSvg.classList.add("octicon", "octicon-question"); sponsoredSvg.setAttribute("height", "16"); sponsoredSvg.setAttribute("width", "16"); sponsored.appendChild(sponsoredSvg); - var sponsoredPath = document.createElementNS("http://www.w3.org/2000/svg", "path"); - sponsoredPath.setAttribute("d", "M6 10h2v2H6V10z m4-3.5c0 2.14-2 2.5-2 2.5H6c0-0.55 0.45-1 1-1h0.5c0.28 0 0.5-0.22 0.5-0.5v-1c0-0.28-0.22-0.5-0.5-0.5h-1c-0.28 0-0.5 0.22-0.5 0.5v0.5H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z"); + var sponsoredPath = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + sponsoredPath.setAttribute( + "d", + "M6 10h2v2H6V10z m4-3.5c0 2.14-2 2.5-2 2.5H6c0-0.55 0.45-1 1-1h0.5c0.28 0 0.5-0.22 0.5-0.5v-1c0-0.28-0.22-0.5-0.5-0.5h-1c-0.28 0-0.5 0.22-0.5 0.5v0.5H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z", + ); sponsoredSvg.appendChild(sponsoredPath); sponsored.appendChild(document.createTextNode(sponsoredText)); return sponsored; } function removeGitHubToolbar(commentForm) { - var toolbar = commentForm.parentNode.parentNode.querySelector(".toolbar-commenting"); + var toolbar = commentForm.parentNode.parentNode.querySelector( + ".toolbar-commenting", + ); if (toolbar) { toolbar.parentNode.replaceChild(addSponsorLink(), toolbar); } @@ -766,20 +1299,23 @@ function commentFormKeyEvent(commentForm, e) { var keys = []; if (e.altKey) { - keys.push('alt'); + keys.push("alt"); } if (e.ctrlKey) { - keys.push('ctrl'); + keys.push("ctrl"); } if (e.shiftKey) { - keys.push('shift'); + keys.push("shift"); } keys.push(String.fromCharCode(e.which).toLowerCase()); - var keyCombination = keys.join('+'); + var keyCombination = keys.join("+"); var action; for (var actionName in MarkDown) { - if (MarkDown[actionName].shortcut && MarkDown[actionName].shortcut.toLowerCase() === keyCombination) { + if ( + MarkDown[actionName].shortcut && + MarkDown[actionName].shortcut.toLowerCase() === keyCombination + ) { action = MarkDown[actionName]; break; } @@ -793,26 +1329,37 @@ } function addToolbar() { - var editors = document.querySelectorAll(".comment-form-textarea,.js-comment-field"); + var editors = document.querySelectorAll( + ".comment-form-textarea,.js-comment-field", + ); if (editors.length > 0) { - if (isWiki()) { // Override existing language with improved & missing functions and remove existing click events; overrideGollumMarkdown(); unbindGollumFunctions(); // Remove existing click events when changing languages; - document.getElementById("wiki_format").addEventListener("change", function() { - unbindGollumFunctions(); - - var buttons = document.querySelectorAll(".comment-form-textarea .function-button"); - Array.prototype.forEach.call(buttons, function(button) { - button.removeEventListener("click", buttonEvent); + document + .getElementById("wiki_format") + .addEventListener("change", function () { + unbindGollumFunctions(); + + var buttons = document.querySelectorAll( + ".comment-form-textarea .function-button", + ); + Array.prototype.forEach.call( + buttons, + function (button) { + button.removeEventListener( + "click", + buttonEvent, + ); + }, + ); }); - }); } - Array.prototype.forEach.call(editors, function(commentForm) { + Array.prototype.forEach.call(editors, function (commentForm) { var gollumEditor; if (commentForm.classList.contains("GithubCommentEnhancer")) { gollumEditor = commentForm.previousSibling; @@ -820,194 +1367,317 @@ commentForm.classList.add("GithubCommentEnhancer"); if (isWiki()) { - gollumEditor = document.getElementById("gollum-editor-function-bar"); + gollumEditor = document.getElementById( + "gollum-editor-function-bar", + ); var helpButton = document.createElement("div"); helpButton.classList.add("button-group", "btn-group"); - helpButton.appendChild(document.getElementById("function-help")); + helpButton.appendChild( + document.getElementById("function-help"), + ); var tempLeft = document.createElement("div"); tempLeft.innerHTML = toolBarLeftHTML; - gollumEditor.replaceChild(tempLeft, document.getElementById("gollum-editor-function-buttons")); + gollumEditor.replaceChild( + tempLeft, + document.getElementById( + "gollum-editor-function-buttons", + ), + ); var tempRight = document.createElement("div"); tempRight.innerHTML = toolBarRightHTML; - tempRight.firstElementChild.appendChild(document.createTextNode(" ")); // extra space; + tempRight.firstElementChild.appendChild( + document.createTextNode(" "), + ); // extra space; tempRight.firstElementChild.appendChild(helpButton); // restore the help button; gollumEditor.appendChild(tempRight); tempLeft = tempRight = null; } else { gollumEditor = document.createElement("div"); - gollumEditor.innerHTML = toolBarLeftHTML + toolBarRightHTML; + gollumEditor.innerHTML = + toolBarLeftHTML + toolBarRightHTML; gollumEditor.id = "gollum-editor-function-bar"; gollumEditor.style.height = "26px"; gollumEditor.style.margin = "10px 0"; gollumEditor.classList.add("active"); - commentForm.parentNode.insertBefore(gollumEditor, commentForm); + commentForm.parentNode.insertBefore( + gollumEditor, + commentForm, + ); removeGitHubToolbar(commentForm); } // Execute next block only when suggester is available; - if (commentForm.parentNode.parentNode.querySelector(".suggester-container")) { + if ( + commentForm.parentNode.parentNode.querySelector( + ".suggester-container", + ) + ) { fixSuggesterMenu(commentForm); addSuggestions(commentForm); } else { - Array.prototype.forEach.call(gollumEditor.parentNode.querySelectorAll(".suggester-function"), function(button) { - button.style.display = "none"; - }); + Array.prototype.forEach.call( + gollumEditor.parentNode.querySelectorAll( + ".suggester-function", + ), + function (button) { + button.style.display = "none"; + }, + ); } addCodeSyntax(commentForm); } - Array.prototype.forEach.call(gollumEditor.parentNode.querySelectorAll(".function-button"), function(button) { - button.commentForm = commentForm; // remove event listener doesn't accept `bind`; - button.addEventListener("click", buttonEvent, false); - unsafeWindow.$(button).on("navigation:keydown", function(e) { - if (e.hotkey === "enter") { - buttonEvent.call(this, e); - } - }); - }); + Array.prototype.forEach.call( + gollumEditor.parentNode.querySelectorAll( + ".function-button", + ), + function (button) { + button.commentForm = commentForm; // remove event listener doesn't accept `bind`; + button.addEventListener("click", buttonEvent, false); + unsafeWindow + .$(button) + .on("navigation:keydown", function (e) { + if (e.hotkey === "enter") { + buttonEvent.call(this, e); + } + }); + }, + ); - commentForm.addEventListener('keydown', commentFormKeyEvent.bind(this, commentForm)); + commentForm.addEventListener( + "keydown", + commentFormKeyEvent.bind(this, commentForm), + ); }); } } function overrideGollumDialog() { if (unsafeWindow.$.GollumDialog === undefined) { - (function(e) { + (function (e) { var t = { markupCreated: !1, markup: "", - attachEvents: function(o) { - e("#gollum-dialog-action-ok").click(function(e) { - t.eventOK(e, o); - }), - e("#gollum-dialog-action-cancel").click(t.eventCancel), - e('#gollum-dialog-dialog input[type="text"]').keydown(function(e) { + attachEvents: function (o) { + e("#gollum-dialog-action-ok").click(function (e) { + t.eventOK(e, o); + }), + e("#gollum-dialog-action-cancel").click( + t.eventCancel, + ), + e( + '#gollum-dialog-dialog input[type="text"]', + ).keydown(function (e) { 13 === e.keyCode && t.eventOK(e, o); }); }, - detachEvents: function() { + detachEvents: function () { e("#gollum-dialog-action-ok").unbind("click"), e("#gollum-dialog-action-cancel").unbind("click"); }, - createFieldMarkup: function(e) { + createFieldMarkup: function (e) { for (var o = "
    ", n = 0; n < e.length; n++) if ("object" === typeof e[n]) { - switch (o += '
    ', - e[n].type) { + switch ( + ((o += '
    '), e[n].type) + ) { case "text": o += t.createFieldText(e[n]); } o += "
    "; } - return o += "
    "; + return (o += ""); }, - createFieldText: function(e) { + createFieldText: function (e) { var t = ""; - return e.name && (t += ""), - t += '")), + (t += ''), - t; + (t += + ' id="gollum-dialog-dialog-generated-field-' + + e.id + + '">')), + t + ); }, - createMarkup: function(o, n) { - return t.markupCreated = !0, - e.facebox ? '

    ' + o + '

    ' + n + '
    ' : '

    ' + o + '

    ' + n + '
    '; + createMarkup: function (o, n) { + return ( + (t.markupCreated = !0), + e.facebox + ? '

    ' + + o + + '

    ' + + n + + '
    ' + : '

    ' + + o + + '

    ' + + n + + '
    ' + ); }, - eventCancel: function(e) { - e.preventDefault(), - t.hide(); + eventCancel: function (e) { + e.preventDefault(), t.hide(); }, - eventOK: function(o, n) { + eventOK: function (o, n) { o.preventDefault(); var a = []; - e("#gollum-dialog-dialog-body input").each(function() { - a[e(this).attr("name")] = e(this).val(); - }), + e("#gollum-dialog-dialog-body input").each(function () { + a[e(this).attr("name")] = e(this).val(); + }), n && "function" === typeof n && n(a), t.hide(); }, - hide: function() { - e.facebox ? (t.markupCreated = !1, - e(document).trigger("close.facebox"), - t.detachEvents()) : e.browser.msie ? (e("#gollum-dialog-dialog").hide().removeClass("active"), - e("select").css("visibility", "visible")) : e("#gollum-dialog-dialog").animate({ - opacity: 0 - }, { - duration: 200, - complete: function() { - e("#gollum-dialog-dialog").removeClass("active"); - } - }); + hide: function () { + e.facebox + ? ((t.markupCreated = !1), + e(document).trigger("close.facebox"), + t.detachEvents()) + : e.browser.msie + ? (e("#gollum-dialog-dialog") + .hide() + .removeClass("active"), + e("select").css("visibility", "visible")) + : e("#gollum-dialog-dialog").animate( + { + opacity: 0, + }, + { + duration: 200, + complete: function () { + e( + "#gollum-dialog-dialog", + ).removeClass("active"); + }, + }, + ); }, - init: function(o) { + init: function (o) { var n = "", a = ""; - o && "object" === typeof o && (o.body && "string" === typeof o.body && (a = "

    " + o.body + "

    "), - o.fields && "object" === typeof o.fields && (a += t.createFieldMarkup(o.fields)), - o.title && "string" === typeof o.title && (n = o.title), - t.markupCreated && (e.facebox ? e(document).trigger("close.facebox") : e("#gollum-dialog-dialog").remove()), - t.markup = t.createMarkup(n, a), - e.facebox ? e(document).bind("reveal.facebox", function() { - o.OK && "function" === typeof o.OK && (t.attachEvents(o.OK), - e(e('#facebox input[type="text"]').get(0)).focus()); - }) : (e("body").append(t.markup), - o.OK && "function" === typeof o.OK && t.attachEvents(o.OK)), + o && + "object" === typeof o && + (o.body && + "string" === typeof o.body && + (a = "

    " + o.body + "

    "), + o.fields && + "object" === typeof o.fields && + (a += t.createFieldMarkup(o.fields)), + o.title && + "string" === typeof o.title && + (n = o.title), + t.markupCreated && + (e.facebox + ? e(document).trigger("close.facebox") + : e("#gollum-dialog-dialog").remove()), + (t.markup = t.createMarkup(n, a)), + e.facebox + ? e(document).bind( + "reveal.facebox", + function () { + o.OK && + "function" === typeof o.OK && + (t.attachEvents(o.OK), + e( + e( + '#facebox input[type="text"]', + ).get(0), + ).focus()); + }, + ) + : (e("body").append(t.markup), + o.OK && + "function" === typeof o.OK && + t.attachEvents(o.OK)), t.show()); }, - show: function() { - t.markupCreated && (e.facebox ? e.facebox(t.markup) : e.browser.msie ? (e("#gollum-dialog.dialog").addClass("active"), - t.position(), - e("select").css("visibility", "hidden")) : (e("#gollum-dialog.dialog").css("display", "none"), - e("#gollum-dialog-dialog").animate({ - opacity: 0 - }, { - duration: 0, - complete: function() { - e("#gollum-dialog-dialog").css("display", "block"), + show: function () { + t.markupCreated && + (e.facebox + ? e.facebox(t.markup) + : e.browser.msie + ? (e("#gollum-dialog.dialog").addClass( + "active", + ), t.position(), - e("#gollum-dialog-dialog").animate({ - opacity: 1 - }, { - duration: 500 - }); - } - }))); + e("select").css("visibility", "hidden")) + : (e("#gollum-dialog.dialog").css( + "display", + "none", + ), + e("#gollum-dialog-dialog").animate( + { + opacity: 0, + }, + { + duration: 0, + complete: function () { + e( + "#gollum-dialog-dialog", + ).css("display", "block"), + t.position(), + e( + "#gollum-dialog-dialog", + ).animate( + { + opacity: 1, + }, + { + duration: 500, + }, + ); + }, + }, + ))); }, - position: function() { + position: function () { var t = e("#gollum-dialog-dialog-inner").height(); - e("#gollum-dialog-dialog-inner").css("height", t + "px").css("margin-top", -1 * parseInt(t / 2)); - } + e("#gollum-dialog-dialog-inner") + .css("height", t + "px") + .css("margin-top", -1 * parseInt(t / 2)); + }, }; - e.facebox && e(document).bind("reveal.facebox", function() { + e.facebox && + e(document).bind("reveal.facebox", function () { e("#facebox img.close_image").remove(); }), - e.GollumDialog = t; + (e.GollumDialog = t); })(unsafeWindow.$); } else { - unsafeWindow.$.GollumEditor.Dialog.createFieldText = unsafeWindow.$.GollumDialog.createFieldText = function(e) { - var t = ""; - return e.name && (t += ""), - t += ''), - t; - }; + unsafeWindow.$.GollumEditor.Dialog.createFieldText = + unsafeWindow.$.GollumDialog.createFieldText = function (e) { + var t = ""; + return ( + e.name && + ((t += "")), + (t += '')), + t + ); + }; } } @@ -1021,89 +1691,129 @@ * - Added task list support: https://github.com/domchristie/to-markdown/pull/62 * - He dependency is removed */ - var toMarkdown = function(string) { - - var ELEMENTS = [{ - patterns: 'p', - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '\n\n' + innerHTML + '\n' : ''; - } - }, { - patterns: 'br', - type: 'void', - replacement: ' \n' - }, { - patterns: 'h([1-6])', - replacement: function(str, hLevel, attrs, innerHTML) { - var hPrefix = ''; - for (var i = 0; i < hLevel; i++) { - hPrefix += '#'; - } - return '\n\n' + hPrefix + ' ' + innerHTML + '\n'; - } - }, { - patterns: 'hr', - type: 'void', - replacement: '\n\n* * *\n' - }, { - patterns: 'a', - replacement: function(str, attrs, innerHTML) { - var href = attrs.match(attrRegExp('href')), - title = attrs.match(attrRegExp('title')); - return href ? '[' + innerHTML + ']' + '(' + href[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : str; - } - }, { - patterns: ['b', 'strong'], - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '**' + innerHTML + '**' : ''; - } - }, { - patterns: ['i', 'em'], - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '_' + innerHTML + '_' : ''; - } - }, { - patterns: 'code', - replacement: function(str, attrs, innerHTML) { - return innerHTML ? '`' + innerHTML + '`' : ''; - } - }, { - patterns: 'img', - type: 'void', - replacement: function(str, attrs) { - var src = attrs.match(attrRegExp('src')), - alt = attrs.match(attrRegExp('alt')), - title = attrs.match(attrRegExp('title')); - return src ? '![' + (alt && alt[1] ? alt[1] : '') + ']' + '(' + src[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : ''; - } - }]; + var toMarkdown = function (string) { + var ELEMENTS = [ + { + patterns: "p", + replacement: function (str, attrs, innerHTML) { + return innerHTML ? "\n\n" + innerHTML + "\n" : ""; + }, + }, + { + patterns: "br", + type: "void", + replacement: " \n", + }, + { + patterns: "h([1-6])", + replacement: function (str, hLevel, attrs, innerHTML) { + var hPrefix = ""; + for (var i = 0; i < hLevel; i++) { + hPrefix += "#"; + } + return "\n\n" + hPrefix + " " + innerHTML + "\n"; + }, + }, + { + patterns: "hr", + type: "void", + replacement: "\n\n* * *\n", + }, + { + patterns: "a", + replacement: function (str, attrs, innerHTML) { + var href = attrs.match(attrRegExp("href")), + title = attrs.match(attrRegExp("title")); + return href + ? "[" + + innerHTML + + "]" + + "(" + + href[1] + + (title && title[1] + ? ' "' + title[1] + '"' + : "") + + ")" + : str; + }, + }, + { + patterns: ["b", "strong"], + replacement: function (str, attrs, innerHTML) { + return innerHTML ? "**" + innerHTML + "**" : ""; + }, + }, + { + patterns: ["i", "em"], + replacement: function (str, attrs, innerHTML) { + return innerHTML ? "_" + innerHTML + "_" : ""; + }, + }, + { + patterns: "code", + replacement: function (str, attrs, innerHTML) { + return innerHTML ? "`" + innerHTML + "`" : ""; + }, + }, + { + patterns: "img", + type: "void", + replacement: function (str, attrs) { + var src = attrs.match(attrRegExp("src")), + alt = attrs.match(attrRegExp("alt")), + title = attrs.match(attrRegExp("title")); + return src + ? "![" + + (alt && alt[1] ? alt[1] : "") + + "]" + + "(" + + src[1] + + (title && title[1] + ? ' "' + title[1] + '"' + : "") + + ")" + : ""; + }, + }, + ]; for (var i = 0, len = ELEMENTS.length; i < len; i++) { - if (typeof ELEMENTS[i].patterns === 'string') { + if (typeof ELEMENTS[i].patterns === "string") { string = replaceEls(string, { tag: ELEMENTS[i].patterns, replacement: ELEMENTS[i].replacement, - type: ELEMENTS[i].type + type: ELEMENTS[i].type, }); } else { - for (var j = 0, pLen = ELEMENTS[i].patterns.length; j < pLen; j++) { + for ( + var j = 0, pLen = ELEMENTS[i].patterns.length; + j < pLen; + j++ + ) { string = replaceEls(string, { tag: ELEMENTS[i].patterns[j], replacement: ELEMENTS[i].replacement, - type: ELEMENTS[i].type + type: ELEMENTS[i].type, }); } } } function replaceEls(html, elProperties) { - var pattern = elProperties.type === 'void' ? '<' + elProperties.tag + '\\b([^>]*)\\/?>' : '<' + elProperties.tag + '\\b([^>]*)>([\\s\\S]*?)<\\/' + elProperties.tag + '>', - regex = new RegExp(pattern, 'gi'), - markdown = ''; - if (typeof elProperties.replacement === 'string') { + var pattern = + elProperties.type === "void" + ? "<" + elProperties.tag + "\\b([^>]*)\\/?>" + : "<" + + elProperties.tag + + "\\b([^>]*)>([\\s\\S]*?)<\\/" + + elProperties.tag + + ">", + regex = new RegExp(pattern, "gi"), + markdown = ""; + if (typeof elProperties.replacement === "string") { markdown = html.replace(regex, elProperties.replacement); } else { - markdown = html.replace(regex, function(str, p1, p2, p3) { + markdown = html.replace(regex, function (str, p1, p2, p3) { return elProperties.replacement.call(this, str, p1, p2, p3); }); } @@ -1111,24 +1821,27 @@ } function attrRegExp(attr) { - return new RegExp(attr + '\\s*=\\s*["\']?([^"\']*)["\']?', 'i'); + return new RegExp(attr + "\\s*=\\s*[\"']?([^\"']*)[\"']?", "i"); } // Pre code blocks - string = string.replace(/]*>`([\s\S]*?)`<\/pre>/gi, function(str, innerHTML) { - var text = innerHTML; - text = text.replace(/^\t+/g, ' '); // convert tabs to spaces (you know it makes sense) - text = text.replace(/\n/g, '\n '); - return '\n\n ' + text + '\n'; - }); + string = string.replace( + /]*>`([\s\S]*?)`<\/pre>/gi, + function (str, innerHTML) { + var text = innerHTML; + text = text.replace(/^\t+/g, " "); // convert tabs to spaces (you know it makes sense) + text = text.replace(/\n/g, "\n "); + return "\n\n " + text + "\n"; + }, + ); // Lists // Escape numbers that could trigger an ol // If there are more than three spaces before the code, it would be in a pre tag // Make sure we are escaping the period not matching any character - string = string.replace(/^(\s{0,3}\d+)\. /g, '$1\\. '); + string = string.replace(/^(\s{0,3}\d+)\. /g, "$1\\. "); // Converts lists that have no child lists (of same type) first, then works its way up var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!/gi; @@ -1137,54 +1850,73 @@ } function replaceLists(html) { - - html = html.replace(/<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, function(str, listType, innerHTML) { - var lis = innerHTML.split(''); - lis.splice(lis.length - 1, 1); - - for (i = 0, len = lis.length; i < len; i++) { - if (lis[i]) { - var prefix = (listType === 'ol') ? (i + 1) + ". " : "* "; - lis[i] = lis[i].replace(/\s*]*>([\s\S]*)/i, function(str, innerHTML) { - innerHTML = innerHTML.replace(/\s*]*?(checked[^>]*)?type=['"]?checkbox['"]?[^>]>/, function(inputStr, checked) { - return checked ? '[X]' : '[ ]'; - }); - innerHTML = innerHTML.replace(/^\s+/, ''); - innerHTML = innerHTML.replace(/\n\n/g, '\n\n '); - // indent nested lists - innerHTML = innerHTML.replace(/\n([ ]*)+(\*|\d+\.) /g, '\n$1 $2 '); - return prefix + innerHTML; - }); + html = html.replace( + /<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, + function (str, listType, innerHTML) { + var lis = innerHTML.split(""); + lis.splice(lis.length - 1, 1); + + for (i = 0, len = lis.length; i < len; i++) { + if (lis[i]) { + var prefix = + listType === "ol" ? i + 1 + ". " : "* "; + lis[i] = lis[i].replace( + /\s*]*>([\s\S]*)/i, + function (str, innerHTML) { + innerHTML = innerHTML.replace( + /\s*]*?(checked[^>]*)?type=['"]?checkbox['"]?[^>]>/, + function (inputStr, checked) { + return checked ? "[X]" : "[ ]"; + }, + ); + innerHTML = innerHTML.replace(/^\s+/, ""); + innerHTML = innerHTML.replace( + /\n\n/g, + "\n\n ", + ); + // indent nested lists + innerHTML = innerHTML.replace( + /\n([ ]*)+(\*|\d+\.) /g, + "\n$1 $2 ", + ); + return prefix + innerHTML; + }, + ); + } + lis[i] = lis[i].replace(/(.) +$/m, "$1"); } - lis[i] = lis[i].replace(/(.) +$/m, '$1'); - } - return lis.join('\n'); - }); + return lis.join("\n"); + }, + ); - return '\n\n' + html.replace(/[ \t]+\n|\s+$/g, ''); + return "\n\n" + html.replace(/[ \t]+\n|\s+$/g, ""); } // Blockquotes - var deepest = /]*>((?:(?!/gi; + var deepest = + /]*>((?:(?!/gi; while (string.match(deepest)) { string = string.replace(deepest, replaceBlockquotes); } function replaceBlockquotes(html) { - html = html.replace(/]*>([\s\S]*?)<\/blockquote>/gi, function(str, inner) { - inner = inner.replace(/^\s+|\s+$/g, ''); - inner = cleanUp(inner); - inner = inner.replace(/^/gm, '> '); - inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, '> >'); - return inner; - }); + html = html.replace( + /]*>([\s\S]*?)<\/blockquote>/gi, + function (str, inner) { + inner = inner.replace(/^\s+|\s+$/g, ""); + inner = cleanUp(inner); + inner = inner.replace(/^/gm, "> "); + inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, "> >"); + return inner; + }, + ); return html; } function cleanUp(string) { - string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); // trim leading/trailing whitespace - string = string.replace(/\n\s+\n/g, '\n\n'); - string = string.replace(/\n{3,}/g, '\n\n'); // limit consecutive line-breaks to 2 + string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ""); // trim leading/trailing whitespace + string = string.replace(/\n\s+\n/g, "\n\n"); + string = string.replace(/\n{3,}/g, "\n\n"); // limit consecutive line-breaks to 2 return string; } @@ -1193,84 +1925,125 @@ function getCommentTextarea(replyBtn) { var newComment = replyBtn; - while (newComment && !newComment.classList.contains('js-quote-selection-container')) { + while ( + newComment && + !newComment.classList.contains("js-quote-selection-container") + ) { newComment = newComment.parentNode; } if (newComment) { var lastElementChild = newComment.lastElementChild; - lastElementChild.classList.add('open'); - newComment = lastElementChild.querySelector(".comment-form-textarea"); + lastElementChild.classList.add("open"); + newComment = lastElementChild.querySelector( + ".comment-form-textarea", + ); } else { - newComment = document.querySelector(".timeline-new-comment .comment-form-textarea"); + newComment = document.querySelector( + ".timeline-new-comment .comment-form-textarea", + ); } return newComment; } function addReplyButtons() { - Array.prototype.forEach.call(document.querySelectorAll(".comment"), function(comment) { - var oldReply = comment.querySelector(".GithubCommentEnhancerReply"); - if (oldReply) { - oldReply.parentNode.removeChild(oldReply); - } - - var header = comment.querySelector(".timeline-comment-header"), - actions = comment.querySelector(".timeline-comment-actions"); - - if (!header) { - return; - } - if (!actions) { - actions = document.createElement("div"); - actions.classList.add("timeline-comment-actions"); - header.insertBefore(actions, header.firstElementChild); - } - - var reply = document.createElement("a"); - reply.setAttribute("href", "#"); - reply.setAttribute("aria-label", "Reply to this comment"); - reply.classList.add("GithubCommentEnhancerReply", "timeline-comment-action", "tooltipped", "tooltipped-ne"); - reply.addEventListener("click", function(e) { - e.preventDefault(); - - var newComment = getCommentTextarea(this); + Array.prototype.forEach.call( + document.querySelectorAll(".comment"), + function (comment) { + var oldReply = comment.querySelector( + ".GithubCommentEnhancerReply", + ); + if (oldReply) { + oldReply.parentNode.removeChild(oldReply); + } - var timestamp = comment.querySelector(".timestamp"); + var header = comment.querySelector(".timeline-comment-header"), + actions = comment.querySelector( + ".timeline-comment-actions", + ); - var commentText = comment.querySelector(".comment-form-textarea"); - if (commentText) { - commentText = commentText.value; - } else { - commentText = toMarkdown(comment.querySelector(".comment-body").innerHTML); + if (!header) { + return; + } + if (!actions) { + actions = document.createElement("div"); + actions.classList.add("timeline-comment-actions"); + header.insertBefore(actions, header.firstElementChild); } - commentText = commentText.trim().split("\n").map(function(line) { - return "> " + line; - }).join("\n"); - - var text = newComment.value.length > 0 ? "\n" : ""; - text += String.format('[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Comment Enhancer"):\n{5}\n\n', - comment.querySelector(".author").textContent, - location.origin, - timestamp.firstElementChild.getAttribute("title"), - timestamp.href, - timestamp.firstElementChild.getAttribute("datetime"), - commentText); - - newComment.value += text; - newComment.setSelectionRange(newComment.value.length, newComment.value.length); - newComment.focus(); - }); - var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - svg.classList.add("octicon", "octicon-mail-reply"); - svg.setAttribute("height", "16"); - svg.setAttribute("width", "16"); - reply.appendChild(svg); - var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - path.setAttribute("d", "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z"); - svg.appendChild(path); + var reply = document.createElement("a"); + reply.setAttribute("href", "#"); + reply.setAttribute("aria-label", "Reply to this comment"); + reply.classList.add( + "GithubCommentEnhancerReply", + "timeline-comment-action", + "tooltipped", + "tooltipped-ne", + ); + reply.addEventListener("click", function (e) { + e.preventDefault(); + + var newComment = getCommentTextarea(this); + + var timestamp = comment.querySelector(".timestamp"); + + var commentText = comment.querySelector( + ".comment-form-textarea", + ); + if (commentText) { + commentText = commentText.value; + } else { + commentText = toMarkdown( + comment.querySelector(".comment-body").innerHTML, + ); + } + commentText = commentText + .trim() + .split("\n") + .map(function (line) { + return "> " + line; + }) + .join("\n"); + + var text = newComment.value.length > 0 ? "\n" : ""; + text += String.format( + '[**@{0}**]({1}/{0}) commented on [{2}]({3} "{4} - Replied by Github Comment Enhancer"):\n{5}\n\n', + comment.querySelector(".author").textContent, + location.origin, + timestamp.firstElementChild.getAttribute("title"), + timestamp.href, + timestamp.firstElementChild.getAttribute("datetime"), + commentText, + ); + + newComment.value += text; + newComment.setSelectionRange( + newComment.value.length, + newComment.value.length, + ); + newComment.focus(); + }); - actions.appendChild(reply); - }); + var svg = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + svg.classList.add("octicon", "octicon-mail-reply"); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); + reply.appendChild(svg); + var path = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + path.setAttribute( + "d", + "M6 2.5l-6 4.5 6 4.5v-3c1.73 0 5.14 0.95 6 4.38 0-4.55-3.06-7.05-6-7.38v-3z", + ); + svg.appendChild(path); + + actions.appendChild(reply); + }, + ); } // init; @@ -1285,19 +2058,18 @@ unsafeWindow.$(document).on("pjax:end", init); // `pjax:end` also runs on history back; // For inline comments on commits; - var files = document.querySelectorAll('.diff-table'); - Array.prototype.forEach.call(files, function(file) { + var files = document.querySelectorAll(".diff-table"); + Array.prototype.forEach.call(files, function (file) { file = file.querySelector(".diff-table > tbody"); - new MutationObserver(function(mutations) { - mutations.forEach(function(mutation) { + new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { if (mutation.target === file) { addToolbar(); } }); }).observe(file, { childList: true, - subtree: true + subtree: true, }); }); - })(typeof unsafeWindow !== "undefined" ? unsafeWindow : window); diff --git a/Github_Comment_Enhancer/README.md b/Github_Comment_Enhancer/README.md index 2cbd3c8..8c9cfc5 100644 --- a/Github_Comment_Enhancer/README.md +++ b/Github_Comment_Enhancer/README.md @@ -4,10 +4,9 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Notice -*THIS USERSCRIPT IS SADLY **DEPRECATED***. Most of this UserScript functionality has been [implemented by GitHub](https://github.com/blog/2097-improved-commenting-with-markdown). The *reply*-feature that GitHub didn't implement, has been moved to it's own UserScript: [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme). +\*THIS USERSCRIPT IS SADLY **DEPRECATED\***. Most of this UserScript functionality has been [implemented by GitHub](https://github.com/blog/2097-improved-commenting-with-markdown). The _reply_-feature that GitHub didn't implement, has been moved to it's own UserScript: [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme). ## Description @@ -16,34 +15,34 @@ Add features to enhance comments & wiki & contact page on [Github](https://githu You can reply to issues, pull requests and inline comments by pressing the reply button on every comment. Every comment field also got a toolbar, consisting of the following buttons: -* Bold (ctrl+b) -* Italic (ctrl+i) -* Underline (ctrl+u) -* Strikethrough (ctrl+s) -* Headers - * Header 1 (ctrl+1) - * Header 2 (ctrl+2) - * Header 3 (ctrl+3) - * Header 4 (ctrl+4) - * Header 5 (ctrl+5) - * Header 6 (ctrl+6) -* Link (ctrl+l) -* Image (ctrl+g) -* Unordered List (alt+ctrl+u) -* Ordered List (alt+ctrl+o) -* Task List (alt+ctrl+t) -* Code (ctrl+k) - * Syntax highlighting -* Quote (ctrl+q) -* Horizontal Rule (ctrl+r) -* Table (alt+shift+t) -* Snippets - * Tab character - * UserAgent - * Contributing message -* Emoji -* Clear content (alt+ctrl+x) +- Bold (ctrl+b) +- Italic (ctrl+i) +- Underline (ctrl+u) +- Strikethrough (ctrl+s) +- Headers + - Header 1 (ctrl+1) + - Header 2 (ctrl+2) + - Header 3 (ctrl+3) + - Header 4 (ctrl+4) + - Header 5 (ctrl+5) + - Header 6 (ctrl+6) +- Link (ctrl+l) +- Image (ctrl+g) +- Unordered List (alt+ctrl+u) +- Ordered List (alt+ctrl+o) +- Task List (alt+ctrl+t) +- Code (ctrl+k) + - Syntax highlighting +- Quote (ctrl+q) +- Horizontal Rule (ctrl+r) +- Table (alt+shift+t) +- Snippets + - Tab character + - UserAgent + - Contributing message +- Emoji +- Clear content (alt+ctrl+x) ## Screenshot diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index c19fb7c..17c2437 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -22,114 +22,164 @@ // cSpell:ignore tooltipped, diffbar -(function() { - - function addButton() { - var e - if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById('toc'))) { - - var r = e.querySelector('.GithubCommitDiffButton') - if (r) { - r.parentElement.removeChild(r) - } - - var b = e.querySelector('.toc-diff-stats') - - const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg') - s.classList.add('octicon', 'octicon-diff') - s.setAttributeNS(null, 'height', 16) - s.setAttributeNS(null, 'width', 14) - s.setAttributeNS(null, 'viewBox', '0 0 14 16') - - const p = document.createElementNS('http://www.w3.org/2000/svg', 'path') - p.setAttributeNS(null, 'd', 'M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z') - s.appendChild(p) - - var a = document.createElement('a') - a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n') - a.setAttribute('href', getPatchOrDiffHref('diff')) - a.setAttribute('rel', 'nofollow') - a.setAttribute('aria-label', 'Show commit diff.\r\nHold Shift to open commit patch.') - a.appendChild(s) - a.appendChild(document.createTextNode(' Diff')) - - var g = document.createElement('div') - g.classList.add('GithubCommitDiffButton', 'float-right') - g.style.margin = '0 10px 0 0' // Give us some room - g.appendChild(a) - - b.parentNode.insertBefore(g, b) - - a.addEventListener('mousedown', mousedownEvent, false) - a.addEventListener('mouseout', function() { - a.setAttribute('href', getPatchOrDiffHref('diff')) - }, false) - } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector('#files_bucket .pr-toolbar .diffbar > .float-right'))) { - - var r = e.querySelector('.GithubCommitDiffButton') - if (r) { - r.parentElement.removeChild(r) - } - - const s = document.createElementNS('http://www.w3.org/2000/svg', 'svg') - s.classList.add('octicon', 'octicon-diff') - s.setAttributeNS(null, 'height', 16) - s.setAttributeNS(null, 'width', 14) - s.setAttributeNS(null, 'viewBox', '0 0 14 16') - - const p = document.createElementNS('http://www.w3.org/2000/svg', 'path') - p.setAttributeNS(null, 'd', 'M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z') - s.appendChild(p) - - var a = document.createElement('a') - a.classList.add('btn', 'btn-sm', 'btn-outline', 'tooltipped', 'tooltipped-s') - a.setAttribute('href', getPatchOrDiffHref('diff')) - a.setAttribute('rel', 'nofollow') - a.setAttribute('aria-label', 'Show commit diff.\r\nHold Shift to open commit patch.') - a.appendChild(s) - a.appendChild(document.createTextNode(' Diff')) - - var g = document.createElement('div') - g.classList.add('GithubCommitDiffButton', 'diffbar-item') - g.appendChild(a) - - e.insertBefore(g, e.firstChild) - - a.addEventListener('mousedown', mousedownEvent, false) - a.addEventListener('mouseout', function() { - a.setAttribute('href', getPatchOrDiffHref('diff')) - }, false) - } - } - - function mousedownEvent(e) { - if (e.shiftKey) { - var patch = getPatchOrDiffHref('patch') - e.preventDefault() - this.setAttribute('href', patch) - if (e.which === 1) { // left click - location.href = patch - // To prevent Firefox default behavior (opening a new window) - // when pressing shift-click on a link, delete the link. - this.parentElement.removeChild(this) - } else if (e.which === 2) { // Middle click - window.open(patch, 'GithubCommitDiff') - } - } else { - this.setAttribute('href', getPatchOrDiffHref('diff')) - } - } - - function getPatchOrDiffHref(type) { - return (document.querySelector('link[type="text/plain+' + type + '"]') || document.querySelector('link[type="text/x-' + type + '"]') || { - href: location.href + '.' + type - }).href - } - - // Init - addButton() - - // Pjax - document.addEventListener('pjax:end', addButton) - -})() +(function () { + function addButton() { + var e; + if ( + (/\/commit\//.test(location.href) || + /\/compare\//.test(location.href)) && + (e = document.getElementById("toc")) + ) { + var r = e.querySelector(".GithubCommitDiffButton"); + if (r) { + r.parentElement.removeChild(r); + } + + var b = e.querySelector(".toc-diff-stats"); + + const s = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + s.classList.add("octicon", "octicon-diff"); + s.setAttributeNS(null, "height", 16); + s.setAttributeNS(null, "width", 14); + s.setAttributeNS(null, "viewBox", "0 0 14 16"); + + const p = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + p.setAttributeNS( + null, + "d", + "M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z", + ); + s.appendChild(p); + + var a = document.createElement("a"); + a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); + a.setAttribute("href", getPatchOrDiffHref("diff")); + a.setAttribute("rel", "nofollow"); + a.setAttribute( + "aria-label", + "Show commit diff.\r\nHold Shift to open commit patch.", + ); + a.appendChild(s); + a.appendChild(document.createTextNode(" Diff")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitDiffButton", "float-right"); + g.style.margin = "0 10px 0 0"; // Give us some room + g.appendChild(a); + + b.parentNode.insertBefore(g, b); + + a.addEventListener("mousedown", mousedownEvent, false); + a.addEventListener( + "mouseout", + function () { + a.setAttribute("href", getPatchOrDiffHref("diff")); + }, + false, + ); + } else if ( + /\/pull\/\d*\/(files|commits)/.test(location.href) && + (e = document.querySelector( + "#files_bucket .pr-toolbar .diffbar > .float-right", + )) + ) { + var r = e.querySelector(".GithubCommitDiffButton"); + if (r) { + r.parentElement.removeChild(r); + } + + const s = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + s.classList.add("octicon", "octicon-diff"); + s.setAttributeNS(null, "height", 16); + s.setAttributeNS(null, "width", 14); + s.setAttributeNS(null, "viewBox", "0 0 14 16"); + + const p = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + p.setAttributeNS( + null, + "d", + "M6 7h2v1H6v2h-1V8H3v-1h2V5h1v2zM3 13h5v-1H3v1z m4.5-11l3.5 3.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1 1-1h6.5z m2.5 4L7 3H1v12h9V6zM8.5 0S3 0 3 0v1h5l4 4v8h1V4.5L8.5 0z", + ); + s.appendChild(p); + + var a = document.createElement("a"); + a.classList.add( + "btn", + "btn-sm", + "btn-outline", + "tooltipped", + "tooltipped-s", + ); + a.setAttribute("href", getPatchOrDiffHref("diff")); + a.setAttribute("rel", "nofollow"); + a.setAttribute( + "aria-label", + "Show commit diff.\r\nHold Shift to open commit patch.", + ); + a.appendChild(s); + a.appendChild(document.createTextNode(" Diff")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitDiffButton", "diffbar-item"); + g.appendChild(a); + + e.insertBefore(g, e.firstChild); + + a.addEventListener("mousedown", mousedownEvent, false); + a.addEventListener( + "mouseout", + function () { + a.setAttribute("href", getPatchOrDiffHref("diff")); + }, + false, + ); + } + } + + function mousedownEvent(e) { + if (e.shiftKey) { + var patch = getPatchOrDiffHref("patch"); + e.preventDefault(); + this.setAttribute("href", patch); + if (e.which === 1) { + // left click + location.href = patch; + // To prevent Firefox default behavior (opening a new window) + // when pressing shift-click on a link, delete the link. + this.parentElement.removeChild(this); + } else if (e.which === 2) { + // Middle click + window.open(patch, "GithubCommitDiff"); + } + } else { + this.setAttribute("href", getPatchOrDiffHref("diff")); + } + } + + function getPatchOrDiffHref(type) { + return ( + document.querySelector('link[type="text/plain+' + type + '"]') || + document.querySelector('link[type="text/x-' + type + '"]') || { + href: location.href + "." + type, + } + ).href; + } + + // Init + addButton(); + + // Pjax + document.addEventListener("pjax:end", addButton); +})(); diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index 6a52361..b2b6e02 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -17,81 +17,81 @@ This works on commits, pull requests and compare pages. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.6.7** +- **1.6.7** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **1.6.6** +- **1.6.6** - * Shift open `.patch` was broken (fixes [119](https://github.com/jerone/UserScripts/issues/119)). + - Shift open `.patch` was broken (fixes [119](https://github.com/jerone/UserScripts/issues/119)). -* **1.6.5** +- **1.6.5** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.6.4** +- **1.6.4** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.6.3** +- **1.6.3** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.6.2** +- **1.6.2** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.6.1** +- **1.6.1** - * Tooltips now on top. + - Tooltips now on top. -* **1.6** +- **1.6** - * Fixed align issue with new split diffs (fixes [24](https://github.com/jerone/UserScripts/issues/24)). + - Fixed align issue with new split diffs (fixes [24](https://github.com/jerone/UserScripts/issues/24)). -* **1.5** +- **1.5** - * Fixed issues after recent layout updates (fixes [8](https://github.com/jerone/UserScripts/issues/8)). + - Fixed issues after recent layout updates (fixes [8](https://github.com/jerone/UserScripts/issues/8)). -* **1.4** +- **1.4** - * Fixed middle & right mouse clicks. + - Fixed middle & right mouse clicks. -* **1.3** +- **1.3** - * Added to pull requests. - * Added to compare page. + - Added to pull requests. + - Added to compare page. -* **1.2** +- **1.2** - * Added support for Scriptish. + - Added support for Scriptish. -* **1.1** +- **1.1** - * Clean up. + - Clean up. -* **1.0** +- **1.0** - * Initial version. + - Initial version. ## Notes Use cases: -* (commit) +- (commit) -* (PR) +- (PR) -* +- (PR commit) -* (compare) +- (compare) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/77) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Diff) +- [Greasy Fork](https://greasyfork.org/scripts/77) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Diff) diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index 29b3053..c739535 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -20,75 +20,101 @@ // cSpell:ignore tooltipped, diffbar -(function() { - - function addButton() { - var e - if ((/\/commit\//.test(location.href) || /\/compare\//.test(location.href)) && (e = document.getElementById('toc'))) { - - var r = e.querySelector('.GithubCommitWhitespaceButton') - if (r) { - r.parentElement.removeChild(r) - } - - var on = /w=/.test(location.search) // Any occurrence results in enabling - - var b = e.querySelector('.toc-diff-stats') - - var a = document.createElement('a') - a.classList.add('btn', 'btn-sm', 'tooltipped', 'tooltipped-n') - if (on) { - a.classList.add('selected') - } - a.setAttribute('href', url(on)) - a.setAttribute('rel', 'nofollow') - a.setAttribute('aria-label', on ? 'Show commit whitespace' : 'Hide commit whitespace') - a.appendChild(document.createTextNode('\u2423')) - - var g = document.createElement('div') - g.classList.add('GithubCommitWhitespaceButton', 'float-right') - g.style.margin = '0 10px 0 0' // Give us some room - g.appendChild(a) - - b.parentNode.insertBefore(g, b) - } else if (/\/pull\/\d*\/(files|commits)/.test(location.href) && (e = document.querySelector('#files_bucket .pr-toolbar .diffbar > .pr-review-tools'))) { - - var r = e.querySelector('.GithubCommitWhitespaceButton') - if (r) { - r.parentElement.removeChild(r) - } - - var on = /w=/.test(location.search) // Any occurrence result in enabling - - var a = document.createElement('a') - a.classList.add('btn', 'btn-sm', 'btn-outline', 'tooltipped', 'tooltipped-s') - a.setAttribute('href', url(on)) - a.setAttribute('rel', 'nofollow') - a.setAttribute('aria-label', on ? 'Show commit whitespace' : 'Hide commit whitespace') - a.appendChild(document.createTextNode('\u2423')) - - var g = document.createElement('div') - g.classList.add('GithubCommitWhitespaceButton', 'diffbar-item') - g.appendChild(a) - - e.insertBefore(g, e.firstChild) - } - } - - function url(on) { - var searches = location.search.replace(/^\?/, '').split('&').filter(function(item) { - return item && !/w=.*/.test(item) - }) - if (!on) { - searches.push('w=1') - } - return location.href.replace(location.search, '').replace(location.hash, '') + (searches.length > 0 ? '?' + searches.join('&') : '') + location.hash; - } - - // Init - addButton() - - // Pjax - document.addEventListener('pjax:end', addButton) - -})() +(function () { + function addButton() { + var e; + if ( + (/\/commit\//.test(location.href) || + /\/compare\//.test(location.href)) && + (e = document.getElementById("toc")) + ) { + var r = e.querySelector(".GithubCommitWhitespaceButton"); + if (r) { + r.parentElement.removeChild(r); + } + + var on = /w=/.test(location.search); // Any occurrence results in enabling + + var b = e.querySelector(".toc-diff-stats"); + + var a = document.createElement("a"); + a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); + if (on) { + a.classList.add("selected"); + } + a.setAttribute("href", url(on)); + a.setAttribute("rel", "nofollow"); + a.setAttribute( + "aria-label", + on ? "Show commit whitespace" : "Hide commit whitespace", + ); + a.appendChild(document.createTextNode("\u2423")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitWhitespaceButton", "float-right"); + g.style.margin = "0 10px 0 0"; // Give us some room + g.appendChild(a); + + b.parentNode.insertBefore(g, b); + } else if ( + /\/pull\/\d*\/(files|commits)/.test(location.href) && + (e = document.querySelector( + "#files_bucket .pr-toolbar .diffbar > .pr-review-tools", + )) + ) { + var r = e.querySelector(".GithubCommitWhitespaceButton"); + if (r) { + r.parentElement.removeChild(r); + } + + var on = /w=/.test(location.search); // Any occurrence result in enabling + + var a = document.createElement("a"); + a.classList.add( + "btn", + "btn-sm", + "btn-outline", + "tooltipped", + "tooltipped-s", + ); + a.setAttribute("href", url(on)); + a.setAttribute("rel", "nofollow"); + a.setAttribute( + "aria-label", + on ? "Show commit whitespace" : "Hide commit whitespace", + ); + a.appendChild(document.createTextNode("\u2423")); + + var g = document.createElement("div"); + g.classList.add("GithubCommitWhitespaceButton", "diffbar-item"); + g.appendChild(a); + + e.insertBefore(g, e.firstChild); + } + } + + function url(on) { + var searches = location.search + .replace(/^\?/, "") + .split("&") + .filter(function (item) { + return item && !/w=.*/.test(item); + }); + if (!on) { + searches.push("w=1"); + } + return ( + location.href + .replace(location.search, "") + .replace(location.hash, "") + + (searches.length > 0 ? "?" + searches.join("&") : "") + + location.hash + ); + } + + // Init + addButton(); + + // Pjax + document.addEventListener("pjax:end", addButton); +})(); diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index e7a9f4c..c15676d 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -23,87 +23,87 @@ This works on commits, pull requests and compare pages. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.5.4** +- **1.5.4** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **1.5.3** +- **1.5.3** - * Fix URL generation with hash. + - Fix URL generation with hash. -* **1.5.2** +- **1.5.2** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.5.1** +- **1.5.1** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.5.0** +- **1.5.0** - * :sparkles: Added support for commits from PR's. + - :sparkles: Added support for commits from PR's. -* **1.4.4** +- **1.4.4** - * :clapper: New version of GitHub Commit Whitespace. + - :clapper: New version of GitHub Commit Whitespace. -* **1.4.3** +- **1.4.3** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.4.2** +- **1.4.2** - * Fixed issues after recent layout updates. + - Fixed issues after recent layout updates. -* **1.4.1** +- **1.4.1** - * Tooltips now on top. + - Tooltips now on top. -* **1.4** +- **1.4** - * Fixed align & url issues with new split diffs (fixes [#25](https://github.com/jerone/UserScripts/issues/25)). + - Fixed align & url issues with new split diffs (fixes [#25](https://github.com/jerone/UserScripts/issues/25)). -* **1.3** +- **1.3** - * Fixed issues after recent layout updates (fixes [#9](https://github.com/jerone/UserScripts/issues/9)). + - Fixed issues after recent layout updates (fixes [#9](https://github.com/jerone/UserScripts/issues/9)). -* **1.2.1** +- **1.2.1** - * Fixed adding to pull requests. + - Fixed adding to pull requests. -* **1.2** +- **1.2** - * Added to pull requests. + - Added to pull requests. -* **1.1** +- **1.1** - * Added to compare page. - * Added support for Scriptish. + - Added to compare page. + - Added support for Scriptish. -* **1.0** +- **1.0** - * Initial version. + - Initial version. ## Notes Use cases: -* (commit) +- (commit) -* (PR) +- (PR) -* +- (PR commit) -* (compare) +- (compare) -* (compare with hash) +- (compare with hash) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/467-github-commit-whitespace) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Whitespace) +- [Greasy Fork](https://greasyfork.org/scripts/467-github-commit-whitespace) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Commit_Whitespace) diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 3cd685a..9aef6e3 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -20,193 +20,285 @@ // cSpell:ignore Dabblet, Bl.ocks, itemprop, tweetbutton -(function() { - - String.format = function(string) { - const args = Array.prototype.slice.call(arguments, 1, arguments.length) - return string.replace(/{(\d+)}/g, function(match, number) { - return typeof args[number] !== 'undefined' ? args[number] : match - }) - } - - function Menu(container) { - const div$0$0 = document.createElement('div') - div$0$0.classList.add('file-navigation-option') - div$0$0.id = 'Github_Gist_Share' - container.insertBefore(div$0$0, container.firstChild) - - const div$1$0 = document.createElement('div') - div$1$0.classList.add('select-menu', 'js-menu-container', 'select-menu-modal-left', 'js-select-menu') - div$0$0.appendChild(div$1$0) - - const button$2$0 = document.createElement('button') - button$2$0.classList.add('btn', 'btn-sm', 'select-menu-button', 'icon-only', 'js-menu-target') - button$2$0.setAttribute('type', 'button') - div$1$0.appendChild(button$2$0) - - const svg$3$0 = document.createElementNS('http://www.w3.org/2000/svg', 'svg') - svg$3$0.classList.add('octicon', 'octicon-link-external') - svg$3$0.setAttributeNS(null, 'height', 16) - svg$3$0.setAttributeNS(null, 'version', '1.1') - svg$3$0.setAttributeNS(null, 'viewBox', '0 0 12 16') - svg$3$0.setAttributeNS(null, 'width', 12) - button$2$0.appendChild(svg$3$0) - - const path$4$0 = document.createElementNS('http://www.w3.org/2000/svg', 'path') - path$4$0.setAttributeNS(null, 'd', 'M11 10h1v3c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3v1H1v10h10v-3zM6 2l2.25 2.25L5 7.5 6.5 9l3.25-3.25L12 8V2H6z') - svg$3$0.appendChild(path$4$0) - - button$2$0.appendChild(document.createTextNode(' Share ')) - - const div$2$1 = document.createElement('div') - div$2$1.classList.add('select-menu-modal-holder') - div$1$0.appendChild(div$2$1) - - const div$3$0 = document.createElement('div') - div$3$0.classList.add('select-menu-modal', 'select-menu-modal', 'js-menu-content') - div$2$1.appendChild(div$3$0) - - const div$4$0 = document.createElement('div') - div$4$0.classList.add('select-menu-header') - div$3$0.appendChild(div$4$0) - - const svg$5$0 = document.createElementNS('http://www.w3.org/2000/svg', 'svg') - svg$5$0.classList.add('octicon', 'octicon-x', 'js-menu-close') - svg$5$0.setAttributeNS(null, 'height', 16) - svg$5$0.setAttributeNS(null, 'version', '1.1') - svg$5$0.setAttributeNS(null, 'viewBox', '0 0 12 16') - svg$5$0.setAttributeNS(null, 'width', 12) - div$4$0.appendChild(svg$5$0) - - const path$6$0 = document.createElementNS('http://www.w3.org/2000/svg', 'path') - path$6$0.setAttributeNS(null, 'd', 'M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z') - svg$5$0.appendChild(path$6$0) - - const span$5$1 = document.createElement('span') - span$5$1.classList.add('select-menu-title') - div$4$0.appendChild(span$5$1) - - span$5$1.appendChild(document.createTextNode('Share Gist with…')) - - const div$4$1 = document.createElement('div') - div$4$1.classList.add('select-menu-list', 'js-navigation-container') - div$3$0.appendChild(div$4$1) - - this.itemsContainer = div$4$1 - } - - Menu.prototype.AddItem = function(text, title, href, icon, newTab) { - const a = document.createElement('a') - a.classList.add('select-menu-item', 'js-navigation-item') - a.setAttribute('href', href) - if (title) a.setAttribute('title', title) - if (newTab) a.setAttribute('target', '_blank') - this.itemsContainer.appendChild(a) - - const i = document.createElement('img') - i.classList.add('select-menu-item-icon') - i.setAttribute('src', icon) - a.appendChild(i) - - const s = document.createElement('span') - s.classList.add('select-menu-item-text') - a.appendChild(s) - - s.appendChild(document.createTextNode(text)) - } - - function getValue(elm) { - return elm ? elm.textContent.trim() : '' - } - - function getIntValue(elm) { - return elm ? parseInt(elm.textContent.trim(), 10) : 0 - } - - function addMenu() { - const link = document.querySelector('.gist-header-title a') - const nav = document.querySelector('.file-navigation-options') - if (link && nav) { // Check if we're on an actual gist - const data = { - url: link.href, - user: getValue(document.querySelector('.header-nav-current-user strong')), - author: getValue(document.querySelector('.author [itemprop="author"]')), - description: getValue(document.querySelector('.repository-meta-content') || link), - files: document.querySelectorAll('.file').length, - stars: getIntValue(document.querySelector('a[href$="/stargazers"] .counter, form[action$="/star"] .social-count')), - forks: getIntValue(document.querySelector('a[href$="/forks"] .counter, form[action$="/fork"] .social-count')), - revisions: getIntValue(document.querySelector('a[href$="/revisions"] .counter')) - } - - console.log(data) - - const menu = new Menu(nav) - - // Twitter - if (true) { - const stats = [] - if (data.files > 1) { - stats.push(data.files + ' files') - } - if (data.stars === 1) { - stats.push(data.stars + ' star') - } else if (data.stars > 1) { - stats.push(data.stars + ' stars') - } - if (data.forks === 1) { - stats.push(data.forks + ' fork') - } else if (data.forks > 1) { - stats.push(data.forks + ' forks') - } - if (data.revisions > 1) { - stats.push(data.revisions + ' revisions') - } - - const tweet = String.format('Check out {0} #gist {1} on @github {2}', - data.author === data.user ? 'my' : data.author + "'s", - data.description ? '"' + data.description + '"' : '', - stats.length > 0 ? String.format('- {0} -', stats.join(', ')) : '-') - - const link = 'https://twitter.com/intent/tweet' + - '?original_referer=' + encodeURIComponent(data.url) + - '&source=tweetbutton&url=' + encodeURIComponent(data.url) + - '&text=' + encodeURIComponent(tweet) - - const icon = 'data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////A////xT///8f////K////yj///8f////FP///wP///8A////AP///wD///8A////AP///wD///8A////H/357kj55K589tV+ofPFUML0y1+29tV+ofnkrnz9+e5I////H////wP///8A////AP///wD///8A////ANi/foG2iBDuvYkA/9CWAP/npwD/7qwA/+6sAP/urAD/7rAP8/bVfqH9+e8/////A////wD///8A////AP///wD///8A////APDnzjDjx36N3Kcf5e6sAP/urAD/7qwA/+6sAP/urAD/8bww2/357z////8D////AP///wD///8A////AP///wP///8z+N+eifTLX7burAD/7qwA/+6sAP/urAD/7qwA/+6sAP/xvDDb/PjvM////wD///8A////AP///wD69+8V2Kkw1eqpAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA//TLX7b///8H////AP///wD///8A+fLfPvbVfqHusA/z7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/+fLfPv///wD///8A////DPXQcKvurAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+/Lb6f///8A////APPpzzzUmQD/7qwA/+6sAP/urAD/7qwA/+enAP/npwD/7qwA/+6sAP/urAD/7qwA/+6sAP/xvDDb////AP///wDt4L5G9dBwq+6sAP/urAD/2JwA/7qGAP+7kCDe1qMf4+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/////yT///8A9/DeLu6sAP/npwD/vYkA/8+wYJ/1794f////AOXIfo7urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/zznCo////KO7hv0jjpAD/vpIf4PDnzjD///8A////AP///wDeyI5x46QA/+6sAP/urAD/7qwA/+qpAP/UmQD/5KkO89u4YKfw584ww5ov0Pr37g////8A////AP///wD///8A+vfuD8OaL9DUmQD/36EA/9icAP+9jA/w07hwjsCYMM/p2a9U////APr37g////8A////AP///wD///8A////AP///wD69+4P07hwjsWgQL/PsGCf9e/eH////wD///8A9e/eH////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAOH/AAAAPwAA4B8AAOAPAADABwAAwAcAAIADAACAAwAAgAMAAIYBAACfAAAAvwEAAP+PAAD//wAA//8AAA=='; - - menu.AddItem('Twitter', tweet + ' ' + data.url, link, icon, true) - } - - // Userscripts - if (document.querySelector('.file .file-actions a[href$=".user.js" i]')) { - const icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKwSURBVHjabJNJTBNRGID/mc5MQYVWVNCGTbEtNZGDBj1ogolEMR5UJA2LBmMoIokxERIj8ehJjx6MYIQoJgq4JIa6gEARkKJFTa2iFFtKWwp2oeDCzNQ+31DQCc5L/nmT/P/3749ACAFBECBxiEPFFds0Ws399DRVhtX2udc97ig0PmgOLBkIbOwjAR8uMRRdvXF7pqv/NfrqnEAOlxsdLas6j3Wk2AEpCRcbKvLydrdu1WUr0lXrITEhAZKUSkhQKvKwXiY2ppbDRzCcv29P/ZZsDaSqUkCJYVJGwKMnHTDlmWgTZ/CvjkW4sKTScP1WC+oZsKAxpwv5gyEUnAkj2xc70p88Y8Y2a8VBxT0gispOGa413UVDb23IMe6OwaEw+jTqQKMOF3pptqBSw7k74hLEPaDUOu0VmpFDV58ZCJIAkiDB5fUBz0eApmjQqbOgrqa69HhVbZO4jKUfmiBJBctysHJFPPiDYbA7J4DjeJDLaWAYGVAyErIy0uDs6RPH9OXVtULWYgfEmN3emJK8BlYrEsHl8cEvloX4ODnEyRlgKGZhV1iOhcz0VNixM7dOCCp2EBkeMF3u6DaNqDasg1U4CzlFxxSRKMyz8xjmsPAQwNmRsc2jxGPkR0esHp7n9RBFrYbyUi1DUzh1GujFG0UBQrNz8P7DR3j+9NklqTEK3VVkbNLkVNZc9AwNW5Hb60PT/gCamg6gEbsT3XvYjvIP6i9gu2ShhOWb+BvLD13O9o3azWrVdy4K3wKhv5HfWW1Q39BY19nechPbzQrVwX9bhU+iIqnyQMF+mPvJQr/FCsHwDJgG30ADhl8Y2wQ4jIUVkpdaZRnPcd6AfxomJ32AIhEwdvaC8XG7JLwwvmXPmVFn52Tu2lvQjN9Crn3M6bWY+6otr3oGpWCB/SPAAJaJRguGUxB0AAAAAElFTkSuQmCC'; - const userscripts = document.querySelectorAll('.file .file-actions a[href$=".user.js"]') - Array.prototype.forEach.call(userscripts, function(userscript) { - const text = String.format('Userscript "{0}"', userscript.href.split('/').pop()) - menu.AddItem(text, null, userscript.href, icon, false) - }) - } - - // Dabblet - if (document.querySelector('.file .type-css, .file .type-html, .file .type-javascript')) { - const link = 'http://dabblet.com/gist/' + data.url.split('/').pop() - const icon = 'data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8B////AQAAAAMAAAAPAAAAHwAAACcAAAAfAAAADwAAAAP///8B////AQAAAAUAAAARAAAAHwAAAB0AAAAJ////AQAAAAcAAAAjqqqqb9vb28Xn5+fb29vbxaqqqm8AAAAjAAAABwAAAAkAAAApvLy8hd7e3snl5eXBAAAAIwAAAAMAAAAjzc3Nqf39/f/////////////////9/f3/0NDQqQAAACEAAAAp2NjYvf///////////////wAAADEAAAAPra2tc/39/f////////////b29vn///////////39/f8AAABFvLy8jf///////////f39/97e3r8AAAAhAAAAIdzc3Mf//////////66urp8AAABNrq6un///////////AAAAXePj49v//////Pz8/YqKin0AAAAlAAAACQAAACnq6urj//////Hx8fUAAABJAAAADQAAAEnv7+/z/////wAAAGXx8fHz/////+Tk5N8AAAAzAAAAA////wEAAAAh3d3dy///////////l5eXjQAAAEWXl5eN//////////8AAABp9fX19f/////g4ODVAAAAKf///wH///8BAAAAEbm5uYP///////////39/f/u7u7x/f39////////////AAAAafX19fX/////4ODg1QAAACn///8B////AQAAAAUAAAAn19fXu////////////////////////////////wAAAGn19fX1/////93d3dtoaGhXXFxcJwAAAAv///8BAAAABwAAACe5ubmF4+Pj1e/v7+nd3d3f8/Pz+f////8AAABp9fX19f/////c3Nzl7e3t5+zs7M0AAAAh////Af///wEAAAAFAAAAEwAAACUAAAAtAAAAU+np6ev/////AAAAafX19fX/////3Nzc5e3t7efs7OzNAAAAIf///wH///8B////Af///wH///8B////AQAAAC/r6+vn/////wAAAGn19fX1/////93d3dtpaWlVXFxcJwAAAAv///8B////Af///wH///8B////Af///wEAAAAh5ubm0/////8AAABd9fX18f/////i4uLLAAAAH////wH///8B////Af///wH///8B////Af///wH///8BAAAADXR0dEXs7Oy/AAAANbm5uXvz8/PjkpKSVQAAAA3///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAALAAAAFQAAAA0AAAAVAAAAHwAAAA////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w==' - menu.AddItem('Dabblet', link, link, icon, true) - } - - // Bl.ocks - if (document.querySelector('.file .file-actions a[href$="index.html" i], .file .file-actions a[href$="README.md" i]')) { - const link = data.url.replace('https://gist.github.com/', 'https://bl.ocks.org/') - const icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0klEQVQ4jaWTTWhcZRSGn++7f3PnTqaTtrRJp4OVlmkzYbRRSQUJrkQoFEVw5UJQGRcVhO66KAxdihXdCFkWusrSIliIESuFRrASf2slY2xDaZN2Mpm5P3P/vq+LEAIprnyXh8Nzznl5D/xPid2Fq+120Yt7UypJjhzvRVe039tq9MrcrnjvGo69HDiVn8+02yGAuRtwaDhYeCZSp3ScobTCefY4ZBlxd52Tsb4stGZFbS4CLwPI3YDyvyvT9kiZ0uQU2BaDlTsMVjtgW5ROPIftjTDS+Xv663Nn6wBme7ZVDJLi1DBLjhTHzSvWXAdZrxP8eBOR5ux/5TUA+r//xODXW+RphCsNYRm6CGDGZnmhUi2citOEJIsRUmLt2YtoTBL+tkTQuQ1Ck/kh0pJIYYDYWVxuGhvTRbvIsYNHMaWFMLZ81UjciSbm4RpZt4u0JGLbc612AKlOxPOHX+Sx3yXTOYk06V/7ChBopSDP0VpvTQbSsE+YxXrebexrtWeLpiEMvEKJxqEm1T09Ft6qMHF9hdr1b/AqB3AnmximTTKMGEab3B09yPf1t0U6Wp031+8tmkJIsiwlyWIcy6FUq3F15hGFpZc4ff8G1RvfkivNA9dlvv46d8cmmTh6gGwjYLlvTZtCodcGD0Wuc/I8I85TlFYsiXFe+PAi1/68x2o3plEfxwNYXuOvzjrDOMV0CsJ0NrxX529+NyfKaqxZa+I5HqZhI6WgVHBoHKtSC2L+WffpBwlhnGIKgTQNpNyJsvj4s4/eC2z/C7tseForHi6/SeuNkzweREggTDJ++GUVlEYYAiEkvV709C+0Pm3tT/zED9SZ8PTMCaERqDxnmCoW/7iPZRlorQj8hHAQ6qcA2/rg/JczkXTncnvf2FRjnJJrc+vOGlGcMOiFuPnGI1cM3/lPwPZprQuz728mhc+1O+plKkeE/agk/QuXPzl7CeAJlkc5xMckqesAAAAASUVORK5CYII=' - menu.AddItem('Bl.ocks', link, link, icon, true) - } - } - } - - // Init - addMenu() - - // Pjax - document.addEventListener('pjax:end', addMenu) - -})() +(function () { + String.format = function (string) { + const args = Array.prototype.slice.call(arguments, 1, arguments.length); + return string.replace(/{(\d+)}/g, function (match, number) { + return typeof args[number] !== "undefined" ? args[number] : match; + }); + }; + + function Menu(container) { + const div$0$0 = document.createElement("div"); + div$0$0.classList.add("file-navigation-option"); + div$0$0.id = "Github_Gist_Share"; + container.insertBefore(div$0$0, container.firstChild); + + const div$1$0 = document.createElement("div"); + div$1$0.classList.add( + "select-menu", + "js-menu-container", + "select-menu-modal-left", + "js-select-menu", + ); + div$0$0.appendChild(div$1$0); + + const button$2$0 = document.createElement("button"); + button$2$0.classList.add( + "btn", + "btn-sm", + "select-menu-button", + "icon-only", + "js-menu-target", + ); + button$2$0.setAttribute("type", "button"); + div$1$0.appendChild(button$2$0); + + const svg$3$0 = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + svg$3$0.classList.add("octicon", "octicon-link-external"); + svg$3$0.setAttributeNS(null, "height", 16); + svg$3$0.setAttributeNS(null, "version", "1.1"); + svg$3$0.setAttributeNS(null, "viewBox", "0 0 12 16"); + svg$3$0.setAttributeNS(null, "width", 12); + button$2$0.appendChild(svg$3$0); + + const path$4$0 = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + path$4$0.setAttributeNS( + null, + "d", + "M11 10h1v3c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3v1H1v10h10v-3zM6 2l2.25 2.25L5 7.5 6.5 9l3.25-3.25L12 8V2H6z", + ); + svg$3$0.appendChild(path$4$0); + + button$2$0.appendChild(document.createTextNode(" Share ")); + + const div$2$1 = document.createElement("div"); + div$2$1.classList.add("select-menu-modal-holder"); + div$1$0.appendChild(div$2$1); + + const div$3$0 = document.createElement("div"); + div$3$0.classList.add( + "select-menu-modal", + "select-menu-modal", + "js-menu-content", + ); + div$2$1.appendChild(div$3$0); + + const div$4$0 = document.createElement("div"); + div$4$0.classList.add("select-menu-header"); + div$3$0.appendChild(div$4$0); + + const svg$5$0 = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + svg$5$0.classList.add("octicon", "octicon-x", "js-menu-close"); + svg$5$0.setAttributeNS(null, "height", 16); + svg$5$0.setAttributeNS(null, "version", "1.1"); + svg$5$0.setAttributeNS(null, "viewBox", "0 0 12 16"); + svg$5$0.setAttributeNS(null, "width", 12); + div$4$0.appendChild(svg$5$0); + + const path$6$0 = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + path$6$0.setAttributeNS( + null, + "d", + "M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z", + ); + svg$5$0.appendChild(path$6$0); + + const span$5$1 = document.createElement("span"); + span$5$1.classList.add("select-menu-title"); + div$4$0.appendChild(span$5$1); + + span$5$1.appendChild(document.createTextNode("Share Gist with…")); + + const div$4$1 = document.createElement("div"); + div$4$1.classList.add("select-menu-list", "js-navigation-container"); + div$3$0.appendChild(div$4$1); + + this.itemsContainer = div$4$1; + } + + Menu.prototype.AddItem = function (text, title, href, icon, newTab) { + const a = document.createElement("a"); + a.classList.add("select-menu-item", "js-navigation-item"); + a.setAttribute("href", href); + if (title) a.setAttribute("title", title); + if (newTab) a.setAttribute("target", "_blank"); + this.itemsContainer.appendChild(a); + + const i = document.createElement("img"); + i.classList.add("select-menu-item-icon"); + i.setAttribute("src", icon); + a.appendChild(i); + + const s = document.createElement("span"); + s.classList.add("select-menu-item-text"); + a.appendChild(s); + + s.appendChild(document.createTextNode(text)); + }; + + function getValue(elm) { + return elm ? elm.textContent.trim() : ""; + } + + function getIntValue(elm) { + return elm ? parseInt(elm.textContent.trim(), 10) : 0; + } + + function addMenu() { + const link = document.querySelector(".gist-header-title a"); + const nav = document.querySelector(".file-navigation-options"); + if (link && nav) { + // Check if we're on an actual gist + const data = { + url: link.href, + user: getValue( + document.querySelector(".header-nav-current-user strong"), + ), + author: getValue( + document.querySelector('.author [itemprop="author"]'), + ), + description: getValue( + document.querySelector(".repository-meta-content") || link, + ), + files: document.querySelectorAll(".file").length, + stars: getIntValue( + document.querySelector( + 'a[href$="/stargazers"] .counter, form[action$="/star"] .social-count', + ), + ), + forks: getIntValue( + document.querySelector( + 'a[href$="/forks"] .counter, form[action$="/fork"] .social-count', + ), + ), + revisions: getIntValue( + document.querySelector('a[href$="/revisions"] .counter'), + ), + }; + + console.log(data); + + const menu = new Menu(nav); + + // Twitter + if (true) { + const stats = []; + if (data.files > 1) { + stats.push(data.files + " files"); + } + if (data.stars === 1) { + stats.push(data.stars + " star"); + } else if (data.stars > 1) { + stats.push(data.stars + " stars"); + } + if (data.forks === 1) { + stats.push(data.forks + " fork"); + } else if (data.forks > 1) { + stats.push(data.forks + " forks"); + } + if (data.revisions > 1) { + stats.push(data.revisions + " revisions"); + } + + const tweet = String.format( + "Check out {0} #gist {1} on @github {2}", + data.author === data.user ? "my" : data.author + "'s", + data.description ? '"' + data.description + '"' : "", + stats.length > 0 + ? String.format("- {0} -", stats.join(", ")) + : "-", + ); + + const link = + "https://twitter.com/intent/tweet" + + "?original_referer=" + + encodeURIComponent(data.url) + + "&source=tweetbutton&url=" + + encodeURIComponent(data.url) + + "&text=" + + encodeURIComponent(tweet); + + const icon = + "data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////A////xT///8f////K////yj///8f////FP///wP///8A////AP///wD///8A////AP///wD///8A////H/357kj55K589tV+ofPFUML0y1+29tV+ofnkrnz9+e5I////H////wP///8A////AP///wD///8A////ANi/foG2iBDuvYkA/9CWAP/npwD/7qwA/+6sAP/urAD/7rAP8/bVfqH9+e8/////A////wD///8A////AP///wD///8A////APDnzjDjx36N3Kcf5e6sAP/urAD/7qwA/+6sAP/urAD/8bww2/357z////8D////AP///wD///8A////AP///wP///8z+N+eifTLX7burAD/7qwA/+6sAP/urAD/7qwA/+6sAP/xvDDb/PjvM////wD///8A////AP///wD69+8V2Kkw1eqpAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA//TLX7b///8H////AP///wD///8A+fLfPvbVfqHusA/z7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/+fLfPv///wD///8A////DPXQcKvurAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/+/Lb6f///8A////APPpzzzUmQD/7qwA/+6sAP/urAD/7qwA/+enAP/npwD/7qwA/+6sAP/urAD/7qwA/+6sAP/xvDDb////AP///wDt4L5G9dBwq+6sAP/urAD/2JwA/7qGAP+7kCDe1qMf4+6sAP/urAD/7qwA/+6sAP/urAD/7qwA/////yT///8A9/DeLu6sAP/npwD/vYkA/8+wYJ/1794f////AOXIfo7urAD/7qwA/+6sAP/urAD/7qwA/+6sAP/zznCo////KO7hv0jjpAD/vpIf4PDnzjD///8A////AP///wDeyI5x46QA/+6sAP/urAD/7qwA/+qpAP/UmQD/5KkO89u4YKfw584ww5ov0Pr37g////8A////AP///wD///8A+vfuD8OaL9DUmQD/36EA/9icAP+9jA/w07hwjsCYMM/p2a9U////APr37g////8A////AP///wD///8A////AP///wD69+4P07hwjsWgQL/PsGCf9e/eH////wD///8A9e/eH////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAOH/AAAAPwAA4B8AAOAPAADABwAAwAcAAIADAACAAwAAgAMAAIYBAACfAAAAvwEAAP+PAAD//wAA//8AAA=="; + + menu.AddItem( + "Twitter", + tweet + " " + data.url, + link, + icon, + true, + ); + } + + // Userscripts + if ( + document.querySelector( + '.file .file-actions a[href$=".user.js" i]', + ) + ) { + const icon = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKwSURBVHjabJNJTBNRGID/mc5MQYVWVNCGTbEtNZGDBj1ogolEMR5UJA2LBmMoIokxERIj8ehJjx6MYIQoJgq4JIa6gEARkKJFTa2iFFtKWwp2oeDCzNQ+31DQCc5L/nmT/P/3749ACAFBECBxiEPFFds0Ws399DRVhtX2udc97ig0PmgOLBkIbOwjAR8uMRRdvXF7pqv/NfrqnEAOlxsdLas6j3Wk2AEpCRcbKvLydrdu1WUr0lXrITEhAZKUSkhQKvKwXiY2ppbDRzCcv29P/ZZsDaSqUkCJYVJGwKMnHTDlmWgTZ/CvjkW4sKTScP1WC+oZsKAxpwv5gyEUnAkj2xc70p88Y8Y2a8VBxT0gispOGa413UVDb23IMe6OwaEw+jTqQKMOF3pptqBSw7k74hLEPaDUOu0VmpFDV58ZCJIAkiDB5fUBz0eApmjQqbOgrqa69HhVbZO4jKUfmiBJBctysHJFPPiDYbA7J4DjeJDLaWAYGVAyErIy0uDs6RPH9OXVtULWYgfEmN3emJK8BlYrEsHl8cEvloX4ODnEyRlgKGZhV1iOhcz0VNixM7dOCCp2EBkeMF3u6DaNqDasg1U4CzlFxxSRKMyz8xjmsPAQwNmRsc2jxGPkR0esHp7n9RBFrYbyUi1DUzh1GujFG0UBQrNz8P7DR3j+9NklqTEK3VVkbNLkVNZc9AwNW5Hb60PT/gCamg6gEbsT3XvYjvIP6i9gu2ShhOWb+BvLD13O9o3azWrVdy4K3wKhv5HfWW1Q39BY19nechPbzQrVwX9bhU+iIqnyQMF+mPvJQr/FCsHwDJgG30ADhl8Y2wQ4jIUVkpdaZRnPcd6AfxomJ32AIhEwdvaC8XG7JLwwvmXPmVFn52Tu2lvQjN9Crn3M6bWY+6otr3oGpWCB/SPAAJaJRguGUxB0AAAAAElFTkSuQmCC"; + const userscripts = document.querySelectorAll( + '.file .file-actions a[href$=".user.js"]', + ); + Array.prototype.forEach.call( + userscripts, + function (userscript) { + const text = String.format( + 'Userscript "{0}"', + userscript.href.split("/").pop(), + ); + menu.AddItem(text, null, userscript.href, icon, false); + }, + ); + } + + // Dabblet + if ( + document.querySelector( + ".file .type-css, .file .type-html, .file .type-javascript", + ) + ) { + const link = + "http://dabblet.com/gist/" + data.url.split("/").pop(); + const icon = + "data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8B////AQAAAAMAAAAPAAAAHwAAACcAAAAfAAAADwAAAAP///8B////AQAAAAUAAAARAAAAHwAAAB0AAAAJ////AQAAAAcAAAAjqqqqb9vb28Xn5+fb29vbxaqqqm8AAAAjAAAABwAAAAkAAAApvLy8hd7e3snl5eXBAAAAIwAAAAMAAAAjzc3Nqf39/f/////////////////9/f3/0NDQqQAAACEAAAAp2NjYvf///////////////wAAADEAAAAPra2tc/39/f////////////b29vn///////////39/f8AAABFvLy8jf///////////f39/97e3r8AAAAhAAAAIdzc3Mf//////////66urp8AAABNrq6un///////////AAAAXePj49v//////Pz8/YqKin0AAAAlAAAACQAAACnq6urj//////Hx8fUAAABJAAAADQAAAEnv7+/z/////wAAAGXx8fHz/////+Tk5N8AAAAzAAAAA////wEAAAAh3d3dy///////////l5eXjQAAAEWXl5eN//////////8AAABp9fX19f/////g4ODVAAAAKf///wH///8BAAAAEbm5uYP///////////39/f/u7u7x/f39////////////AAAAafX19fX/////4ODg1QAAACn///8B////AQAAAAUAAAAn19fXu////////////////////////////////wAAAGn19fX1/////93d3dtoaGhXXFxcJwAAAAv///8BAAAABwAAACe5ubmF4+Pj1e/v7+nd3d3f8/Pz+f////8AAABp9fX19f/////c3Nzl7e3t5+zs7M0AAAAh////Af///wEAAAAFAAAAEwAAACUAAAAtAAAAU+np6ev/////AAAAafX19fX/////3Nzc5e3t7efs7OzNAAAAIf///wH///8B////Af///wH///8B////AQAAAC/r6+vn/////wAAAGn19fX1/////93d3dtpaWlVXFxcJwAAAAv///8B////Af///wH///8B////Af///wEAAAAh5ubm0/////8AAABd9fX18f/////i4uLLAAAAH////wH///8B////Af///wH///8B////Af///wH///8BAAAADXR0dEXs7Oy/AAAANbm5uXvz8/PjkpKSVQAAAA3///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAALAAAAFQAAAA0AAAAVAAAAHwAAAA////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w=="; + menu.AddItem("Dabblet", link, link, icon, true); + } + + // Bl.ocks + if ( + document.querySelector( + '.file .file-actions a[href$="index.html" i], .file .file-actions a[href$="README.md" i]', + ) + ) { + const link = data.url.replace( + "https://gist.github.com/", + "https://bl.ocks.org/", + ); + const icon = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0klEQVQ4jaWTTWhcZRSGn++7f3PnTqaTtrRJp4OVlmkzYbRRSQUJrkQoFEVw5UJQGRcVhO66KAxdihXdCFkWusrSIliIESuFRrASf2slY2xDaZN2Mpm5P3P/vq+LEAIprnyXh8Nzznl5D/xPid2Fq+120Yt7UypJjhzvRVe039tq9MrcrnjvGo69HDiVn8+02yGAuRtwaDhYeCZSp3ScobTCefY4ZBlxd52Tsb4stGZFbS4CLwPI3YDyvyvT9kiZ0uQU2BaDlTsMVjtgW5ROPIftjTDS+Xv663Nn6wBme7ZVDJLi1DBLjhTHzSvWXAdZrxP8eBOR5ux/5TUA+r//xODXW+RphCsNYRm6CGDGZnmhUi2citOEJIsRUmLt2YtoTBL+tkTQuQ1Ck/kh0pJIYYDYWVxuGhvTRbvIsYNHMaWFMLZ81UjciSbm4RpZt4u0JGLbc612AKlOxPOHX+Sx3yXTOYk06V/7ChBopSDP0VpvTQbSsE+YxXrebexrtWeLpiEMvEKJxqEm1T09Ft6qMHF9hdr1b/AqB3AnmximTTKMGEab3B09yPf1t0U6Wp031+8tmkJIsiwlyWIcy6FUq3F15hGFpZc4ff8G1RvfkivNA9dlvv46d8cmmTh6gGwjYLlvTZtCodcGD0Wuc/I8I85TlFYsiXFe+PAi1/68x2o3plEfxwNYXuOvzjrDOMV0CsJ0NrxX529+NyfKaqxZa+I5HqZhI6WgVHBoHKtSC2L+WffpBwlhnGIKgTQNpNyJsvj4s4/eC2z/C7tseForHi6/SeuNkzweREggTDJ++GUVlEYYAiEkvV709C+0Pm3tT/zED9SZ8PTMCaERqDxnmCoW/7iPZRlorQj8hHAQ6qcA2/rg/JczkXTncnvf2FRjnJJrc+vOGlGcMOiFuPnGI1cM3/lPwPZprQuz728mhc+1O+plKkeE/agk/QuXPzl7CeAJlkc5xMckqesAAAAASUVORK5CYII="; + menu.AddItem("Bl.ocks", link, link, icon, true); + } + } + } + + // Init + addMenu(); + + // Pjax + document.addEventListener("pjax:end", addMenu); +})(); diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index 9ecd745..7d1d65c 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -9,13 +9,13 @@ Share your [GitHub Gist](https://gist.github.com) to: -* [Twitter](http://twitter.com). +- [Twitter](http://twitter.com). -* UserScript (when a file ends with `.user.js`). +- UserScript (when a file ends with `.user.js`). -* [Dabblet](http://dabblet.com). +- [Dabblet](http://dabblet.com). -* [Bl.ocks](https://bl.ocks.org) (when Gist contains a `index.html` or +- [Bl.ocks](https://bl.ocks.org) (when Gist contains a `index.html` or `README.md` file). ## Screenshot @@ -24,78 +24,78 @@ Share your [GitHub Gist](https://gist.github.com) to: ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **5.1** +- **5.1** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **5.0** +- **5.0** - * Complete rewrite to make it work again. + - Complete rewrite to make it work again. -* **4.5** +- **4.5** - * Added Bl.ocks support. + - Added Bl.ocks support. -* **4.4** +- **4.4** - * Fixed code after layout changes. - * Removed old code for Github Gist Dabblet. - * Fixed JSHint errors. + - Fixed code after layout changes. + - Removed old code for Github Gist Dabblet. + - Fixed JSHint errors. -* **4.3** +- **4.3** - * Converted userscript icon to data uri as USO isn't available anymore. - * Fixed counting files. - * JSHint fixes. + - Converted userscript icon to data uri as USO isn't available anymore. + - Fixed counting files. + - JSHint fixes. -* **4.2** +- **4.2** - * Added support for Scriptish. + - Added support for Scriptish. -* **4.1** +- **4.1** - * Namespace update. + - Namespace update. -* **4.0** +- **4.0** - * Added Userscript support. + - Added Userscript support. -* **3.0** +- **3.0** - * Added Dabblet. + - Added Dabblet. -* **2.0** +- **2.0** - * Added Twitter. + - Added Twitter. -* **1.0** +- **1.0** - * Initial version. + - Initial version. ## Test case -* (Twitter with own username +- (Twitter with own username `Check out my #gist "Github Flavored Markdown Stylesheet for Web - Essentials" on @github - 8 stars, 4 forks, 2 revisions - - https://gist.github.com/jerone/9925179`). +Essentials" on @github - 8 stars, 4 forks, 2 revisions - +https://gist.github.com/jerone/9925179`). -* (Twitter). +- (Twitter). -* (forked Gist). +- (forked Gist). -* (two Userscripts). +- (two Userscripts). -* (Dabblet +- (Dabblet ). -* (Bl.ocks +- (Bl.ocks ). ## External links -* [Greasy Fork](https://greasyfork.org/scripts/54-github-gist-share) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Gist_Share) +- [Greasy Fork](https://greasyfork.org/scripts/54-github-gist-share) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Gist_Share) diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index 5a0f33a..b508dfc 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -20,21 +20,20 @@ // @include https://github.com/* // ==/UserScript== -(function() { - - String.format = function(string) { +(function () { + String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); - return string.replace(/{(\d+)}/g, function(match, number) { + return string.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] !== "undefined" ? args[number] : match; }); }; function proxy(fn) { - return function() { + return function () { var that = this; - return function(e) { - var args = that.slice(0); // clone; - args.unshift(e); // prepend event; + return function (e) { + var args = that.slice(0); // clone; + args.unshift(e); // prepend event; fn.apply(this, args); }; }.call([].slice.call(arguments, 1)); @@ -47,11 +46,13 @@ _floaterMeta: null, _imageUrl: null, - _loaderSrc: "https://github.githubassets.com/images/spinners/octocat-spinner-32.gif", + _loaderSrc: + "https://github.githubassets.com/images/spinners/octocat-spinner-32.gif", _imageRegex: /.+(\.jpe?g|\.png|\.gif|\.bmp|\.ico|\.tiff?)$/i, - Initialize: function() { - var floater = GithubImageViewer._floater = document.createElement("div"); + Initialize: function () { + var floater = (GithubImageViewer._floater = + document.createElement("div")); floater.style.position = "absolute"; floater.style.top = "0"; floater.style.left = "0"; @@ -67,9 +68,10 @@ floaterMouseAlign.style.fontSize = "11px"; floater.appendChild(floaterMouseAlign); - var floaterTitle = GithubImageViewer._floaterTitle = document.createElement("div"); + var floaterTitle = (GithubImageViewer._floaterTitle = + document.createElement("div")); floaterTitle.style.backgroundColor = "#e6f1f6"; - floaterTitle.style.color = "black"; + floaterTitle.style.color = "black"; floaterTitle.style.textAlign = "center"; floaterTitle.style.borderBottom = "1px solid #d8e6ec"; floaterTitle.style.padding = "3px 5px"; @@ -84,15 +86,18 @@ floaterCenter.style.padding = "3px"; floaterMouseAlign.appendChild(floaterCenter); - var floaterImage = GithubImageViewer._floaterImage = document.createElement("img"); + var floaterImage = (GithubImageViewer._floaterImage = + document.createElement("img")); floaterImage.setAttribute("src", GithubImageViewer._loaderSrc); floaterImage.style.margin = "auto"; - floaterImage.style.maxWidth = floaterImage.style.maxHeight = "200px"; + floaterImage.style.maxWidth = floaterImage.style.maxHeight = + "200px"; floaterCenter.appendChild(floaterImage); - var floaterMeta = GithubImageViewer._floaterMeta = document.createElement("div"); + var floaterMeta = (GithubImageViewer._floaterMeta = + document.createElement("div")); floaterMeta.style.backgroundColor = "#f8f8f8"; - floaterMeta.style.color = "black"; + floaterMeta.style.color = "black"; floaterMeta.style.padding = "3px"; floaterMeta.style.textAlign = "center"; floaterMeta.style.whiteSpace = "nowrap"; @@ -102,45 +107,55 @@ GithubImageViewer.Attach(); }, - Attach: function() { - document.getElementById("js-repo-pjax-container").addEventListener("mousemove", function(e) { - var target = e.target; - if (target.classList && target.classList.contains("js-navigation-open") && - GithubImageViewer._imageRegex.test(target.href)) { - - if (target.getAttribute("title")) { - target.dataset.title = target.getAttribute("title"); - target.removeAttribute("title"); - } - - if (GithubImageViewer._visible) { - GithubImageViewer.Show(e.pageX, e.pageY); - } else { - GithubImageViewer.AddTimer(proxy(function() { - GithubImageViewer.ClearTimers(); - + Attach: function () { + document + .getElementById("js-repo-pjax-container") + .addEventListener("mousemove", function (e) { + var target = e.target; + if ( + target.classList && + target.classList.contains("js-navigation-open") && + GithubImageViewer._imageRegex.test(target.href) + ) { + if (target.getAttribute("title")) { + target.dataset.title = target.getAttribute("title"); + target.removeAttribute("title"); + } + + if (GithubImageViewer._visible) { GithubImageViewer.Show(e.pageX, e.pageY); - - var href = target.href; - if (GithubImageViewer._imageUrl !== href) { - GithubImageViewer._imageUrl = href; - GithubImageViewer.SetImage(GithubImageViewer._imageUrl); - - GithubImageViewer.SetTitle(target.dataset.title); - } - })); + } else { + GithubImageViewer.AddTimer( + proxy(function () { + GithubImageViewer.ClearTimers(); + + GithubImageViewer.Show(e.pageX, e.pageY); + + var href = target.href; + if (GithubImageViewer._imageUrl !== href) { + GithubImageViewer._imageUrl = href; + GithubImageViewer.SetImage( + GithubImageViewer._imageUrl, + ); + + GithubImageViewer.SetTitle( + target.dataset.title, + ); + } + }), + ); + } + } else { + GithubImageViewer.Dispose(); } - } else { - GithubImageViewer.Dispose(); - } - }); - document.body.addEventListener("click", function() { + }); + document.body.addEventListener("click", function () { GithubImageViewer.Dispose(); }); - document.body.addEventListener("contextmenu", function() { + document.body.addEventListener("contextmenu", function () { GithubImageViewer.Dispose(); }); - document.body.addEventListener("keydown", function(e) { + document.body.addEventListener("keydown", function (e) { if (e.keyCode === 27) { GithubImageViewer.Dispose(); } @@ -148,18 +163,18 @@ }, _visible: false, - Show: function(x, y) { + Show: function (x, y) { GithubImageViewer._visible = true; GithubImageViewer._floater.style.left = x + "px"; GithubImageViewer._floater.style.top = y + "px"; }, - Hide: function() { + Hide: function () { GithubImageViewer._visible = false; GithubImageViewer._floater.style.left = "-1000px"; GithubImageViewer._floater.style.top = "-1000px"; }, - Dispose: function() { + Dispose: function () { GithubImageViewer.ClearTimers(); GithubImageViewer.Hide(); @@ -172,25 +187,30 @@ _timers: [], _timeout: 700, - AddTimer: function(fn) { - GithubImageViewer._timers.push(window.setTimeout(fn, GithubImageViewer._timeout)); + AddTimer: function (fn) { + GithubImageViewer._timers.push( + window.setTimeout(fn, GithubImageViewer._timeout), + ); }, - ClearTimers: function() { - Array.prototype.forEach.call(GithubImageViewer._timers, function(timer) { - window.clearTimeout(timer); - }); + ClearTimers: function () { + Array.prototype.forEach.call( + GithubImageViewer._timers, + function (timer) { + window.clearTimeout(timer); + }, + ); }, - SetTitle: function(text) { + SetTitle: function (text) { GithubImageViewer._floaterTitle.textContent = text; }, - SetImage: function(src) { + SetImage: function (src) { src = src.replace("/blob/", "/raw/"); if (src !== GithubImageViewer._loaderSrc) { var temp = document.createElement("img"); temp.style.visibility = "hidden"; - temp.addEventListener("load", function() { + temp.addEventListener("load", function () { GithubImageViewer.SetMeta(this.width, this.height); this.parentNode.removeChild(temp); }); @@ -203,18 +223,21 @@ GithubImageViewer._floaterImage.setAttribute("src", src); }, - SetMeta: function(w, h) { + SetMeta: function (w, h) { if (!w && !h) { GithubImageViewer._floaterMeta.style.display = "none"; } else { GithubImageViewer._floaterMeta.style.display = "block"; - GithubImageViewer._floaterMeta.innerHTML = String.format("W: {0}px | H: {1}px", w, h); + GithubImageViewer._floaterMeta.innerHTML = String.format( + "W: {0}px | H: {1}px", + w, + h, + ); } - } + }, }; if (document.getElementById("js-repo-pjax-container")) { GithubImageViewer.Initialize(); } - })(); diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index cd3fcd4..0118dfe 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -5,65 +5,59 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Preview images from within the listing. Supported file extensions are: -* `.jpg` -* `.jpeg` -* `.png` -* `.gif` -* `.bmp` -* `.ico` -* `.tif` -* `.tiff` - +- `.jpg` +- `.jpeg` +- `.png` +- `.gif` +- `.bmp` +- `.ico` +- `.tif` +- `.tiff` ## Screenshot ![Github Image Viewer screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.5.0** - * :bug: Fixed loader animation source [#164](https://github.com/jerone/UserScripts/pull/164) - * Text color in floater is now black - * Floater title is now center aligned -* **0.4.2** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **0.4.1** - * Fixed issues after GitHub site update. -* **0.4.0** - * Added Bitmap `.bmp` support (closes https://github.com/jerone/UserScripts/issues/82). - * Detect upper-case extensions (fixes https://github.com/jerone/UserScripts/issues/82). - * Images should now have a name, temping to exclude folder named as image extensions (fixes https://github.com/jerone/UserScripts/issues/82). -* **0.3.0** - * Removed tooltips. -* **0.2.0** - * Fixed hiding preview on some conditions (fixes https://github.com/jerone/UserScripts/issues/31). -* **0.1.1** - * Small z-index fix. -* **0.1.0** - * Initial version. - +- **0.5.0** + - :bug: Fixed loader animation source [#164](https://github.com/jerone/UserScripts/pull/164) + - Text color in floater is now black + - Floater title is now center aligned +- **0.4.2** + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). +- **0.4.1** + - Fixed issues after GitHub site update. +- **0.4.0** + - Added Bitmap `.bmp` support (closes https://github.com/jerone/UserScripts/issues/82). + - Detect upper-case extensions (fixes https://github.com/jerone/UserScripts/issues/82). + - Images should now have a name, temping to exclude folder named as image extensions (fixes https://github.com/jerone/UserScripts/issues/82). +- **0.3.0** + - Removed tooltips. +- **0.2.0** + - Fixed hiding preview on some conditions (fixes https://github.com/jerone/UserScripts/issues/31). +- **0.1.1** + - Small z-index fix. +- **0.1.0** + - Initial version. ## Notes Use cases: -* https://github.com/jerone/UserScripts/tree/master/_resources - +- https://github.com/jerone/UserScripts/tree/master/_resources ## External links -* [Greasy Fork](https://greasyfork.org/scripts/6262-github-image-viewer) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Image_Viewer) +- [Greasy Fork](https://greasyfork.org/scripts/6262-github-image-viewer) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Image_Viewer) diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 56ec780..3aa6d8c 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -26,11 +26,10 @@ // cSpell:ignore linkify, Sindre Sorhus /* global GM_xmlhttpRequest */ -(function() { - - var blobElm = document.querySelector('.highlight'), - blobLineElms = blobElm.querySelectorAll('.blob-code > span'), - pkg = (function() { +(function () { + var blobElm = document.querySelector(".highlight"), + blobLineElms = blobElm.querySelectorAll(".blob-code > span"), + pkg = (function () { try { // JSON parser could fail on JSON with comments. return JSON.parse(blobElm.textContent); @@ -39,11 +38,13 @@ return JSON.parse(stripJsonComments(blobElm.textContent)); } })(), - isNPM = location.pathname.endsWith('/package.json') || location.pathname.endsWith('/npm-shrinkwrap.json'), - isBower = location.pathname.endsWith('/bower.json'), - isNuGet = location.pathname.endsWith('/project.json'), - isAtom = (function() { - if (location.pathname.endsWith('/package.json')) { + isNPM = + location.pathname.endsWith("/package.json") || + location.pathname.endsWith("/npm-shrinkwrap.json"), + isBower = location.pathname.endsWith("/bower.json"), + isNuGet = location.pathname.endsWith("/project.json"), + isAtom = (function () { + if (location.pathname.endsWith("/package.json")) { if (pkg.atomShellVersion) { return true; } else if (pkg.engines && pkg.engines.atom) { @@ -53,17 +54,17 @@ return false; })(), dependencyKeys = [ - 'dependencies', - 'devDependencies', - 'peerDependencies', - 'bundleDependencies', - 'bundledDependencies', - 'packageDependencies', - 'optionalDependencies' + "dependencies", + "devDependencies", + "peerDependencies", + "bundleDependencies", + "bundledDependencies", + "packageDependencies", + "optionalDependencies", ], - modules = (function() { + modules = (function () { var _modules = {}; - dependencyKeys.forEach(function(dependencyKey) { + dependencyKeys.forEach(function (dependencyKey) { _modules[dependencyKey] = []; }); return _modules; @@ -71,9 +72,9 @@ // Get an unique list of all modules. function fetchModules(root) { - dependencyKeys.forEach(function(dependencyKey) { + dependencyKeys.forEach(function (dependencyKey) { var dependencies = root[dependencyKey] || {}; - Object.keys(dependencies).forEach(function(module) { + Object.keys(dependencies).forEach(function (module) { if (modules[dependencyKey].indexOf(module) === -1) { modules[dependencyKey].push(module); } @@ -87,25 +88,30 @@ function linkify(module, url) { // Try to find the module; could be multiple locations. var moduleFilterText = '"' + module + '"'; - var moduleElms = Array.prototype.filter.call(blobLineElms, function(blobLineElm) { - if (blobLineElm.textContent.trim() === moduleFilterText) { - // Module name preceding a colon is never a key. - var prev = blobLineElm.previousSibling; - return !(prev && prev.textContent.trim() === ':'); - } - return false; - }); + var moduleElms = Array.prototype.filter.call( + blobLineElms, + function (blobLineElm) { + if (blobLineElm.textContent.trim() === moduleFilterText) { + // Module name preceding a colon is never a key. + var prev = blobLineElm.previousSibling; + return !(prev && prev.textContent.trim() === ":"); + } + return false; + }, + ); // Modules could exist in multiple dependency lists. - Array.prototype.forEach.call(moduleElms, function(moduleElm) { - + Array.prototype.forEach.call(moduleElms, function (moduleElm) { // Module names are textNodes on Github. - var moduleElmText = Array.prototype.find.call(moduleElm.childNodes, function(moduleElmChild) { - return moduleElmChild.nodeType === 3; - }); + var moduleElmText = Array.prototype.find.call( + moduleElm.childNodes, + function (moduleElmChild) { + return moduleElmChild.nodeType === 3; + }, + ); - var moduleElmLink = document.createElement('a'); - moduleElmLink.setAttribute('href', url); + var moduleElmLink = document.createElement("a"); + moduleElmLink.setAttribute("href", url); moduleElmLink.appendChild(document.createTextNode(module)); // Replace textNode, so we keep surrounding elements (like the highlighted quotes). @@ -125,33 +131,39 @@ var nextChar; var insideString = false; var insideComment = false; - var ret = ''; + var ret = ""; for (var i = 0; i < str.length; i++) { currentChar = str[i]; nextChar = str[i + 1]; - if (!insideComment && str[i - 1] !== '\\' && currentChar === '"') { + if (!insideComment && str[i - 1] !== "\\" && currentChar === '"') { insideString = !insideString; } if (insideString) { ret += currentChar; continue; } - if (!insideComment && currentChar + nextChar === '//') { - insideComment = 'single'; + if (!insideComment && currentChar + nextChar === "//") { + insideComment = "single"; i++; - } else if (insideComment === 'single' && currentChar + nextChar === '\r\n') { + } else if ( + insideComment === "single" && + currentChar + nextChar === "\r\n" + ) { insideComment = false; i++; ret += currentChar; ret += nextChar; continue; - } else if (insideComment === 'single' && currentChar === '\n') { + } else if (insideComment === "single" && currentChar === "\n") { insideComment = false; - } else if (!insideComment && currentChar + nextChar === '/*') { - insideComment = 'multi'; + } else if (!insideComment && currentChar + nextChar === "/*") { + insideComment = "multi"; i++; continue; - } else if (insideComment === 'multi' && currentChar + nextChar === '*/') { + } else if ( + insideComment === "multi" && + currentChar + nextChar === "*/" + ) { insideComment = false; i++; continue; @@ -165,37 +177,37 @@ } // Init. - Object.keys(modules).forEach(function(dependencyKey) { - modules[dependencyKey].forEach(function(module) { - if (isAtom && dependencyKey === 'packageDependencies') { // Atom needs to be before NPM. - var url = 'https://atom.io/packages/' + module; + Object.keys(modules).forEach(function (dependencyKey) { + modules[dependencyKey].forEach(function (module) { + if (isAtom && dependencyKey === "packageDependencies") { + // Atom needs to be before NPM. + var url = "https://atom.io/packages/" + module; linkify(module, url); } else if (isNPM) { - var url = 'https://www.npmjs.org/package/' + module; + var url = "https://www.npmjs.org/package/" + module; linkify(module, url); } else if (isBower) { GM_xmlhttpRequest({ - method: 'GET', - url: 'http://bower.herokuapp.com/packages/' + module, - onload: function(response) { + method: "GET", + url: "http://bower.herokuapp.com/packages/" + module, + onload: function (response) { var data = JSON.parse(response.responseText); var re = /github\.com\/([\w\-\.]+)\/([\w\-\.]+)/i; - var parsedUrl = re.exec(data.url.replace(/\.git$/, '')); + var parsedUrl = re.exec(data.url.replace(/\.git$/, "")); if (parsedUrl) { var user = parsedUrl[1]; var repo = parsedUrl[2]; - var url = 'https://github.com/' + user + '/' + repo; + var url = "https://github.com/" + user + "/" + repo; linkify(module, url); } else { linkify(module, data.url); } - } + }, }); } else if (isNuGet) { - var url = 'https://www.nuget.org/packages/' + module; + var url = "https://www.nuget.org/packages/" + module; linkify(module, url); } }); }); - })(); diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index fb3bc32..835cb74 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -5,72 +5,67 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Linkify all dependencies found in an JSON file. The following JSON schemes are supported: -* [NPM](https://www.npmjs.com) - `package.json` & `npm-shrinkwrap.json` -* [Bower](http://bower.io) - `bower.json` -* [NuGet](https://www.nuget.org) - `project.json` -* [Atom](https://atom.io) - `package.json` + +- [NPM](https://www.npmjs.com) - `package.json` & `npm-shrinkwrap.json` +- [Bower](http://bower.io) - `bower.json` +- [NuGet](https://www.nuget.org) - `project.json` +- [Atom](https://atom.io) - `package.json` In the JSON file it will search for the following dependency keys: -* `dependencies` -* `devDependencies` -* `peerDependencies` -* `bundleDependencies` -* `bundledDependencies` -* `packageDependencies` -* `optionalDependencies` +- `dependencies` +- `devDependencies` +- `peerDependencies` +- `bundleDependencies` +- `bundledDependencies` +- `packageDependencies` +- `optionalDependencies` ## Screenshot ![Github JSON Dependencies Linker Screenshot](https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.3.2** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **0.3.1** - * Fixed recognizing JSON content. -* **0.3.0** - * Added support for Atom for `packageDependencies`. -* **0.2.0** - * Module name preceding a colon is never a key. - * Added support for npm-shrinkwrap.json. - * Fetching module names is now recursive. -* **0.1.0** - * Initial version. - +- **0.3.2** + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). +- **0.3.1** + - Fixed recognizing JSON content. +- **0.3.0** + - Added support for Atom for `packageDependencies`. +- **0.2.0** + - Module name preceding a colon is never a key. + - Added support for npm-shrinkwrap.json. + - Fetching module names is now recursive. +- **0.1.0** + - Initial version. ## Test cases -* https://github.com/jerone/PackageSize/blob/master/package.json (multiple package.json dependencies); -* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/disabled/bundlerecurs/package.json -* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-optional-deps/package.json (optionalDependencies & different semver); -* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-bundled-git/package.json (git semver & bundledDependencies); -* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json (npm-shrinkwrap.json); -* https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-url-dep/package.json (url semver); -* https://github.com/aspnet/MusicStore/blob/8ce50e3fb34cbfc73537b9cf995fce3608c007fa/samples/MusicStore/project.json (ASP.NET project.json with COMMENTS); -* https://github.com/atom/atom/blob/master/package.json (Atom package.json packageDependencies atomShellVersion); -* https://github.com/suda/toolbar-main/blob/master/package.json (Atom package.json packageDependencies engines.atom); - +- https://github.com/jerone/PackageSize/blob/master/package.json (multiple package.json dependencies); +- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/disabled/bundlerecurs/package.json +- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-optional-deps/package.json (optionalDependencies & different semver); +- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-bundled-git/package.json (git semver & bundledDependencies); +- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json (npm-shrinkwrap.json); +- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-url-dep/package.json (url semver); +- https://github.com/aspnet/MusicStore/blob/8ce50e3fb34cbfc73537b9cf995fce3608c007fa/samples/MusicStore/project.json (ASP.NET project.json with COMMENTS); +- https://github.com/atom/atom/blob/master/package.json (Atom package.json packageDependencies atomShellVersion); +- https://github.com/suda/toolbar-main/blob/master/package.json (Atom package.json packageDependencies engines.atom); ## Dependencies -* Part of [sindresorhus](https://github.com/sindresorhus) module [**strip-json-comments**](https://github.com/sindresorhus/strip-json-comments) is used. - +- Part of [sindresorhus](https://github.com/sindresorhus) module [**strip-json-comments**](https://github.com/sindresorhus/strip-json-comments) is used. ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/8770-github-json-dependencies-linker) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_JSON_Dependencies_Linker) +- [Greasy Fork](https://greasyfork.org/en/scripts/8770-github-json-dependencies-linker) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_JSON_Dependencies_Linker) diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index 6503bd9..ea4a0c0 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -24,85 +24,220 @@ // cSpell:ignore transform, osvg, opath, gollum, hovercards, profilecols (function () { - var ICONS = {}; - ICONS['octicon-book'] = 'M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z'; - ICONS['octicon-comment-discussion'] = 'M15 1H6c-.55 0-1 .45-1 1v2H1c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h1v3l3-3h4c.55 0 1-.45 1-1V9h1l3 3V9h1c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zM9 11H4.5L3 12.5V11H1V5h4v3c0 .55.45 1 1 1h3v2zm6-3h-2v1.5L11.5 8H6V2h9v6z'; - ICONS['octicon-git-branch'] = 'M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'; - ICONS['octicon-git-branch-create'] = ICONS['octicon-git-branch']; - ICONS['octicon-git-branch-delete'] = ICONS['octicon-git-branch']; - ICONS['octicon-git-commit'] = 'M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z'; - ICONS['octicon-home'] = 'M16 9l-3-3V2h-2v2L8 1 0 9h2l1 5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1l1-5h2zm-4 5H9v-4H7v4H4L2.81 7.69 8 2.5l5.19 5.19L12 14z'; - ICONS['octicon-issue-opened'] = 'M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z'; - ICONS['octicon-person'] = 'M12 14.002a.998.998 0 0 1-.998.998H1.001A1 1 0 0 1 0 13.999V13c0-2.633 4-4 4-4s.229-.409 0-1c-.841-.62-.944-1.59-1-4 .173-2.413 1.867-3 3-3s2.827.586 3 3c-.056 2.41-.159 3.38-1 4-.229.59 0 1 0 1s4 1.367 4 4v1.002z'; - ICONS['octicon-organization'] = 'M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4'; - ICONS['octicon-plus'] = 'M12 9H7v5H5V9H0V7h5V2h2v5h5z'; - ICONS['octicon-radio-tower'] = 'M4.79 6.11c.25-.25.25-.67 0-.92-.32-.33-.48-.76-.48-1.19 0-.43.16-.86.48-1.19.25-.26.25-.67 0-.92a.613.613 0 0 0-.45-.19c-.16 0-.33.06-.45.19-.57.58-.85 1.35-.85 2.11 0 .76.29 1.53.85 2.11.25.25.66.25.9 0zM2.33.52a.651.651 0 0 0-.92 0C.48 1.48.01 2.74.01 3.99c0 1.26.47 2.52 1.4 3.48.25.26.66.26.91 0s.25-.68 0-.94c-.68-.7-1.02-1.62-1.02-2.54 0-.92.34-1.84 1.02-2.54a.66.66 0 0 0 .01-.93zm5.69 5.1A1.62 1.62 0 1 0 6.4 4c-.01.89.72 1.62 1.62 1.62zM14.59.53a.628.628 0 0 0-.91 0c-.25.26-.25.68 0 .94.68.7 1.02 1.62 1.02 2.54 0 .92-.34 1.83-1.02 2.54-.25.26-.25.68 0 .94a.651.651 0 0 0 .92 0c.93-.96 1.4-2.22 1.4-3.48A5.048 5.048 0 0 0 14.59.53zM8.02 6.92c-.41 0-.83-.1-1.2-.3l-3.15 8.37h1.49l.86-1h4l.84 1h1.49L9.21 6.62c-.38.2-.78.3-1.19.3zm-.01.48L9.02 11h-2l.99-3.6zm-1.99 5.59l1-1h2l1 1h-4zm5.19-11.1c-.25.25-.25.67 0 .92.32.33.48.76.48 1.19 0 .43-.16.86-.48 1.19-.25.26-.25.67 0 .92a.63.63 0 0 0 .9 0c.57-.58.85-1.35.85-2.11 0-.76-.28-1.53-.85-2.11a.634.634 0 0 0-.9 0z'; - ICONS['octicon-repo'] = 'M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z'; - ICONS['octicon-repo-clone'] = 'M15 0H9v7c0 .55.45 1 1 1h1v1h1V8h3c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1zm-4 7h-1V6h1v1zm4 0h-3V6h3v1zm0-2h-4V1h4v4zM4 5H3V4h1v1zm0-2H3V2h1v1zM2 1h6V0H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h2v2l1.5-1.5L6 16v-2h5c.55 0 1-.45 1-1v-3H2V1zm9 10v2H6v-1H3v1H1v-2h10zM3 8h1v1H3V8zm1-1H3V6h1v1z'; - ICONS['octicon-repo-create'] = ICONS['octicon-plus']; - ICONS['octicon-repo-push'] = 'M4 3H3V2h1v1zM3 5h1V4H3v1zm4 0L4 9h2v7h2V9h2L7 5zm4-5H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h4v-1H1v-2h4v-1H2V1h9.02L11 10H9v1h2v2H9v1h2c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1z'; - ICONS['octicon-repo-forked'] = 'M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z'; - ICONS['octicon-repo-delete'] = ICONS['octicon-repo']; - ICONS['octicon-repo-pull'] = 'M13 8V6H7V4h6V2l3 3-3 3zM4 2H3v1h1V2zm7 5h1v6c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v2h-1V1H2v9h9V7zm0 4H1v2h2v-1h3v1h5v-2zM4 6H3v1h1V6zm0-2H3v1h1V4zM3 9h1V8H3v1z'; - ICONS['octicon-star'] = 'M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z'; - ICONS['octicon-tag'] = 'M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z'; - ICONS['octicon-tag-add'] = ICONS['octicon-tag']; - ICONS['octicon-tag-remove'] = ICONS['octicon-tag']; - ICONS['octicon-triangle-left'] = 'M6 2L0 8l6 6z'; + ICONS["octicon-book"] = + "M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"; + ICONS["octicon-comment-discussion"] = + "M15 1H6c-.55 0-1 .45-1 1v2H1c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h1v3l3-3h4c.55 0 1-.45 1-1V9h1l3 3V9h1c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zM9 11H4.5L3 12.5V11H1V5h4v3c0 .55.45 1 1 1h3v2zm6-3h-2v1.5L11.5 8H6V2h9v6z"; + ICONS["octicon-git-branch"] = + "M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"; + ICONS["octicon-git-branch-create"] = ICONS["octicon-git-branch"]; + ICONS["octicon-git-branch-delete"] = ICONS["octicon-git-branch"]; + ICONS["octicon-git-commit"] = + "M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"; + ICONS["octicon-home"] = + "M16 9l-3-3V2h-2v2L8 1 0 9h2l1 5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1l1-5h2zm-4 5H9v-4H7v4H4L2.81 7.69 8 2.5l5.19 5.19L12 14z"; + ICONS["octicon-issue-opened"] = + "M7 2.3c3.14 0 5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0 6H6v2h2V10z"; + ICONS["octicon-person"] = + "M12 14.002a.998.998 0 0 1-.998.998H1.001A1 1 0 0 1 0 13.999V13c0-2.633 4-4 4-4s.229-.409 0-1c-.841-.62-.944-1.59-1-4 .173-2.413 1.867-3 3-3s2.827.586 3 3c-.056 2.41-.159 3.38-1 4-.229.59 0 1 0 1s4 1.367 4 4v1.002z"; + ICONS["octicon-organization"] = + "M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4"; + ICONS["octicon-plus"] = "M12 9H7v5H5V9H0V7h5V2h2v5h5z"; + ICONS["octicon-radio-tower"] = + "M4.79 6.11c.25-.25.25-.67 0-.92-.32-.33-.48-.76-.48-1.19 0-.43.16-.86.48-1.19.25-.26.25-.67 0-.92a.613.613 0 0 0-.45-.19c-.16 0-.33.06-.45.19-.57.58-.85 1.35-.85 2.11 0 .76.29 1.53.85 2.11.25.25.66.25.9 0zM2.33.52a.651.651 0 0 0-.92 0C.48 1.48.01 2.74.01 3.99c0 1.26.47 2.52 1.4 3.48.25.26.66.26.91 0s.25-.68 0-.94c-.68-.7-1.02-1.62-1.02-2.54 0-.92.34-1.84 1.02-2.54a.66.66 0 0 0 .01-.93zm5.69 5.1A1.62 1.62 0 1 0 6.4 4c-.01.89.72 1.62 1.62 1.62zM14.59.53a.628.628 0 0 0-.91 0c-.25.26-.25.68 0 .94.68.7 1.02 1.62 1.02 2.54 0 .92-.34 1.83-1.02 2.54-.25.26-.25.68 0 .94a.651.651 0 0 0 .92 0c.93-.96 1.4-2.22 1.4-3.48A5.048 5.048 0 0 0 14.59.53zM8.02 6.92c-.41 0-.83-.1-1.2-.3l-3.15 8.37h1.49l.86-1h4l.84 1h1.49L9.21 6.62c-.38.2-.78.3-1.19.3zm-.01.48L9.02 11h-2l.99-3.6zm-1.99 5.59l1-1h2l1 1h-4zm5.19-11.1c-.25.25-.25.67 0 .92.32.33.48.76.48 1.19 0 .43-.16.86-.48 1.19-.25.26-.25.67 0 .92a.63.63 0 0 0 .9 0c.57-.58.85-1.35.85-2.11 0-.76-.28-1.53-.85-2.11a.634.634 0 0 0-.9 0z"; + ICONS["octicon-repo"] = + "M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"; + ICONS["octicon-repo-clone"] = + "M15 0H9v7c0 .55.45 1 1 1h1v1h1V8h3c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1zm-4 7h-1V6h1v1zm4 0h-3V6h3v1zm0-2h-4V1h4v4zM4 5H3V4h1v1zm0-2H3V2h1v1zM2 1h6V0H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h2v2l1.5-1.5L6 16v-2h5c.55 0 1-.45 1-1v-3H2V1zm9 10v2H6v-1H3v1H1v-2h10zM3 8h1v1H3V8zm1-1H3V6h1v1z"; + ICONS["octicon-repo-create"] = ICONS["octicon-plus"]; + ICONS["octicon-repo-push"] = + "M4 3H3V2h1v1zM3 5h1V4H3v1zm4 0L4 9h2v7h2V9h2L7 5zm4-5H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h4v-1H1v-2h4v-1H2V1h9.02L11 10H9v1h2v2H9v1h2c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1z"; + ICONS["octicon-repo-forked"] = + "M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"; + ICONS["octicon-repo-delete"] = ICONS["octicon-repo"]; + ICONS["octicon-repo-pull"] = + "M13 8V6H7V4h6V2l3 3-3 3zM4 2H3v1h1V2zm7 5h1v6c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v2h-1V1H2v9h9V7zm0 4H1v2h2v-1h3v1h5v-2zM4 6H3v1h1V6zm0-2H3v1h1V4zM3 9h1V8H3v1z"; + ICONS["octicon-star"] = + "M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"; + ICONS["octicon-tag"] = + "M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"; + ICONS["octicon-tag-add"] = ICONS["octicon-tag"]; + ICONS["octicon-tag-remove"] = ICONS["octicon-tag"]; + ICONS["octicon-triangle-left"] = "M6 2L0 8l6 6z"; var ACTIONS = [ - { id: '*-action', text: 'All news feed', icon: 'octicon-radio-tower', classNames: ['*-action'] }, { - id: 'issues', text: 'Issues', icon: 'octicon-issue-opened', classNames: ['issues_labeled'], subFilters: [ - { id: 'issues labeled', text: 'Labeled', icon: 'octicon-tag', classNames: ['issues_labeled'] } - ] + id: "*-action", + text: "All news feed", + icon: "octicon-radio-tower", + classNames: ["*-action"], }, { - id: 'commits', text: 'Commits', icon: 'octicon-git-commit', classNames: ['push', 'commit_comment'], subFilters: [ - { id: 'commits pushed', text: 'Pushed', icon: 'octicon-git-commit', classNames: ['push'] }, - { id: 'commits comments', text: 'Comments', icon: 'octicon-comment-discussion', classNames: ['commit_comment'] } - ] + id: "issues", + text: "Issues", + icon: "octicon-issue-opened", + classNames: ["issues_labeled"], + subFilters: [ + { + id: "issues labeled", + text: "Labeled", + icon: "octicon-tag", + classNames: ["issues_labeled"], + }, + ], }, { - id: 'repo', text: 'Repo', icon: 'octicon-repo', classNames: ['repo', 'create', 'public', 'fork', 'branch_create', 'branch_delete', 'tag_add', 'tag_remove', 'release', 'delete'], subFilters: [ - { id: 'repo created', text: 'Created', icon: 'octicon-repo-create', classNames: ['repo', 'create'] }, - { id: 'repo public', text: 'Public', icon: 'octicon-repo-push', classNames: ['public'] }, - { id: 'repo forked', text: 'Forked', icon: 'octicon-repo-forked', classNames: ['fork'] }, - { id: 'repo deleted', text: 'Deleted', icon: 'octicon-repo-delete', classNames: ['delete'] }, - { id: 'repo released', text: 'Release', icon: 'octicon-repo-pull', classNames: ['release'] }, + id: "commits", + text: "Commits", + icon: "octicon-git-commit", + classNames: ["push", "commit_comment"], + subFilters: [ { - id: 'repo branched', text: 'Branch', icon: 'octicon-git-branch', classNames: ['branch_create', 'branch_delete'], subFilters: [ - { id: 'repo branch created', text: 'Created', icon: 'octicon-git-branch-create', classNames: ['branch_create'] }, - { id: 'repo branch deleted', text: 'Deleted', icon: 'octicon-git-branch-delete', classNames: ['branch_delete'] } - ] + id: "commits pushed", + text: "Pushed", + icon: "octicon-git-commit", + classNames: ["push"], }, { - id: 'repo tagged', text: 'Tag', icon: 'octicon-tag', classNames: ['tag_add', 'tag_remove'], subFilters: [ - { id: 'repo tag added', text: 'Added', icon: 'octicon-tag-add', classNames: ['tag_add'] }, - { id: 'repo tag removed', text: 'Removed', icon: 'octicon-tag-remove', classNames: ['tag_remove'] } - ] - } - ] + id: "commits comments", + text: "Comments", + icon: "octicon-comment-discussion", + classNames: ["commit_comment"], + }, + ], }, - { id: 'user', text: 'User', icon: 'octicon-person', classNames: ['follow'] }, - { id: 'starred', text: 'Starred', icon: 'octicon-star', classNames: ['watch_started'] }, { - id: 'wiki', text: 'Wiki', icon: 'octicon-book', classNames: ['wiki_created', 'wiki_edited'], subFilters: [ - { id: 'wiki created', text: 'Created', icon: 'octicon-plus', classNames: ['wiki_created'] }, - { id: 'wiki edited', text: 'Edited', icon: 'octicon-book', classNames: ['wiki_edited'] } - ] - } + id: "repo", + text: "Repo", + icon: "octicon-repo", + classNames: [ + "repo", + "create", + "public", + "fork", + "branch_create", + "branch_delete", + "tag_add", + "tag_remove", + "release", + "delete", + ], + subFilters: [ + { + id: "repo created", + text: "Created", + icon: "octicon-repo-create", + classNames: ["repo", "create"], + }, + { + id: "repo public", + text: "Public", + icon: "octicon-repo-push", + classNames: ["public"], + }, + { + id: "repo forked", + text: "Forked", + icon: "octicon-repo-forked", + classNames: ["fork"], + }, + { + id: "repo deleted", + text: "Deleted", + icon: "octicon-repo-delete", + classNames: ["delete"], + }, + { + id: "repo released", + text: "Release", + icon: "octicon-repo-pull", + classNames: ["release"], + }, + { + id: "repo branched", + text: "Branch", + icon: "octicon-git-branch", + classNames: ["branch_create", "branch_delete"], + subFilters: [ + { + id: "repo branch created", + text: "Created", + icon: "octicon-git-branch-create", + classNames: ["branch_create"], + }, + { + id: "repo branch deleted", + text: "Deleted", + icon: "octicon-git-branch-delete", + classNames: ["branch_delete"], + }, + ], + }, + { + id: "repo tagged", + text: "Tag", + icon: "octicon-tag", + classNames: ["tag_add", "tag_remove"], + subFilters: [ + { + id: "repo tag added", + text: "Added", + icon: "octicon-tag-add", + classNames: ["tag_add"], + }, + { + id: "repo tag removed", + text: "Removed", + icon: "octicon-tag-remove", + classNames: ["tag_remove"], + }, + ], + }, + ], + }, + { + id: "user", + text: "User", + icon: "octicon-person", + classNames: ["follow"], + }, + { + id: "starred", + text: "Starred", + icon: "octicon-star", + classNames: ["watch_started"], + }, + { + id: "wiki", + text: "Wiki", + icon: "octicon-book", + classNames: ["wiki_created", "wiki_edited"], + subFilters: [ + { + id: "wiki created", + text: "Created", + icon: "octicon-plus", + classNames: ["wiki_created"], + }, + { + id: "wiki edited", + text: "Edited", + icon: "octicon-book", + classNames: ["wiki_edited"], + }, + ], + }, ]; var REPOS = []; var USERS = []; - var datasetId = 'githubNewsFeedFilter'; - var datasetIdLong = 'data-github-news-feed-filter'; - var filterElement = 'github-news-feed-filter'; - var filterListElement = 'github-news-feed-filter-list'; + var datasetId = "githubNewsFeedFilter"; + var datasetIdLong = "data-github-news-feed-filter"; + var filterElement = "github-news-feed-filter"; + var filterListElement = "github-news-feed-filter-list"; function proxy(fn) { return function () { @@ -116,8 +251,8 @@ } function addStyle(css) { - var node = document.createElement('style'); - node.type = 'text/css'; + var node = document.createElement("style"); + node.type = "text/css"; node.appendChild(document.createTextNode(css)); document.head.appendChild(node); } @@ -147,84 +282,122 @@ `); // Add filter menu list. - function addFilterMenu(type, filters, parent, newsContainer, filterContainer, main) { - var ul = document.createElement('ul'); - ul.classList.add('filter-list'); + function addFilterMenu( + type, + filters, + parent, + newsContainer, + filterContainer, + main, + ) { + var ul = document.createElement("ul"); + ul.classList.add("filter-list"); if (main) { - ul.classList.add('mini-repo-list'); + ul.classList.add("mini-repo-list"); } parent.appendChild(ul); filters.forEach(function (subFilter) { - var li = addFilterMenuItem(type, subFilter, ul, newsContainer, filterContainer); + var li = addFilterMenuItem( + type, + subFilter, + ul, + newsContainer, + filterContainer, + ); if (subFilter.subFilters) { - addFilterMenu(type, subFilter.subFilters, li, newsContainer, filterContainer, false); + addFilterMenu( + type, + subFilter.subFilters, + li, + newsContainer, + filterContainer, + false, + ); } }); } // Add filter menu item. - function addFilterMenuItem(type, filter, parent, newsContainer, filterContainer) { + function addFilterMenuItem( + type, + filter, + parent, + newsContainer, + filterContainer, + ) { // Filter item. - var li = document.createElement('li'); - li.classList.add('filter-list-item'); + var li = document.createElement("li"); + li.classList.add("filter-list-item"); li.filterClassNames = filter.classNames; parent.appendChild(li); // Filter link. - var a = document.createElement('a'); - a.classList.add('mini-repo-list-item', 'css-truncate'); - a.setAttribute('href', filter.link || '/'); - a.setAttribute('title', filter.classNames.join(' & ')); + var a = document.createElement("a"); + a.classList.add("mini-repo-list-item", "css-truncate"); + a.setAttribute("href", filter.link || "/"); + a.setAttribute("title", filter.classNames.join(" & ")); a.dataset[datasetId] = filter.id; - a.addEventListener('click', proxy(onFilterItemClick, type, newsContainer, filterContainer)); + a.addEventListener( + "click", + proxy(onFilterItemClick, type, newsContainer, filterContainer), + ); li.appendChild(a); // Filter icon. - var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - svg.classList.add('repo-icon', 'octicon', filter.icon); - svg.setAttribute('height', '16'); - svg.setAttribute('width', '16'); + var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.classList.add("repo-icon", "octicon", filter.icon); + svg.setAttribute("height", "16"); + svg.setAttribute("width", "16"); a.appendChild(svg); - var path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - path.setAttribute('d', ICONS[filter.icon]); + var path = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + path.setAttribute("d", ICONS[filter.icon]); svg.appendChild(path); // Filter text. - var text = filter.text.split('/'); - var t = document.createElement('span'); - t.classList.add('repo-and-owner', 'css-truncate-target'); + var text = filter.text.split("/"); + var t = document.createElement("span"); + t.classList.add("repo-and-owner", "css-truncate-target"); a.appendChild(t); - var to = document.createElement('span'); - to.classList.add('owner'); + var to = document.createElement("span"); + to.classList.add("owner"); to.appendChild(document.createTextNode(text[0])); t.appendChild(to); if (text.length > 1) { text.shift(); - t.appendChild(document.createTextNode('/')); - var tr = document.createElement('span'); - tr.classList.add('repo'); - tr.appendChild(document.createTextNode(text.join('/'))); + t.appendChild(document.createTextNode("/")); + var tr = document.createElement("span"); + tr.classList.add("repo"); + tr.appendChild(document.createTextNode(text.join("/"))); t.appendChild(tr); } // Filter count & sub list arrow. - var s = document.createElement('span'); - s.classList.add('stars'); - var c = document.createElement('span'); - c.classList.add('count'); - c.appendChild(document.createTextNode('0')); + var s = document.createElement("span"); + s.classList.add("stars"); + var c = document.createElement("span"); + c.classList.add("count"); + c.appendChild(document.createTextNode("0")); s.appendChild(c); if (filter.subFilters) { - s.appendChild(document.createTextNode(' ')); - var osvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - osvg.classList.add('octicon', 'octicon-triangle-left'); - osvg.setAttribute('height', '16'); - osvg.setAttribute('width', '6'); + s.appendChild(document.createTextNode(" ")); + var osvg = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + osvg.classList.add("octicon", "octicon-triangle-left"); + osvg.setAttribute("height", "16"); + osvg.setAttribute("width", "6"); s.appendChild(osvg); - var opath = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - opath.setAttribute('d', ICONS['octicon-triangle-left']); + var opath = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + opath.setAttribute("d", ICONS["octicon-triangle-left"]); osvg.appendChild(opath); } a.appendChild(s); @@ -240,13 +413,23 @@ setCurrentFilter(type, this.dataset[datasetId]); // Open/close sub list. - Array.forEach(filterContainer.querySelectorAll(':scope .open'), function (item) { item.classList.remove('open'); }); + Array.forEach( + filterContainer.querySelectorAll(":scope .open"), + function (item) { + item.classList.remove("open"); + }, + ); showParentMenu(this); - this.parentNode.classList.add('open'); + this.parentNode.classList.add("open"); // Give it a colored background. - Array.forEach(filterContainer.querySelectorAll(':scope .private'), function (m) { m.classList.remove('private'); }); - this.parentNode.classList.add('private'); + Array.forEach( + filterContainer.querySelectorAll(":scope .private"), + function (m) { + m.classList.remove("private"); + }, + ); + this.parentNode.classList.add("private"); // Toggle alert visibility. toggleAlertsVisibility(newsContainer); @@ -257,7 +440,9 @@ // Get selected filters. var anyVisibleAlert = false; var classNames = []; - var selected = document.querySelectorAll(":scope " + filterElement + ' .private'); + var selected = document.querySelectorAll( + ":scope " + filterElement + " .private", + ); if (selected.length > 0) { Array.prototype.forEach.call(selected, function (item) { classNames.push(item.filterClassNames); @@ -265,29 +450,44 @@ } // Show/hide alerts. - if (classNames.length === 0 || classNames.every(function (cl) { return cl.every(function (c) { return ~c.indexOf('*'); }); })) { + if ( + classNames.length === 0 || + classNames.every(function (cl) { + return cl.every(function (c) { + return ~c.indexOf("*"); + }); + }) + ) { anyVisibleAlert = true; getAllAlerts(newsContainer).forEach(function (alert) { - alert.style.display = 'block'; + alert.style.display = "block"; }); } else { getAllAlerts(newsContainer).forEach(function (alert) { - var show = classNames.every(function (cl) { return cl.some(function (c) { return ~c.indexOf('*') || alert.classList.contains(c); }); }); + var show = classNames.every(function (cl) { + return cl.some(function (c) { + return ~c.indexOf("*") || alert.classList.contains(c); + }); + }); anyVisibleAlert = show || anyVisibleAlert; - alert.style.display = show ? 'block' : 'none'; + alert.style.display = show ? "block" : "none"; // DEBUG: uncomment following line and comment previous line to debug all alerts. //if(show) alert.style.display = 'none'; }); } // Show/hide message about no alerts. - var none = newsContainer.querySelector(':scope .no-alerts'); + var none = newsContainer.querySelector(":scope .no-alerts"); if (anyVisibleAlert && none) { none.parentNode.removeChild(none); } else if (!anyVisibleAlert && !none) { - none = document.createElement('div'); - none.classList.add('no-alerts'); - none.appendChild(document.createTextNode('No feed items for this filter. Please select another filter.')); + none = document.createElement("div"); + none.classList.add("no-alerts"); + none.appendChild( + document.createTextNode( + "No feed items for this filter. Please select another filter.", + ), + ); var firstAlert = getAllAlerts(newsContainer)[0]; firstAlert.parentNode.insertBefore(none, firstAlert); } @@ -296,8 +496,8 @@ // Traverse back up the tree to open sub lists. function showParentMenu(menuItem) { var parentMenuItem = menuItem.parentNode; - if (parentMenuItem.classList.contains('filter-list-item')) { - parentMenuItem.classList.add('open'); + if (parentMenuItem.classList.contains("filter-list-item")) { + parentMenuItem.classList.add("open"); showParentMenu(parentMenuItem.parentNode); } } @@ -305,42 +505,59 @@ // Fix filter action identification. function fixActionAlerts(newsContainer) { getAllAlerts(newsContainer).forEach(function (alert) { - if (~alert.textContent.indexOf('created branch')) { - alert.classList.remove('create'); - alert.classList.add('branch_create'); - } else if (~alert.textContent.indexOf('deleted branch')) { - alert.classList.remove('delete'); - alert.classList.add('branch_delete'); - } else if (alert.getElementsByClassName('octicon-tag').length > 0 && !alert.classList.contains('release')) { - alert.classList.remove('create'); - alert.classList.add('tag_add'); - } else if (alert.getElementsByClassName('octicon-tag-remove').length > 0) { - alert.classList.remove('delete'); - alert.classList.add('tag_remove'); - } else if (~alert.textContent.indexOf('labeled an issue')) { - alert.classList.add('issues_labeled'); - } else if (alert.classList.contains('gollum')) { - alert.classList.remove('gollum'); - if (~alert.innerText.indexOf(' created a wiki page in ')) { - alert.classList.add('wiki_created'); - } else if (~alert.innerText.indexOf(' edited a wiki page in ')) { - alert.classList.add('wiki_edited'); + if (~alert.textContent.indexOf("created branch")) { + alert.classList.remove("create"); + alert.classList.add("branch_create"); + } else if (~alert.textContent.indexOf("deleted branch")) { + alert.classList.remove("delete"); + alert.classList.add("branch_delete"); + } else if ( + alert.getElementsByClassName("octicon-tag").length > 0 && + !alert.classList.contains("release") + ) { + alert.classList.remove("create"); + alert.classList.add("tag_add"); + } else if ( + alert.getElementsByClassName("octicon-tag-remove").length > 0 + ) { + alert.classList.remove("delete"); + alert.classList.add("tag_remove"); + } else if (~alert.textContent.indexOf("labeled an issue")) { + alert.classList.add("issues_labeled"); + } else if (alert.classList.contains("gollum")) { + alert.classList.remove("gollum"); + if (~alert.innerText.indexOf(" created a wiki page in ")) { + alert.classList.add("wiki_created"); + } else if ( + ~alert.innerText.indexOf(" edited a wiki page in ") + ) { + alert.classList.add("wiki_edited"); } } }); } // Fix filter repo identification. function fixRepoAlerts(newsContainer) { - REPOS = [{ id: '*-repo', text: 'All repositories', icon: 'octicon-repo', classNames: ['*-repo'] }]; + REPOS = [ + { + id: "*-repo", + text: "All repositories", + icon: "octicon-repo", + classNames: ["*-repo"], + }, + ]; // Get unique list of repos. var userRepos = new Set(); getAllAlerts(newsContainer).forEach(function (alert) { - var alertRepo = alert.querySelector(':scope [data-ga-click*="target:repo"]:not([data-ga-click*="target:repositories"])'); - if (alertRepo) { // Follow doesn't contain a repo link. + var alertRepo = alert.querySelector( + ':scope [data-ga-click*="target:repo"]:not([data-ga-click*="target:repositories"])', + ); + if (alertRepo) { + // Follow doesn't contain a repo link. var userRepo = alertRepo.textContent; userRepos.add(userRepo); - var repo = userRepo.split('/')[1]; + var repo = userRepo.split("/")[1]; alert.classList.add(repo, userRepo); } }); @@ -348,7 +565,7 @@ // Get list of user repos (forks) per repo names. var repos = {}; userRepos.forEach(function (userRepo) { - var repo = userRepo.split('/')[1]; + var repo = userRepo.split("/")[1]; if (!repos[repo]) { repos[repo] = []; } @@ -359,12 +576,30 @@ Object.keys(repos).forEach(function (repo) { if (repos[repo].length === 1) { var userRepo = repos[repo][0]; - REPOS.push({ id: userRepo, text: userRepo, link: userRepo, icon: 'octicon-repo', classNames: [userRepo] }); + REPOS.push({ + id: userRepo, + text: userRepo, + link: userRepo, + icon: "octicon-repo", + classNames: [userRepo], + }); } else { - var repoForks = { id: repo, text: repo, icon: 'octicon-repo-clone', classNames: [repo], subFilters: [] }; + var repoForks = { + id: repo, + text: repo, + icon: "octicon-repo-clone", + classNames: [repo], + subFilters: [], + }; repos[repo].forEach(function (userRepo) { repoForks.classNames.push(userRepo); - repoForks.subFilters.push({ id: userRepo, text: userRepo, link: userRepo, icon: 'octicon-repo', classNames: [userRepo] }); + repoForks.subFilters.push({ + id: userRepo, + text: userRepo, + link: userRepo, + icon: "octicon-repo", + classNames: [userRepo], + }); }); REPOS.push(repoForks); } @@ -372,11 +607,20 @@ } // Fix filter user identification. function fixUserAlerts(newsContainer) { - USERS = [{ id: '*-user', text: 'All users', icon: 'octicon-organization', classNames: ['*-user'] }]; + USERS = [ + { + id: "*-user", + text: "All users", + icon: "octicon-organization", + classNames: ["*-user"], + }, + ]; var users = new Set(); getAllAlerts(newsContainer).forEach(function (alert) { - var usernameElms = alert.querySelectorAll(':scope [data-ga-click*="target:actor"]'); + var usernameElms = alert.querySelectorAll( + ':scope [data-ga-click*="target:actor"]', + ); Array.prototype.find.call(usernameElms, function (usernameElm) { var username = usernameElm.textContent; if (username) { @@ -388,56 +632,85 @@ }); }); - [...users].sort(function (a, b) { - return a.toLowerCase().localeCompare(b.toLowerCase()); - }).forEach(function (username) { - var user = { id: username, text: username, icon: 'octicon-person', classNames: [username] }; - USERS.push(user); - }); + [...users] + .sort(function (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()); + }) + .forEach(function (username) { + var user = { + id: username, + text: username, + icon: "octicon-person", + classNames: [username], + }; + USERS.push(user); + }); } // Update filter counts. function updateFilterCounts(filterContainer, newsContainer) { - Array.forEach(filterContainer.querySelectorAll(':scope li.filter-list-item'), function (li) { - // Count alerts based on other filters. - var countFiltered = 0; - var classNames = [li.filterClassNames]; - var selected = document.querySelectorAll(":scope " + filterElement + ' li.filter-list-item.private'); - if (selected.length > 0) { - Array.prototype.forEach.call(selected, function (item) { - if (item.parentNode.parentNode !== filterContainer) { // Exclude list item from current filter container. - classNames.push(item.filterClassNames); - } - }); - } - getAllAlerts(newsContainer).forEach(function (alert) { - var show = classNames.every(function (cl) { return cl.some(function (c) { return ~c.indexOf('*') || alert.classList.contains(c); }); }); - if (show) { - countFiltered++; + Array.forEach( + filterContainer.querySelectorAll(":scope li.filter-list-item"), + function (li) { + // Count alerts based on other filters. + var countFiltered = 0; + var classNames = [li.filterClassNames]; + var selected = document.querySelectorAll( + ":scope " + filterElement + " li.filter-list-item.private", + ); + if (selected.length > 0) { + Array.prototype.forEach.call(selected, function (item) { + if (item.parentNode.parentNode !== filterContainer) { + // Exclude list item from current filter container. + classNames.push(item.filterClassNames); + } + }); } - }); - - // Count alerts based on current filter. - var countAll = 0; - if (~li.filterClassNames[0].indexOf('*')) { - countAll = getAllAlerts(newsContainer).length; - } else { getAllAlerts(newsContainer).forEach(function (alert) { - if (li.filterClassNames.some(function (cl) { return alert.classList.contains(cl); })) { - countAll++; + var show = classNames.every(function (cl) { + return cl.some(function (c) { + return ( + ~c.indexOf("*") || alert.classList.contains(c) + ); + }); + }); + if (show) { + countFiltered++; } }); - } - li.querySelector(':scope .count').textContent = countAll + ' (' + countFiltered + ')'; - }); + // Count alerts based on current filter. + var countAll = 0; + if (~li.filterClassNames[0].indexOf("*")) { + countAll = getAllAlerts(newsContainer).length; + } else { + getAllAlerts(newsContainer).forEach(function (alert) { + if ( + li.filterClassNames.some(function (cl) { + return alert.classList.contains(cl); + }) + ) { + countAll++; + } + }); + } + + li.querySelector(":scope .count").textContent = + countAll + " (" + countFiltered + ")"; + }, + ); } // Get all alerts. function getAllAlerts(newsContainer) { - return Array.prototype.map.call(newsContainer.querySelectorAll(':scope div[data-repository-hovercards-enabled] > div > .body'), function (alert) { - return alert.parentNode; - }); + return Array.prototype.map.call( + newsContainer.querySelectorAll( + ":scope div[data-repository-hovercards-enabled] > div > .body", + ), + function (alert) { + return alert.parentNode; + }, + ); } var CURRENT = {}; @@ -449,22 +722,27 @@ // Get current filter. function getCurrentFilter(type, filterContainer) { - var filter = CURRENT[type] || '*-' + type; - filterContainer.querySelector(':scope [' + datasetIdLong + '="' + filter + '"]').dispatchEvent(new Event('click')); + var filter = CURRENT[type] || "*-" + type; + filterContainer + .querySelector(":scope [" + datasetIdLong + '="' + filter + '"]') + .dispatchEvent(new Event("click")); } // Add filter tab. function addFilterTab(type, text, inner, filterer, onCreate, onSelect) { - var filterTabInner = document.createElement('a'); - filterTabInner.setAttribute('href', '#'); - filterTabInner.classList.add('UnderlineNav-item'); + var filterTabInner = document.createElement("a"); + filterTabInner.setAttribute("href", "#"); + filterTabInner.classList.add("UnderlineNav-item"); filterTabInner.appendChild(document.createTextNode(text)); filterer.appendChild(filterTabInner); var filterContainer = document.createElement(filterListElement); inner.appendChild(filterContainer); - filterTabInner.addEventListener('click', proxy(filterTabInnerClick, type, inner, filterContainer, onSelect)); + filterTabInner.addEventListener( + "click", + proxy(filterTabInnerClick, type, inner, filterContainer, onSelect), + ); onCreate && onCreate(type, filterContainer); } @@ -473,124 +751,203 @@ function filterTabInnerClick(e, type, inner, filterContainer, onSelect) { e.preventDefault(); - var selected = inner.querySelector(':scope .selected'); - selected && selected.classList.remove('selected'); - this.classList.add('selected'); + var selected = inner.querySelector(":scope .selected"); + selected && selected.classList.remove("selected"); + this.classList.add("selected"); - Array.forEach(inner.querySelectorAll(filterListElement), function (menu) { - menu && menu.classList.remove('open'); - }); - filterContainer.classList.add('open'); + Array.forEach( + inner.querySelectorAll(filterListElement), + function (menu) { + menu && menu.classList.remove("open"); + }, + ); + filterContainer.classList.add("open"); onSelect && onSelect(type, filterContainer); } // Init. (function init() { - var newsContainer = document.querySelector('.news'); - if (!newsContainer) { return; } + var newsContainer = document.querySelector(".news"); + if (!newsContainer) { + return; + } // GitHub homepage or profile activity tab. - var sidebar = document.querySelector('.dashboard-sidebar:not(.is-placeholder)') || document.querySelector('.profilecols > .column:first-child'); + var sidebar = + document.querySelector(".dashboard-sidebar:not(.is-placeholder)") || + document.querySelector(".profilecols > .column:first-child"); var wrapper = document.createElement(filterElement); - wrapper.classList.add('boxed-group', 'flush', 'user-repos'); - sidebar.insertBefore(wrapper, sidebar.querySelector(':scope > *:not(details)')); - - var headerAction = document.createElement('div'); - headerAction.classList.add('boxed-group-action'); + wrapper.classList.add("boxed-group", "flush", "user-repos"); + sidebar.insertBefore( + wrapper, + sidebar.querySelector(":scope > *:not(details)"), + ); + + var headerAction = document.createElement("div"); + headerAction.classList.add("boxed-group-action"); wrapper.appendChild(headerAction); - var headerLink = document.createElement('a'); - headerLink.setAttribute('href', 'https://github.com/jerone/UserScripts'); - headerLink.classList.add('btn', 'btn-sm'); + var headerLink = document.createElement("a"); + headerLink.setAttribute( + "href", + "https://github.com/jerone/UserScripts", + ); + headerLink.classList.add("btn", "btn-sm"); headerAction.appendChild(headerLink); - var headerLinkSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - headerLinkSvg.classList.add('octicon', 'octicon-home'); - headerLinkSvg.setAttribute('height', '16'); - headerLinkSvg.setAttribute('width', '16'); - headerLinkSvg.setAttribute('title', 'Open Github News Feed Filter homepage'); + var headerLinkSvg = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + headerLinkSvg.classList.add("octicon", "octicon-home"); + headerLinkSvg.setAttribute("height", "16"); + headerLinkSvg.setAttribute("width", "16"); + headerLinkSvg.setAttribute( + "title", + "Open Github News Feed Filter homepage", + ); headerLink.appendChild(headerLinkSvg); - var headerLinkPath = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - headerLinkPath.setAttribute('d', ICONS['octicon-home']); + var headerLinkPath = document.createElementNS( + "http://www.w3.org/2000/svg", + "path", + ); + headerLinkPath.setAttribute("d", ICONS["octicon-home"]); headerLinkSvg.appendChild(headerLinkPath); - var headerText = document.createElement('h3'); - headerText.appendChild(document.createTextNode('News feed filter')); + var headerText = document.createElement("h3"); + headerText.appendChild(document.createTextNode("News feed filter")); wrapper.appendChild(headerText); - var inner = document.createElement('div'); - inner.classList.add('boxed-group-inner'); + var inner = document.createElement("div"); + inner.classList.add("boxed-group-inner"); wrapper.appendChild(inner); - var bar = document.createElement('div'); - bar.classList.add('filter-bar'); + var bar = document.createElement("div"); + bar.classList.add("filter-bar"); inner.appendChild(bar); - var filterer = document.createElement('nav'); - filterer.classList.add('UnderlineNav-body'); + var filterer = document.createElement("nav"); + filterer.classList.add("UnderlineNav-body"); bar.appendChild(filterer); // Create filter tabs. - addFilterTab('action', 'Actions', inner, filterer, function onCreateActions(type, filterContainer) { - // Create filter menu. - addFilterMenu(type, ACTIONS, filterContainer, newsContainer, filterContainer, true); - }, function onSelectActions(type, filterContainer) { - // Fix alert identification. - fixActionAlerts(newsContainer); - // Update filter counts. - updateFilterCounts(filterContainer, newsContainer); - // Restore current filter. - getCurrentFilter(type, filterContainer); - }); - addFilterTab('repo', 'Repositories', inner, filterer, function onCreateRepos(type, filterContainer) { - // Fix filter identification and create repos list. - fixRepoAlerts(newsContainer); - // Create filter menu. - addFilterMenu(type, REPOS, filterContainer, newsContainer, filterContainer, true); - }, function onSelectRepos(type, filterContainer) { - // Fix alert identification and create repos list. - fixRepoAlerts(newsContainer); - // Empty list, so it can be filled again. - while (filterContainer.hasChildNodes()) { - filterContainer.removeChild(filterContainer.lastChild); - } - // Create filter menu. - addFilterMenu(type, REPOS, filterContainer, newsContainer, filterContainer, true); - // Update filter counts. - updateFilterCounts(filterContainer, newsContainer); - // Restore current filter. - getCurrentFilter(type, filterContainer); - }); - addFilterTab('user', 'Users', inner, filterer, function onCreateUsers(type, filterContainer) { - // Fix filter identification and create users list. - fixUserAlerts(newsContainer); - // Create filter menu. - addFilterMenu(type, USERS, filterContainer, newsContainer, filterContainer, true); - }, function onSelectUsers(type, filterContainer) { - // Fix filter identification and create users list. - fixUserAlerts(newsContainer); - // Empty list, so it can be filled again. - while (filterContainer.hasChildNodes()) { - filterContainer.removeChild(filterContainer.lastChild); - } - // Create filter menu. - addFilterMenu(type, USERS, filterContainer, newsContainer, filterContainer, true); - // Update filter counts. - updateFilterCounts(filterContainer, newsContainer); - // Restore current filter. - getCurrentFilter(type, filterContainer); - }); + addFilterTab( + "action", + "Actions", + inner, + filterer, + function onCreateActions(type, filterContainer) { + // Create filter menu. + addFilterMenu( + type, + ACTIONS, + filterContainer, + newsContainer, + filterContainer, + true, + ); + }, + function onSelectActions(type, filterContainer) { + // Fix alert identification. + fixActionAlerts(newsContainer); + // Update filter counts. + updateFilterCounts(filterContainer, newsContainer); + // Restore current filter. + getCurrentFilter(type, filterContainer); + }, + ); + addFilterTab( + "repo", + "Repositories", + inner, + filterer, + function onCreateRepos(type, filterContainer) { + // Fix filter identification and create repos list. + fixRepoAlerts(newsContainer); + // Create filter menu. + addFilterMenu( + type, + REPOS, + filterContainer, + newsContainer, + filterContainer, + true, + ); + }, + function onSelectRepos(type, filterContainer) { + // Fix alert identification and create repos list. + fixRepoAlerts(newsContainer); + // Empty list, so it can be filled again. + while (filterContainer.hasChildNodes()) { + filterContainer.removeChild(filterContainer.lastChild); + } + // Create filter menu. + addFilterMenu( + type, + REPOS, + filterContainer, + newsContainer, + filterContainer, + true, + ); + // Update filter counts. + updateFilterCounts(filterContainer, newsContainer); + // Restore current filter. + getCurrentFilter(type, filterContainer); + }, + ); + addFilterTab( + "user", + "Users", + inner, + filterer, + function onCreateUsers(type, filterContainer) { + // Fix filter identification and create users list. + fixUserAlerts(newsContainer); + // Create filter menu. + addFilterMenu( + type, + USERS, + filterContainer, + newsContainer, + filterContainer, + true, + ); + }, + function onSelectUsers(type, filterContainer) { + // Fix filter identification and create users list. + fixUserAlerts(newsContainer); + // Empty list, so it can be filled again. + while (filterContainer.hasChildNodes()) { + filterContainer.removeChild(filterContainer.lastChild); + } + // Create filter menu. + addFilterMenu( + type, + USERS, + filterContainer, + newsContainer, + filterContainer, + true, + ); + // Update filter counts. + updateFilterCounts(filterContainer, newsContainer); + // Restore current filter. + getCurrentFilter(type, filterContainer); + }, + ); // Open first filter tab. - filterer.querySelector('a').dispatchEvent(new Event('click')); + filterer.querySelector("a").dispatchEvent(new Event("click")); // Update on clicking "More"-button. new MutationObserver(function () { // Re-click the current selected filter on open filter tab. - filterer.querySelector('a.selected').dispatchEvent(new Event('click')); + filterer + .querySelector("a.selected") + .dispatchEvent(new Event("click")); }).observe(newsContainer, { childList: true, subtree: true }); })(); - })(); diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index a6efda7..a25ed45 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -13,51 +13,51 @@ This script also works for organizations. Currently integrated filters: -* **Actions** +- **Actions** - * Commits + - Commits - * Pushed - * Comments + - Pushed + - Comments - * Repo + - Repo - * Created + - Created - * Public + - Public - * Forked + - Forked - * Deleted + - Deleted - * Release + - Release - * Branch + - Branch - * Created - * Deleted + - Created + - Deleted - * Tag + - Tag - * Added - * Removed + - Added + - Removed - * Follow + - Follow - * Starred + - Starred - * Wiki + - Wiki - * Created - * Edited + - Created + - Edited -* **Repositories** +- **Repositories** - * _Variable on the repos currently in your news list._ + - _Variable on the repos currently in your news list._ -* **Users** +- **Users** - * _Variable on the users currently in your news list._ + - _Variable on the users currently in your news list._ ## Screenshot @@ -65,162 +65,162 @@ Currently integrated filters: ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **8.2.8** +- **8.2.8** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **8.2.7** - - * 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68). +- **8.2.7** -* **8.2.6** - - * 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68) with [#140](https://github.com/jerone/UserScripts/pull/140) (thanks [@darkred](https://github.com/darkred)). + - 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68). -* **8.2.5** - - * 🐛 Fix showing filter. Fixes [#137](https://github.com/jerone/UserScripts/issues/137). +- **8.2.6** -* **8.2.4** - - * 🐛 Nav styling. Fixes [#130](https://github.com/jerone/UserScripts/issues/130) and closes [#132](https://github.com/jerone/UserScripts/issues/132) (thanks [@darkred](https://github.com/darkred)). + - 🐛 Fix after another layout change. Refixes [#68](https://github.com/jerone/UserScripts/issues/68) with [#140](https://github.com/jerone/UserScripts/pull/140) (thanks [@darkred](https://github.com/darkred)). -* **8.2.3** +- **8.2.5** - * ✨ Re-added of the "Issues" filter ( Issues|Labeled ) which was removed per [#121 (comment)](https://github.com/jerone/UserScripts/issues/121#issuecomment-336629514) after another GitHub site update (by [@darkred](https://github.com/darkred)). + - 🐛 Fix showing filter. Fixes [#137](https://github.com/jerone/UserScripts/issues/137). -* **8.2.2** +- **8.2.4** - * 🐛 Fix after another layout change. + - 🐛 Nav styling. Fixes [#130](https://github.com/jerone/UserScripts/issues/130) and closes [#132](https://github.com/jerone/UserScripts/issues/132) (thanks [@darkred](https://github.com/darkred)). -* **8.2.1** +- **8.2.3** - * 🐛 Fix for 'Actions' tab|'Wiki' being empty after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#127](https://github.com/jerone/UserScripts/issues/127)). - * 🐛 Fix missing created repo actions. + - ✨ Re-added of the "Issues" filter ( Issues|Labeled ) which was removed per [#121 (comment)](https://github.com/jerone/UserScripts/issues/121#issuecomment-336629514) after another GitHub site update (by [@darkred](https://github.com/darkred)). -* **8.2.0** +- **8.2.2** - * 🐛 Fixed issues after GitHub site update ([#124](https://github.com/jerone/UserScripts/issues/124)). + - 🐛 Fix after another layout change. -* **8.1.1** +- **8.2.1** - * 🐛 Fix the 'Repositories' tab being empty ([#124](https://github.com/jerone/UserScripts/issues/124), fixed by [@darkred](https://github.com/darkred) in [#126](https://github.com/jerone/UserScripts/pull/126)). + - 🐛 Fix for 'Actions' tab|'Wiki' being empty after GitHub site update (fixed by [@darkred](https://github.com/darkred) in [#127](https://github.com/jerone/UserScripts/issues/127)). + - 🐛 Fix missing created repo actions. -* **8.1.0** +- **8.2.0** - * 🐛 Ignore repo detection on follow alerts. - * ✨ Filter by follow action. + - 🐛 Fixed issues after GitHub site update ([#124](https://github.com/jerone/UserScripts/issues/124)). -* **8.0.0** +- **8.1.1** - * Fixed issues after GitHub site update ([#121](https://github.com/jerone/UserScripts/issues/121)). + - 🐛 Fix the 'Repositories' tab being empty ([#124](https://github.com/jerone/UserScripts/issues/124), fixed by [@darkred](https://github.com/darkred) in [#126](https://github.com/jerone/UserScripts/pull/126)). + +- **8.1.0** + + - 🐛 Ignore repo detection on follow alerts. + - ✨ Filter by follow action. + +- **8.0.0** + + - Fixed issues after GitHub site update ([#121](https://github.com/jerone/UserScripts/issues/121)). GitHub completely redesigned the news feed and removed the issue, PR, member adding and gist related news items. -* **7.2.0** +- **7.2.0** - * ✨ Filter by user. + - ✨ Filter by user. -* **7.1.0** +- **7.1.0** - * 🐛 Fixed issues after layout updates. Closes [#114](https://github.com/jerone/UserScripts/pull/114). + - 🐛 Fixed issues after layout updates. Closes [#114](https://github.com/jerone/UserScripts/pull/114). -* **7.0.1** +- **7.0.1** - * 🐛 Fixed falsely identification branch creation and deletion. + - 🐛 Fixed falsely identification branch creation and deletion. -* **7.0.0** +- **7.0.0** - * Restored icons after GitHub switching to SVG. + - Restored icons after GitHub switching to SVG. -* **6.2** +- **6.2** - * ✨ Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70). + - ✨ Filter by repo. Fixes [#70](https://github.com/jerone/UserScripts/issues/70). -* **6.1** +- **6.1** - * 🐛 Fixed counting repo releases as tag actions. - * ✨ Split wiki filter in created and edited. + - 🐛 Fixed counting repo releases as tag actions. + - ✨ Split wiki filter in created and edited. -* **6.0** +- **6.0** - * Fixed issues after GitHub site update ([#68](https://github.com/jerone/UserScripts/issues/68)). + - Fixed issues after GitHub site update ([#68](https://github.com/jerone/UserScripts/issues/68)). -* **5.3** +- **5.3** - * Added filter history support. + - Added filter history support. -* **5.2** +- **5.2** - * Fixed issues after GitHub site update ([#6](https://github.com/jerone/UserScripts/issues/6)). + - Fixed issues after GitHub site update ([#6](https://github.com/jerone/UserScripts/issues/6)). -* **5.1** +- **5.1** - * Added support for user public activity. + - Added support for user public activity. -* **5.0** +- **5.0** - * More filters added. + - More filters added. -* **4.6** +- **4.6** - * Show message when filter has no feed items. + - Show message when filter has no feed items. -* **4.5** +- **4.5** - * Added branch deleting support. + - Added branch deleting support. -* **4.4** +- **4.4** - * Added support for organizations. - * Added commit comments. + - Added support for organizations. + - Added commit comments. -* **4.3** +- **4.3** - * Reordered menu. - * Expanded Gist create & update. - * Changed Starred in User actions and added member add. + - Reordered menu. + - Expanded Gist create & update. + - Changed Starred in User actions and added member add. -* **4.2** +- **4.2** - * Added support for Scriptish. + - Added support for Scriptish. -* **4.1** +- **4.1** - * Added fork filter. - * Added sub-filters for issues (comments, opened, closed, reopened). + - Added fork filter. + - Added sub-filters for issues (comments, opened, closed, reopened). -* **4.0** +- **4.0** - * Better integrated menu style. + - Better integrated menu style. -* **3.1** +- **3.1** - * Moved PR comments to PR filter. + - Moved PR comments to PR filter. -* **3.0** +- **3.0** - * Added Stars, Repo and Wiki filter. - * Moved Comments to Issues filter. - * Made menu lower. + - Added Stars, Repo and Wiki filter. + - Moved Comments to Issues filter. + - Made menu lower. -* **2.0** +- **2.0** - * Added Pull Requests filter. + - Added Pull Requests filter. -* **1.0** +- **1.0** - * Initial version. + - Initial version. ## Contributors -* [darkred](https://github.com/darkred) +- [darkred](https://github.com/darkred) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/171-github-news-feed-filter) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_News_Feed_Filter) +- [Greasy Fork](https://greasyfork.org/scripts/171-github-news-feed-filter) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_News_Feed_Filter) diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index bcaeced..689916d 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -21,7 +21,6 @@ // ==/UserScript== (function () { - String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); return string.replace(/{(\d+)}/g, function (match, number) { @@ -34,46 +33,63 @@ return; } - var meta = document.querySelector('main h1'); + var meta = document.querySelector("main h1"); if (!meta) { return; } - var branchSelector = document.querySelector('#branch-select-menu'); + var branchSelector = document.querySelector("#branch-select-menu"); if (!branchSelector) { return; } - var branch = document.querySelector('.SelectMenu-item[href$="/tree/gh-pages"]'); + var branch = document.querySelector( + '.SelectMenu-item[href$="/tree/gh-pages"]', + ); if (branch) { createLink(branch); } else { const observer = new MutationObserver(function () { - var branch2 = document.querySelector('.SelectMenu-item[href$="/tree/gh-pages"]'); + var branch2 = document.querySelector( + '.SelectMenu-item[href$="/tree/gh-pages"]', + ); if (branch2) { observer.disconnect(); createLink(branch2); } }); - observer.observe(branchSelector, { subtree: true, childList: true }); + observer.observe(branchSelector, { + subtree: true, + childList: true, + }); - var dropdown = branchSelector.querySelector('ref-selector'); + var dropdown = branchSelector.querySelector("ref-selector"); window.setTimeout(function () { - dropdown.dispatchEvent(new CustomEvent('container-mouseover', { bubbles: true })); + dropdown.dispatchEvent( + new CustomEvent("container-mouseover", { bubbles: true }), + ); }, 100); } function createLink(branch2) { var tree = branch2.getAttribute("href").split("/"); // `/{user}/{repo}/tree/gh-pages`; - var url = String.format("{0}//{1}.github.io/{2}/", tree[0], tree[3], tree[4]); + var url = String.format( + "{0}//{1}.github.io/{2}/", + tree[0], + tree[3], + tree[4], + ); var div = document.createElement("small"); div.id = "GithubPagesLinker"; meta.parentNode.insertBefore(div, meta.nextSibling); var img = document.createElement("img"); - img.setAttribute("src", "https://github.githubassets.com/images/icons/emoji/octocat.png"); + img.setAttribute( + "src", + "https://github.githubassets.com/images/icons/emoji/octocat.png", + ); img.setAttribute("align", "absmiddle"); img.classList.add("emoji"); img.style.height = "16px"; @@ -102,6 +118,5 @@ addLink(); // On pjax; - document.addEventListener('pjax:end', addLink); - + document.addEventListener("pjax:end", addLink); })(); diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index dbafb07..988f9ab 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -15,45 +15,45 @@ Add a link to GitHub Pages (gh-pages) when available. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.2.3** +- **1.2.3** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **1.2.2** +- **1.2.2** - * Fixed issues after layout updates + - Fixed issues after layout updates -* **1.2.1** +- **1.2.1** - * Fix 301 Moved Permanently redirects. Fixes [#72](https://github.com/jerone/UserScripts/issues/72) + - Fix 301 Moved Permanently redirects. Fixes [#72](https://github.com/jerone/UserScripts/issues/72) -* **1.2** +- **1.2** - * Don't add the link if it already exists (closes [#63](https://github.com/jerone/UserScripts/pull/63)) + - Don't add the link if it already exists (closes [#63](https://github.com/jerone/UserScripts/pull/63)) -* **1.1** +- **1.1** - * Added class to identify element + - Added class to identify element -* **1.0** +- **1.0** - * Initial version + - Initial version ## Notes Test cases: -* with +- with ## Contributors -* [Efreak](https://github.com/Efreak) +- [Efreak](https://github.com/Efreak) ## External links -* [Greasy Fork](https://greasyfork.org/scripts/6519-github-pages-linker) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pages_Linker) +- [Greasy Fork](https://greasyfork.org/scripts/6519-github-pages-linker) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pages_Linker) diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index 7a8656c..e9c6a78 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -21,38 +21,48 @@ // ==/UserScript== (function () { - String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); return string.replace(/{(\d+)}/g, function (match, number) { - return typeof args[number] !== 'undefined' ? args[number] : match; + return typeof args[number] !== "undefined" ? args[number] : match; }); }; function init() { - Array.prototype.filter.call(document.querySelectorAll('.commit-ref[title], .base-ref[title], .head-ref[title]'), function (treeSpan) { - return !treeSpan.querySelector('.unknown-repo'); - }).forEach(function (treeSpan) { - const [repo, branch] = treeSpan.title.split(':'); - var treeParts = treeSpan.querySelectorAll('.css-truncate-target'); - var treeLink = document.createElement('a'); + Array.prototype.filter + .call( + document.querySelectorAll( + ".commit-ref[title], .base-ref[title], .head-ref[title]", + ), + function (treeSpan) { + return !treeSpan.querySelector(".unknown-repo"); + }, + ) + .forEach(function (treeSpan) { + const [repo, branch] = treeSpan.title.split(":"); + var treeParts = treeSpan.querySelectorAll( + ".css-truncate-target", + ); + var treeLink = document.createElement("a"); - // Show underline on hover. - Array.prototype.forEach.call(treeParts, function (part) { - part.style.display = 'inline'; - }); + // Show underline on hover. + Array.prototype.forEach.call(treeParts, function (part) { + part.style.display = "inline"; + }); - treeLink.setAttribute('href', String.format('/{0}/tree/{1}', repo, branch)); - treeLink.innerHTML = treeSpan.innerHTML; - treeSpan.innerHTML = ''; - treeSpan.appendChild(treeLink); - }); + treeLink.setAttribute( + "href", + String.format("/{0}/tree/{1}", repo, branch), + ); + treeLink.innerHTML = treeSpan.innerHTML; + treeSpan.innerHTML = ""; + treeSpan.appendChild(treeLink); + }); } // Page load. init(); // On pjax. - document.addEventListener('pjax:end', init); - + document.addEventListener("pjax:end", init); })(); diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 135dc77..b44acd5 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -5,70 +5,63 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Make pull request branches linkable. - ## Screenshot ![Github Pull Request From Link screenshot](https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/screenshot.jpg) - ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla [Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla [Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **20.1** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **20.0** - * Fix url on forks where another repo name is choosen. Fixes [145](https://github.com/jerone/UserScripts/issues/145). - * Run on more elements. -* **19.1** - * Don't run on repo search page. -* **19** - * Don't run on .patch & .diff route. -* **18** - * Use a host-relative url so that github enterprise is supported. Fixes [#117](https://github.com/jerone/UserScripts/issues/117). -* **17** - * Fixed issues after recent layout updates. Fixes [#111](https://github.com/jerone/UserScripts/issues/111). -* **16** - * Show underline. Fixes [#93](https://github.com/jerone/UserScripts/issues/93). -* **15** - * Fixed invalid chars in url. -* **14** - * Fixed issues after recent layout updates. -* **13** - * Add missing tree author. Fixes [#51](https://github.com/jerone/UserScripts/issues/51). -* **12** - * Don't link "unknown repository". Fixes [#22](https://github.com/jerone/UserScripts/issues/22). -* **11** - * Fixed issues after recent layout updates. - * Added native & TamperMonkey for Google Chrome compatibility. -* **10** - * Initial version. - +- **20.1** + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). +- **20.0** + - Fix url on forks where another repo name is choosen. Fixes [145](https://github.com/jerone/UserScripts/issues/145). + - Run on more elements. +- **19.1** + - Don't run on repo search page. +- **19** + - Don't run on .patch & .diff route. +- **18** + - Use a host-relative url so that github enterprise is supported. Fixes [#117](https://github.com/jerone/UserScripts/issues/117). +- **17** + - Fixed issues after recent layout updates. Fixes [#111](https://github.com/jerone/UserScripts/issues/111). +- **16** + - Show underline. Fixes [#93](https://github.com/jerone/UserScripts/issues/93). +- **15** + - Fixed invalid chars in url. +- **14** + - Fixed issues after recent layout updates. +- **13** + - Add missing tree author. Fixes [#51](https://github.com/jerone/UserScripts/issues/51). +- **12** + - Don't link "unknown repository". Fixes [#22](https://github.com/jerone/UserScripts/issues/22). +- **11** + - Fixed issues after recent layout updates. + - Added native & TamperMonkey for Google Chrome compatibility. +- **10** + - Initial version. ## Notes Use cases: -* (2 valid, 1 missing). -* (1 mine, 1 extern). -* (3 without username). -* (fork renamed). - +- (2 valid, 1 missing). +- (1 mine, 1 extern). +- (3 without username). +- (fork renamed). ## Contributions -* Changes based on Firefox extension [GitHubExtIns](https://github.com/diegocr/GitHubExtIns) by [Diego Casorran](https://github.com/diegocr). - +- Changes based on Firefox extension [GitHubExtIns](https://github.com/diegocr/GitHubExtIns) by [Diego Casorran](https://github.com/diegocr). ## External links -* [Greasy Fork](https://greasyfork.org/scripts/64-github-pull-request-from-link) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pull_Request_From_Link) +- [Greasy Fork](https://greasyfork.org/scripts/64-github-pull-request-from-link) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Pull_Request_From_Link) diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index f480d09..b0fb581 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -16,72 +16,72 @@ reply button on an comment. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* version **1.0.5** +- version **1.0.5** - * 🐛 Enable the Comment button. Fixes ([#152](https://github.com/jerone/UserScripts/issues/152)). - * Compatible (partially) with [GitHub Writer](https://github.com/ckeditor/github-writer#readme). + - 🐛 Enable the Comment button. Fixes ([#152](https://github.com/jerone/UserScripts/issues/152)). + - Compatible (partially) with [GitHub Writer](https://github.com/ckeditor/github-writer#readme). -* version **1.0.4** +- version **1.0.4** - * 🐛 Fix link to authors with spaces in their name. Fixes ([#150](https://github.com/jerone/UserScripts/issues/150)). + - 🐛 Fix link to authors with spaces in their name. Fixes ([#150](https://github.com/jerone/UserScripts/issues/150)). -* version **1.0.3** +- version **1.0.3** - * 🐛 Fix broken timestamp detection ([#149](https://github.com/jerone/UserScripts/issues/149)). + - 🐛 Fix broken timestamp detection ([#149](https://github.com/jerone/UserScripts/issues/149)). -* version **1.0.2** +- version **1.0.2** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* version **1.0.1** +- version **1.0.1** - * Use atx style headings, fenced code blocks, dense hr style. - * Remove trailing new line & ['Toggle code wrap'](https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap) button from code blocks. - * Update [turndown-plugin-github-code-snippet](https://github.com/jerone/turndown-plugin-github-code-snippet). + - Use atx style headings, fenced code blocks, dense hr style. + - Remove trailing new line & ['Toggle code wrap'](https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap) button from code blocks. + - Update [turndown-plugin-github-code-snippet](https://github.com/jerone/turndown-plugin-github-code-snippet). -* version **1.0.0** +- version **1.0.0** - * Replace to-markdown with [Turndown](https://github.com/domchristie/turndown). - * Some clean up. - * Always fallback to Turndown when original comment code is not available. - * Convert code snippets back to links. Fixes [#144](https://github.com/jerone/UserScripts/issues/133). + - Replace to-markdown with [Turndown](https://github.com/domchristie/turndown). + - Some clean up. + - Always fallback to Turndown when original comment code is not available. + - Convert code snippets back to links. Fixes [#144](https://github.com/jerone/UserScripts/issues/133). -* version **0.1.2** +- version **0.1.2** - * Fix reply button for commits & reviews. Fixes [#133](https://github.com/jerone/UserScripts/issues/133). + - Fix reply button for commits & reviews. Fixes [#133](https://github.com/jerone/UserScripts/issues/133). -* version **0.1.1** +- version **0.1.1** - * Fix reply button for reviews. Fixes [#125](https://github.com/jerone/UserScripts/issues/125). + - Fix reply button for reviews. Fixes [#125](https://github.com/jerone/UserScripts/issues/125). -* version **0.1.0** +- version **0.1.0** - * Initial version. + - Initial version. ## Test cases -* [https://github.com/jerone/UserScripts/issues/1](https://github.com/jerone/UserScripts/issues/1) -(issue comments) +- [https://github.com/jerone/UserScripts/issues/1](https://github.com/jerone/UserScripts/issues/1) + (issue comments) -* [https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df](https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df) -(commit comments & inline comments) +- [https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df](https://github.com/jerone/UserScripts/commit/036935761fc47e8c448378f2730a6ae8548fa8df) + (commit comments & inline comments) -* [https://github.com/jerone/UserScripts/pull/49](https://github.com/jerone/UserScripts/pull/49) -(PR comments & PR review comments & [PR commit comments](https://github.com/jerone/UserScripts/pull/49/files)) +- [https://github.com/jerone/UserScripts/pull/49](https://github.com/jerone/UserScripts/pull/49) + (PR comments & PR review comments & [PR commit comments](https://github.com/jerone/UserScripts/pull/49/files)) -* [https://gist.github.com/jerone/9526258](https://gist.github.com/jerone/9526258) (comments) +- [https://gist.github.com/jerone/9526258](https://gist.github.com/jerone/9526258) (comments) ## Dependencies -* [Turndown](https://github.com/domchristie/turndown) - Convert HTML into Markdown with JavaScript. -* [turndown-plugin-gfm](https://github.com/domchristie/turndown-plugin-gfm/blob/master/README.md) - A Turndown plugin which adds GitHub Flavored Markdown extensions. -* [turndown-plugin-github-code-snippet](https://github.com/jerone/turndown-plugin-github-code-snippet) - A Turndown plugin to convert GitHub code snippet in comments back into normal links. +- [Turndown](https://github.com/domchristie/turndown) - Convert HTML into Markdown with JavaScript. +- [turndown-plugin-gfm](https://github.com/domchristie/turndown-plugin-gfm/blob/master/README.md) - A Turndown plugin which adds GitHub Flavored Markdown extensions. +- [turndown-plugin-github-code-snippet](https://github.com/jerone/turndown-plugin-github-code-snippet) - A Turndown plugin to convert GitHub code snippet in comments back into normal links. ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/38372-github-reply-comments) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Reply_Comments) +- [Greasy Fork](https://greasyfork.org/en/scripts/38372-github-reply-comments) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_Reply_Comments) diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index e138232..8025ff4 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -26,8 +26,7 @@ // cSpell:ignore leaderboard, vcard, transform -(function() { - +(function () { function proxy(fn) { return function proxyScope() { var that = this; @@ -41,291 +40,253 @@ var _timer; - var userMenu = document.createElement('div'); + var userMenu = document.createElement("div"); userMenu.style = - 'display: none;' + - 'background-color: #F5F5F5;' + - 'border-radius: 3px;' + - 'border: 1px solid #DDDDDD;' + - 'box-shadow: 0 0 10px rgba(0, 0, 1, 0.1);' + - 'font-size: 11px;' + - 'padding: 10px;' + - 'position: absolute;' + - 'width: 335px;' + - 'z-index: 99;'; - userMenu.classList.add('GithubUserInfo'); - userMenu.addEventListener('mouseleave', function mouseleave() { + "display: none;" + + "background-color: #F5F5F5;" + + "border-radius: 3px;" + + "border: 1px solid #DDDDDD;" + + "box-shadow: 0 0 10px rgba(0, 0, 1, 0.1);" + + "font-size: 11px;" + + "padding: 10px;" + + "position: absolute;" + + "width: 335px;" + + "z-index: 99;"; + userMenu.classList.add("GithubUserInfo"); + userMenu.addEventListener("mouseleave", function mouseleave() { // console.log('GithubUserInfo:userMenu', 'mouseleave'); window.clearTimeout(_timer); - userMenu.style.display = 'none'; + userMenu.style.display = "none"; }); document.body.appendChild(userMenu); - - var userAvatar = document.createElement('a'); + var userAvatar = document.createElement("a"); userAvatar.style = - 'width: 100px;' + - 'height: 100px;' + - 'float: left;' + - 'margin-bottom: 10px;'; + "width: 100px;" + + "height: 100px;" + + "float: left;" + + "margin-bottom: 10px;"; userMenu.appendChild(userAvatar); - var userAvatarImg = document.createElement('img'); + var userAvatarImg = document.createElement("img"); userAvatarImg.style = - 'border-radius: 3px;' + - 'transition-property: height, width;' + - 'transition-duration: 0.5s;'; + "border-radius: 3px;" + + "transition-property: height, width;" + + "transition-duration: 0.5s;"; userAvatar.appendChild(userAvatarImg); - - var userInfo = document.createElement('div'); - userInfo.style = - 'width: 100%;' + - 'padding-left: 102px;'; + var userInfo = document.createElement("div"); + userInfo.style = "width: 100%;" + "padding-left: 102px;"; userMenu.appendChild(userInfo); - var userName = document.createElement('div'); + var userName = document.createElement("div"); userName.style = - 'padding-left: 24px;' + - 'white-space: nowrap;' + - 'overflow: hidden;' + - 'text-overflow: ellipsis;' + - 'font-weight: bold;'; + "padding-left: 24px;" + + "white-space: nowrap;" + + "overflow: hidden;" + + "text-overflow: ellipsis;" + + "font-weight: bold;"; userInfo.appendChild(userName); - var userCompany = document.createElement('div'); + var userCompany = document.createElement("div"); userCompany.style = - 'display: none;' + - 'white-space: nowrap;' + - 'overflow: hidden;' + - 'text-overflow: ellipsis;'; + "display: none;" + + "white-space: nowrap;" + + "overflow: hidden;" + + "text-overflow: ellipsis;"; userInfo.appendChild(userCompany); - var userCompanyIcon = document.createElement('span'); - userCompanyIcon.classList.add('octicon', 'octicon-organization'); + var userCompanyIcon = document.createElement("span"); + userCompanyIcon.classList.add("octicon", "octicon-organization"); userCompanyIcon.style = - 'width: 24px;' + - 'text-align: center;' + - 'color: #CCC;'; + "width: 24px;" + "text-align: center;" + "color: #CCC;"; userCompany.appendChild(userCompanyIcon); - var userCompanyText = document.createElement('span'); + var userCompanyText = document.createElement("span"); userCompany.appendChild(userCompanyText); - var userCompanyAdmin = document.createElement('span'); + var userCompanyAdmin = document.createElement("span"); userCompanyAdmin.style = - 'display: none;' + - 'margin-left: 5px;' + - 'position: relative;' + - 'top: -1px;' + - 'padding: 2px 5px;' + - 'font-size: 10px;' + - 'font-weight: bold;' + - 'color: #FFF;' + - 'text-transform: uppercase;' + - 'background-color: #4183C4;' + - 'border-radius: 3px;'; - userCompanyAdmin.appendChild(document.createTextNode('Staff')); + "display: none;" + + "margin-left: 5px;" + + "position: relative;" + + "top: -1px;" + + "padding: 2px 5px;" + + "font-size: 10px;" + + "font-weight: bold;" + + "color: #FFF;" + + "text-transform: uppercase;" + + "background-color: #4183C4;" + + "border-radius: 3px;"; + userCompanyAdmin.appendChild(document.createTextNode("Staff")); userCompany.appendChild(userCompanyAdmin); - var userLocation = document.createElement('div'); + var userLocation = document.createElement("div"); userLocation.style = - 'display: none;' + - 'white-space: nowrap;' + - 'overflow: hidden;' + - 'text-overflow: ellipsis;'; + "display: none;" + + "white-space: nowrap;" + + "overflow: hidden;" + + "text-overflow: ellipsis;"; userInfo.appendChild(userLocation); - var userLocationIcon = document.createElement('span'); - userLocationIcon.classList.add('octicon', 'octicon-location'); + var userLocationIcon = document.createElement("span"); + userLocationIcon.classList.add("octicon", "octicon-location"); userLocationIcon.style = - 'width: 24px;' + - 'text-align: center;' + - 'color: #CCC;'; + "width: 24px;" + "text-align: center;" + "color: #CCC;"; userLocation.appendChild(userLocationIcon); - var userLocationText = document.createElement('a'); - userLocationText.setAttribute('target', '_blank'); + var userLocationText = document.createElement("a"); + userLocationText.setAttribute("target", "_blank"); userLocation.appendChild(userLocationText); - var userMail = document.createElement('div'); + var userMail = document.createElement("div"); userMail.style = - 'display: none;' + - 'white-space: nowrap;' + - 'overflow: hidden;' + - 'text-overflow: ellipsis;'; + "display: none;" + + "white-space: nowrap;" + + "overflow: hidden;" + + "text-overflow: ellipsis;"; userInfo.appendChild(userMail); - var userMailIcon = document.createElement('span'); - userMailIcon.classList.add('octicon', 'octicon-mail'); + var userMailIcon = document.createElement("span"); + userMailIcon.classList.add("octicon", "octicon-mail"); userMailIcon.style = - 'width: 24px;' + - 'text-align: center;' + - 'color: #CCC;'; + "width: 24px;" + "text-align: center;" + "color: #CCC;"; userMail.appendChild(userMailIcon); - var userMailText = document.createElement('a'); + var userMailText = document.createElement("a"); userMail.appendChild(userMailText); - var userLink = document.createElement('div'); + var userLink = document.createElement("div"); userLink.style = - 'display: none;' + - 'white-space: nowrap;' + - 'overflow: hidden;' + - 'text-overflow: ellipsis;'; + "display: none;" + + "white-space: nowrap;" + + "overflow: hidden;" + + "text-overflow: ellipsis;"; userInfo.appendChild(userLink); - var userLinkIcon = document.createElement('span'); - userLinkIcon.classList.add('octicon', 'octicon-link'); + var userLinkIcon = document.createElement("span"); + userLinkIcon.classList.add("octicon", "octicon-link"); userLinkIcon.style = - 'width: 24px;' + - 'text-align: center;' + - 'color: #CCC;'; + "width: 24px;" + "text-align: center;" + "color: #CCC;"; userLink.appendChild(userLinkIcon); - var userLinkText = document.createElement('a'); - userLinkText.setAttribute('target', '_blank'); + var userLinkText = document.createElement("a"); + userLinkText.setAttribute("target", "_blank"); userLink.appendChild(userLinkText); - var userJoined = document.createElement('div'); + var userJoined = document.createElement("div"); userJoined.style = - 'display: none;' + - 'white-space: nowrap;' + - 'overflow: hidden;' + - 'text-overflow: ellipsis;'; + "display: none;" + + "white-space: nowrap;" + + "overflow: hidden;" + + "text-overflow: ellipsis;"; userInfo.appendChild(userJoined); - var userJoinedIcon = document.createElement('span'); - userJoinedIcon.classList.add('octicon', 'octicon-clock'); + var userJoinedIcon = document.createElement("span"); + userJoinedIcon.classList.add("octicon", "octicon-clock"); userJoinedIcon.style = - 'width: 24px;' + - 'text-align: center;' + - 'color: #CCC;'; + "width: 24px;" + "text-align: center;" + "color: #CCC;"; userJoined.appendChild(userJoinedIcon); - userJoined.appendChild(document.createTextNode('Joined ')); - var userJoinedText = unsafeWindow.document.createElement('relative-time'); // https://github.com/github/time-elements - userJoinedText.setAttribute('day', 'numeric'); - userJoinedText.setAttribute('month', 'short'); - userJoinedText.setAttribute('year', 'numeric'); + userJoined.appendChild(document.createTextNode("Joined ")); + var userJoinedText = unsafeWindow.document.createElement("relative-time"); // https://github.com/github/time-elements + userJoinedText.setAttribute("day", "numeric"); + userJoinedText.setAttribute("month", "short"); + userJoinedText.setAttribute("year", "numeric"); userJoined.appendChild(userJoinedText); - - var userCounts = document.createElement('div'); + var userCounts = document.createElement("div"); userCounts.style = - 'border-top: 1px solid #EEE;' + - 'clear: left;' + - 'display: flex;' + - 'justify-content: space-around;' + - 'text-align: center;' + - 'white-space: nowrap;'; + "border-top: 1px solid #EEE;" + + "clear: left;" + + "display: flex;" + + "justify-content: space-around;" + + "text-align: center;" + + "white-space: nowrap;"; userMenu.appendChild(userCounts); - var userFollowers = document.createElement('a'); - userFollowers.style = - 'display: none;' + - 'text-decoration: none;'; - userFollowers.classList.add('vcard-stat'); - userFollowers.setAttribute('target', '_blank'); - userFollowers.setAttribute('title', 'Followers'); + var userFollowers = document.createElement("a"); + userFollowers.style = "display: none;" + "text-decoration: none;"; + userFollowers.classList.add("vcard-stat"); + userFollowers.setAttribute("target", "_blank"); + userFollowers.setAttribute("title", "Followers"); userCounts.appendChild(userFollowers); - var userFollowersCount = document.createElement('strong'); - userFollowersCount.style = - 'display: block;' + - 'font-size: 28px;'; + var userFollowersCount = document.createElement("strong"); + userFollowersCount.style = "display: block;" + "font-size: 28px;"; userFollowers.appendChild(userFollowersCount); - var userFollowersText = document.createElement('span'); - userFollowersText.appendChild(document.createTextNode('Followers')); - userFollowersText.classList.add('text-muted'); + var userFollowersText = document.createElement("span"); + userFollowersText.appendChild(document.createTextNode("Followers")); + userFollowersText.classList.add("text-muted"); userFollowers.appendChild(userFollowersText); - var userFollowing = document.createElement('a'); - userFollowing.style = - 'display: none;' + - 'text-decoration: none;'; - userFollowing.classList.add('vcard-stat'); - userFollowing.setAttribute('target', '_blank'); - userFollowing.setAttribute('title', 'Following'); + var userFollowing = document.createElement("a"); + userFollowing.style = "display: none;" + "text-decoration: none;"; + userFollowing.classList.add("vcard-stat"); + userFollowing.setAttribute("target", "_blank"); + userFollowing.setAttribute("title", "Following"); userCounts.appendChild(userFollowing); - var userFollowingCount = document.createElement('strong'); - userFollowingCount.style = - 'display: block;' + - 'font-size: 28px;'; + var userFollowingCount = document.createElement("strong"); + userFollowingCount.style = "display: block;" + "font-size: 28px;"; userFollowing.appendChild(userFollowingCount); - var userFollowingText = document.createElement('span'); - userFollowingText.appendChild(document.createTextNode('Following')); - userFollowingText.classList.add('text-muted'); + var userFollowingText = document.createElement("span"); + userFollowingText.appendChild(document.createTextNode("Following")); + userFollowingText.classList.add("text-muted"); userFollowing.appendChild(userFollowingText); - var userRepos = document.createElement('a'); - userRepos.style = - 'display: none;' + - 'text-decoration: none;'; - userRepos.classList.add('vcard-stat'); - userRepos.setAttribute('target', '_blank'); - userRepos.setAttribute('title', 'Public repositories'); + var userRepos = document.createElement("a"); + userRepos.style = "display: none;" + "text-decoration: none;"; + userRepos.classList.add("vcard-stat"); + userRepos.setAttribute("target", "_blank"); + userRepos.setAttribute("title", "Public repositories"); userCounts.appendChild(userRepos); - var userReposCount = document.createElement('strong'); - userReposCount.style = - 'display: block;' + - 'font-size: 28px;'; + var userReposCount = document.createElement("strong"); + userReposCount.style = "display: block;" + "font-size: 28px;"; userRepos.appendChild(userReposCount); - var userReposText = document.createElement('span'); - userReposText.appendChild(document.createTextNode('Repos')); - userReposText.classList.add('text-muted'); + var userReposText = document.createElement("span"); + userReposText.appendChild(document.createTextNode("Repos")); + userReposText.classList.add("text-muted"); userRepos.appendChild(userReposText); - var userOrgs = document.createElement('a'); - userOrgs.style = - 'display: none;' + - 'text-decoration: none;'; - userOrgs.classList.add('vcard-stat'); - userOrgs.setAttribute('target', '_blank'); - userOrgs.setAttribute('title', 'Public organizations'); + var userOrgs = document.createElement("a"); + userOrgs.style = "display: none;" + "text-decoration: none;"; + userOrgs.classList.add("vcard-stat"); + userOrgs.setAttribute("target", "_blank"); + userOrgs.setAttribute("title", "Public organizations"); userCounts.appendChild(userOrgs); - var userOrgsCount = document.createElement('strong'); - userOrgsCount.style = - 'display: block;' + - 'font-size: 28px;'; + var userOrgsCount = document.createElement("strong"); + userOrgsCount.style = "display: block;" + "font-size: 28px;"; userOrgs.appendChild(userOrgsCount); - var userOrgsText = document.createElement('span'); - userOrgsText.appendChild(document.createTextNode('Orgs')); - userOrgsText.classList.add('text-muted'); + var userOrgsText = document.createElement("span"); + userOrgsText.appendChild(document.createTextNode("Orgs")); + userOrgsText.classList.add("text-muted"); userOrgs.appendChild(userOrgsText); - var userMembers = document.createElement('a'); - userMembers.style = - 'display: none;' + - 'text-decoration: none;'; - userMembers.classList.add('vcard-stat'); - userMembers.setAttribute('target', '_blank'); - userMembers.setAttribute('title', 'Public members'); + var userMembers = document.createElement("a"); + userMembers.style = "display: none;" + "text-decoration: none;"; + userMembers.classList.add("vcard-stat"); + userMembers.setAttribute("target", "_blank"); + userMembers.setAttribute("title", "Public members"); userCounts.appendChild(userMembers); - var userMembersCount = document.createElement('strong'); - userMembersCount.style = - 'display: block;' + - 'font-size: 28px;'; + var userMembersCount = document.createElement("strong"); + userMembersCount.style = "display: block;" + "font-size: 28px;"; userMembers.appendChild(userMembersCount); - var userMembersText = document.createElement('span'); - userMembersText.appendChild(document.createTextNode('Members')); - userMembersText.classList.add('text-muted'); + var userMembersText = document.createElement("span"); + userMembersText.appendChild(document.createTextNode("Members")); + userMembersText.classList.add("text-muted"); userMembers.appendChild(userMembersText); - var userGists = document.createElement('a'); - userGists.style = - 'display: none;' + - 'text-decoration: none;'; - userGists.classList.add('vcard-stat'); - userGists.setAttribute('target', '_blank'); - userGists.setAttribute('title', 'Public gists'); + var userGists = document.createElement("a"); + userGists.style = "display: none;" + "text-decoration: none;"; + userGists.classList.add("vcard-stat"); + userGists.setAttribute("target", "_blank"); + userGists.setAttribute("title", "Public gists"); userCounts.appendChild(userGists); - var userGistsCount = document.createElement('strong'); - userGistsCount.style = - 'display: block;' + - 'font-size: 28px;'; + var userGistsCount = document.createElement("strong"); + userGistsCount.style = "display: block;" + "font-size: 28px;"; userGists.appendChild(userGistsCount); - var userGistsText = document.createElement('span'); - userGistsText.appendChild(document.createTextNode('Gists')); - userGistsText.classList.add('text-muted'); + var userGistsText = document.createElement("span"); + userGistsText.appendChild(document.createTextNode("Gists")); + userGistsText.classList.add("text-muted"); userGists.appendChild(userGistsText); - var UPDATE_INTERVAL_DAYS = 7; function getData(elm) { var username; - if (elm.getAttribute('alt')) { - username = elm.getAttribute('alt').replace('@', ''); - } else if (elm.parentNode.parentNode.querySelector('.author')) { - username = elm.parentNode.parentNode.querySelector('.author').textContent.trim(); + if (elm.getAttribute("alt")) { + username = elm.getAttribute("alt").replace("@", ""); + } else if (elm.parentNode.parentNode.querySelector(".author")) { + username = elm.parentNode.parentNode + .querySelector(".author") + .textContent.trim(); } else { return; } @@ -333,19 +294,21 @@ var rect = elm.getBoundingClientRect(); var position = { top: rect.top + window.scrollY, - left: rect.left + window.scrollX + left: rect.left + window.scrollX, }; var avatarSize = { height: elm.height, - width: elm.width + width: elm.width, }; - var usersString = GM_getValue('users', '{}'); + var usersString = GM_getValue("users", "{}"); var users = JSON.parse(usersString); if (users[username]) { var date = new Date(users[username].checked_at), now = new Date(), - upDate = new Date(now.setDate(now.getDate() - UPDATE_INTERVAL_DAYS)); + upDate = new Date( + now.setDate(now.getDate() - UPDATE_INTERVAL_DAYS), + ); if (date > upDate) { var data = users[username].data; // console.log('GithubUserInfo:getData', 'CACHED', data); @@ -363,9 +326,9 @@ function fetchData(username, position, avatarSize) { // console.log('GithubUserInfo:fetchData', username); GM_xmlhttpRequest({ - method: 'GET', - url: 'https://api.github.com/users/' + username, - onload: proxy(parseUserData, position, avatarSize) + method: "GET", + url: "https://api.github.com/users/" + username, + onload: proxy(parseUserData, position, avatarSize), }); } @@ -378,9 +341,9 @@ // console.log('GithubUserInfo:parseUserData', data.username); GM_xmlhttpRequest({ - method: 'GET', - url: 'https://api.github.com/users/' + data.username + '/orgs', - onload: proxy(parseOrgsData, position, avatarSize, data) + method: "GET", + url: "https://api.github.com/users/" + data.username + "/orgs", + onload: proxy(parseOrgsData, position, avatarSize, data), }); } @@ -393,21 +356,22 @@ // console.log('GithubUserInfo:parseOrgsData', data.username, data.orgs); switch (data.type) { - case 'Organization': - { - GM_xmlhttpRequest({ - method: 'GET', - url: 'https://api.github.com/orgs/' + data.username + '/members', - onload: proxy(parseMembersData, position, avatarSize, data) - }); - break; - } - default: - { - fillData(data, position, avatarSize); - setData(data, data.username); - break; - } + case "Organization": { + GM_xmlhttpRequest({ + method: "GET", + url: + "https://api.github.com/orgs/" + + data.username + + "/members", + onload: proxy(parseMembersData, position, avatarSize, data), + }); + break; + } + default: { + fillData(data, position, avatarSize); + setData(data, data.username); + break; + } } } @@ -425,8 +389,14 @@ function parseRawData(data) { data = JSON.parse(data); - if (data.message && data.message.startsWith('API rate limit exceeded')) { - console.warn('GithubUserInfo:parseRawData', 'API RATE LIMIT EXCEEDED'); + if ( + data.message && + data.message.startsWith("API rate limit exceeded") + ) { + console.warn( + "GithubUserInfo:parseRawData", + "API RATE LIMIT EXCEEDED", + ); return; } return data; @@ -434,157 +404,185 @@ function normalizeData(data) { return { - 'username': data.login, - 'avatar': data.avatar_url, - 'type': data.type, - 'name': data.name, - 'company': data.company, - 'blog': data.blog, - 'location': data.location, - 'mail': data.email, - 'repos': data.public_repos, - 'gists': data.public_gists, - 'followers': data.followers, - 'following': data.following, - 'created_at': data.created_at, - 'admin': !!data.site_admin + username: data.login, + avatar: data.avatar_url, + type: data.type, + name: data.name, + company: data.company, + blog: data.blog, + location: data.location, + mail: data.email, + repos: data.public_repos, + gists: data.public_gists, + followers: data.followers, + following: data.following, + created_at: data.created_at, + admin: !!data.site_admin, }; } function defaultData(data) { return { - 'username': data.username, - 'avatar': data.avatar, - 'type': data.type, - 'name': data.name || data.username, - 'company': data.admin ? 'GitHub' : data.company || '', - 'blog': data.blog || '', - 'location': data.location || '', - 'mail': data.mail || '', - 'repos': data.repos || 0, - 'gists': data.gists || 0, - 'followers': data.followers || 0, - 'following': data.following || 0, - 'created_at': data.created_at, - 'admin': data.admin || false, - 'orgs': data.orgs || 0, - 'members': data.members || 0 + username: data.username, + avatar: data.avatar, + type: data.type, + name: data.name || data.username, + company: data.admin ? "GitHub" : data.company || "", + blog: data.blog || "", + location: data.location || "", + mail: data.mail || "", + repos: data.repos || 0, + gists: data.gists || 0, + followers: data.followers || 0, + following: data.following || 0, + created_at: data.created_at, + admin: data.admin || false, + orgs: data.orgs || 0, + members: data.members || 0, }; } function setData(data, username) { // console.log('GithubUserInfo:setData', username, data); - var usersString = GM_getValue('users', '{}'); + var usersString = GM_getValue("users", "{}"); var users = JSON.parse(usersString); users[username] = { - checked_at: (new Date()).toJSON(), - data: data + checked_at: new Date().toJSON(), + data: data, }; - GM_setValue('users', JSON.stringify(users)); + GM_setValue("users", JSON.stringify(users)); } function fillData(data, position, avatarSize) { // console.log('GithubUserInfo:fillData', data, position, avatarSize); - userAvatar.setAttribute('href', 'https://github.com/' + data.username); - userAvatarImg.style.height = avatarSize.height + 'px'; - userAvatarImg.style.width = avatarSize.width + 'px'; - userAvatarImg.addEventListener('load', function() { - userMenu.style.top = Math.max(position.top - 10 - 1, 2) + 'px'; - userMenu.style.left = Math.max(position.left - 10 - 1, 2) + 'px'; - userMenu.style.display = 'block'; + userAvatar.setAttribute("href", "https://github.com/" + data.username); + userAvatarImg.style.height = avatarSize.height + "px"; + userAvatarImg.style.width = avatarSize.width + "px"; + userAvatarImg.addEventListener("load", function () { + userMenu.style.top = Math.max(position.top - 10 - 1, 2) + "px"; + userMenu.style.left = Math.max(position.left - 10 - 1, 2) + "px"; + userMenu.style.display = "block"; window.setTimeout(function avatarAnimationTimeout() { - userAvatarImg.style.height = '100px'; - userAvatarImg.style.width = '100px'; + userAvatarImg.style.height = "100px"; + userAvatarImg.style.width = "100px"; }, 50); }); - userAvatarImg.setAttribute('src', ''); - userAvatarImg.setAttribute('src', data.avatar); + userAvatarImg.setAttribute("src", ""); + userAvatarImg.setAttribute("src", data.avatar); - userName.setAttribute('title', data.username); + userName.setAttribute("title", data.username); userName.textContent = data.name; if (hasValue(data.company, userCompany)) { userCompanyText.textContent = data.company; - userCompanyAdmin.style.display = data.admin ? 'inline' : 'none'; + userCompanyAdmin.style.display = data.admin ? "inline" : "none"; } if (hasValue(data.location, userLocation)) { - userLocationText.setAttribute('href', 'https://maps.google.com/maps?q=' + encodeURIComponent(data.location)); + userLocationText.setAttribute( + "href", + "https://maps.google.com/maps?q=" + + encodeURIComponent(data.location), + ); userLocationText.textContent = data.location; } if (hasValue(data.mail, userMail)) { - userMailText.setAttribute('href', 'mailto:' + data.mail); + userMailText.setAttribute("href", "mailto:" + data.mail); userMailText.textContent = data.mail; } if (hasValue(data.blog, userLink)) { - userLinkText.setAttribute('href', data.blog); + userLinkText.setAttribute("href", data.blog); userLinkText.textContent = data.blog; } if (hasValue(data.created_at, userJoined)) { - userJoinedText.setAttribute('datetime', data.created_at); + userJoinedText.setAttribute("datetime", data.created_at); } var userCountsHasValue = false; if (hasValue(data.followers, userFollowers)) { userCountsHasValue = true; - userFollowers.setAttribute('href', 'https://github.com/' + data.username + '/followers'); + userFollowers.setAttribute( + "href", + "https://github.com/" + data.username + "/followers", + ); userFollowersCount.textContent = data.followers; } if (hasValue(data.following, userFollowing)) { userCountsHasValue = true; - userFollowing.setAttribute('href', 'https://github.com/' + data.username + '/following'); + userFollowing.setAttribute( + "href", + "https://github.com/" + data.username + "/following", + ); userFollowingCount.textContent = data.following; } - if (hasValue(true, userRepos)) { // Always show repos count, as long another count is shown too - userRepos.setAttribute('href', 'https://github.com/' + data.username + '?tab=repositories'); + if (hasValue(true, userRepos)) { + // Always show repos count, as long another count is shown too + userRepos.setAttribute( + "href", + "https://github.com/" + data.username + "?tab=repositories", + ); userReposCount.textContent = data.repos; } if (hasValue(data.orgs, userOrgs)) { userCountsHasValue = true; - userOrgs.setAttribute('href', 'https://github.com/' + data.username); + userOrgs.setAttribute( + "href", + "https://github.com/" + data.username, + ); userOrgsCount.textContent = data.orgs; } if (hasValue(data.members, userMembers)) { userCountsHasValue = true; - userMembers.setAttribute('href', 'https://github.com/orgs/' + data.username + '/people'); - userMembersCount.textContent = data.members === 30 ? '30+' : data.members; + userMembers.setAttribute( + "href", + "https://github.com/orgs/" + data.username + "/people", + ); + userMembersCount.textContent = + data.members === 30 ? "30+" : data.members; } if (hasValue(data.gists, userGists)) { userCountsHasValue = true; - userGists.setAttribute('href', 'https://gist.github.com/' + data.username); + userGists.setAttribute( + "href", + "https://gist.github.com/" + data.username, + ); userGistsCount.textContent = data.gists; } - userCounts.style.display = userCountsHasValue ? 'flex' : 'none'; + userCounts.style.display = userCountsHasValue ? "flex" : "none"; //if (data.type === 'Organization' || data.type === 'User') {} } function hasValue(property, elm) { - elm.style.display = property ? 'block' : 'none'; + elm.style.display = property ? "block" : "none"; return !!property; } - function init() { - var avatars = document.querySelectorAll([ - '.avatar[alt^="@"]', // Logged-in user & commits author & issue participant & users organization & organization member - '.avatar-child[alt^="@"]', // Authored committed users - '.gravatar[alt^="@"]', // Following & followers page - '.timeline-comment-avatar[alt^="@"]', // GitHub comments author - '.commits img[alt^="@"]', // Commits on user activity tab - '.leaderboard-gravatar[alt^="@"]', // Trending developer: https://github.com/trending/developers - '.gist-author img', // Gist author - '.gist .js-discussion .timeline-comment-avatar' // Gist comments author - ].join(',')); + var avatars = document.querySelectorAll( + [ + '.avatar[alt^="@"]', // Logged-in user & commits author & issue participant & users organization & organization member + '.avatar-child[alt^="@"]', // Authored committed users + '.gravatar[alt^="@"]', // Following & followers page + '.timeline-comment-avatar[alt^="@"]', // GitHub comments author + '.commits img[alt^="@"]', // Commits on user activity tab + '.leaderboard-gravatar[alt^="@"]', // Trending developer: https://github.com/trending/developers + ".gist-author img", // Gist author + ".gist .js-discussion .timeline-comment-avatar", // Gist comments author + ].join(","), + ); Array.prototype.forEach.call(avatars, function avatarsForEach(avatar) { - avatar.addEventListener('mouseenter', function mouseenter() { + avatar.addEventListener("mouseenter", function mouseenter() { // console.log('GithubUserInfo:avatar', 'mouseenter'); - _timer = window.setTimeout(function mouseenterTimer() { - // console.log('GithubUserInfo:avatar', 'timeout'); - getData(this); - }.bind(this), 500); + _timer = window.setTimeout( + function mouseenterTimer() { + // console.log('GithubUserInfo:avatar', 'timeout'); + getData(this); + }.bind(this), + 500, + ); }); - avatar.addEventListener('mouseleave', function mouseleave() { + avatar.addEventListener("mouseleave", function mouseleave() { // console.log('GithubUserInfo:avatar', 'mouseleave'); window.clearTimeout(_timer); }); @@ -595,6 +593,5 @@ init(); // Pjax - document.addEventListener('pjax:end', init); - + document.addEventListener("pjax:end", init); })(); diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 084f06a..a4d26b3 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -5,81 +5,75 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Show user/organization information on avatar hover. - ## Screenshot ![Github User Info Screenshot](https://github.com/jerone/UserScripts/raw/master/Github_User_Info/screenshot.jpg) - ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.4.1** - * 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). -* **0.4.0** - * We're only fetching one page of all members - * Use flexbox css for counts - * Fix showing joined date - * Remove console messages -* **0.3.5** - * Fixed issues after recent layout updates -* **0.3.4** - * Fixed some styling -* **0.3.3** - * Smoother avatar loading on non-cached user info -* **0.3.2** - * Add support for following & followers page - * Add support for trending developer -* **0.3.1** - * Add support for authored committed users -* **0.3.0** - * Add support for GitHub Gist (fixes [#55](https://github.com/jerone/UserScripts/issues/55)) -* **0.2.1** - * Fixed local time on second hover (fixes [#53](https://github.com/jerone/UserScripts/issues/53)) - * Added members count for orgs (closes [#54](https://github.com/jerone/UserScripts/issues/54)) -* **0.2.0** - * Make location linkable to Google Maps - * Added admin/staff recognition - * User with all counts and 4 digit numbers, stretching popup - * Don't error on API limit exceeded - * Fixed not saving data - * Always fill name - * Added organization count - * Fixed z-index - * Added missing hover effect on counts - * Better shadow - * Also run on homepage news feed - * Really fixing pjax events now; - * Animate avatar - * Hide user counts when no counts are available - * Added some logging - * Added class to identify element - * Added username fallback when no name -* **0.1.0** - * Initial version - +- **0.4.1** + - 🐛 Fix broken icon url ([#146](https://github.com/jerone/UserScripts/pull/146)). +- **0.4.0** + - We're only fetching one page of all members + - Use flexbox css for counts + - Fix showing joined date + - Remove console messages +- **0.3.5** + - Fixed issues after recent layout updates +- **0.3.4** + - Fixed some styling +- **0.3.3** + - Smoother avatar loading on non-cached user info +- **0.3.2** + - Add support for following & followers page + - Add support for trending developer +- **0.3.1** + - Add support for authored committed users +- **0.3.0** + - Add support for GitHub Gist (fixes [#55](https://github.com/jerone/UserScripts/issues/55)) +- **0.2.1** + - Fixed local time on second hover (fixes [#53](https://github.com/jerone/UserScripts/issues/53)) + - Added members count for orgs (closes [#54](https://github.com/jerone/UserScripts/issues/54)) +- **0.2.0** + - Make location linkable to Google Maps + - Added admin/staff recognition + - User with all counts and 4 digit numbers, stretching popup + - Don't error on API limit exceeded + - Fixed not saving data + - Always fill name + - Added organization count + - Fixed z-index + - Added missing hover effect on counts + - Better shadow + - Also run on homepage news feed + - Really fixing pjax events now; + - Animate avatar + - Hide user counts when no counts are available + - Added some logging + - Added class to identify element + - Added username fallback when no name +- **0.1.0** + - Initial version ## Notes Use cases: -* (User) -* (API user) -* (Organization with admin users) -* (Read your API limit) -* (API Documentation) - +- (User) +- (API user) +- (Organization with admin users) +- (Read your API limit) +- (API Documentation) ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/8989-github-user-info) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_User_Info) +- [Greasy Fork](https://greasyfork.org/en/scripts/8989-github-user-info) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Github_User_Info) diff --git a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js index 5e372a4..834e7e5 100644 --- a/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js +++ b/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js @@ -43,13 +43,16 @@ selectInput.setAttribute("type", "checkbox"); selectInput.addEventListener("change", function selectInputChange() { var checked = selectInput.checked; - Array.prototype.forEach.call(document.querySelectorAll(".ad-listing"), function(row) { - var isRemoved = row.classList.contains("removed"); - var checkbox = row.querySelector("input.kopen-select"); - if (checkbox.checked !== (checked && isRemoved)) { - checkbox.click(); - } - }); + Array.prototype.forEach.call( + document.querySelectorAll(".ad-listing"), + function (row) { + var isRemoved = row.classList.contains("removed"); + var checkbox = row.querySelector("input.kopen-select"); + if (checkbox.checked !== (checked && isRemoved)) { + checkbox.click(); + } + }, + ); }); button.appendChild(selectInput); diff --git a/Marktplaats_Exchanger/README.md b/Marktplaats_Exchanger/README.md index 3fbfde5..c613136 100644 --- a/Marktplaats_Exchanger/README.md +++ b/Marktplaats_Exchanger/README.md @@ -5,32 +5,28 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Adds an extra checkbox on the "Mijn Favorieten" page to select all sold ads for easy removal. - ## Screenshot ![Marktplaats Exchanger Screenshot](https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.0.1** - * Update to match Marktplaats.nl look ([#138](https://github.com/jerone/UserScripts/pull/138)). +- **1.0.1** -* **1.0.0** - * Initial version. + - Update to match Marktplaats.nl look ([#138](https://github.com/jerone/UserScripts/pull/138)). +- **1.0.0** + - Initial version. ## External links -* [Greasy Fork](https://greasyfork.org/scripts/44-marktplaats-exchanger) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Marktplaats_Exchanger) +- [Greasy Fork](https://greasyfork.org/scripts/44-marktplaats-exchanger) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Marktplaats_Exchanger) diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 98a005a..ef303f2 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -23,19 +23,32 @@ // cSpell:ignore MWLID, maincontent, phholder, transform /* global GM_getValue,GM_setValue */ -(function() { - +(function () { var autoLogin = true; var addPassMask = true; - window.setTimeout(function() { - + window.setTimeout(function () { var profileString = GM_getValue("MWLID.profiles"), profiles = [ { name: "Account 1", mail: "test1@live.com", pass: "P@ssw0rd" }, - { name: "Account 2", mail: "test2@live.com", pass: "P@ssw0rd", photo: "data:image/gif;base64,abcd" }, - { name: "Account 3", mail: "test3@live.com", pass: "P@ssw0rd", photo: "http://my.pictu.re/img.png" }, - { name: "Account 4", mail: "test4@live.com", pass: "P@ssw0rd", color: "#EB008B" } + { + name: "Account 2", + mail: "test2@live.com", + pass: "P@ssw0rd", + photo: "data:image/gif;base64,abcd", + }, + { + name: "Account 3", + mail: "test3@live.com", + pass: "P@ssw0rd", + photo: "http://my.pictu.re/img.png", + }, + { + name: "Account 4", + mail: "test4@live.com", + pass: "P@ssw0rd", + color: "#EB008B", + }, ]; if (profileString == null) { GM_setValue("MWLID.profiles", JSON.stringify(profiles)); @@ -44,34 +57,46 @@ } var image = { - photoLight: "data:image/png;base64,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", - photoDark: "data:image/png;base64,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", - - leftLight: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFSSURBVDhPfdK7SkNBEIDhKIJNVPBSWym2NlaWBgQRrcTGF7AxD2Bh6UPYGQQra9Eq1t7A0iKFiJBOUGJ1/P+wE85Z5QQ+2J2zO9mdnUZRFLkm2uiijwF66KCFyvrKBJv4wD0OsYYVbOAUn7jGAv4k2MM3jjGRYrlF3OIVwyTxYRluPkjzOmMwiScZJbjEVRqHWZzjBG4qf/MkXqflZBo/WEIsmMMDHtM44mXWpOPAylrl+OCGJ7xhB+uZSGhhew68910KjuMGdb9duNbXGTjwX55TUNvwSu84+8cqXOcT9x34AjbLFCLJVopZwIjl7JNuTF5wlMahLol9YrO1I7CPL5RfQjOYR/6MNpsd24yACy5gLfIkOYtu09n2lVaehEk8idcp10QmttncbNsP4+UF8iRex5p4f0/kE9snvowda9FHe8qbcy70iT2yzWbHZmuKxi8dFEek8XPCwwAAAABJRU5ErkJggg==", - leftDark: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFCSURBVDhPjZI7LwVRFEaHSDQeiUetIrfVqJQkEhEq0fgDGn6A4pZ+hI5IVGqhovZKlAqFiEQnIVSste/cydzjmFjJSs5M5uw5Z++vyDCEO3iBr/iJj3iIi9jIEr7gFW7hHLZwAffwDU9xEn+xjh+4iwO+yDCF5/iAPUVm0M2b8dRMH1rEk1Qc40lnWTGGB9hGN9XxJF4nejKCXzjtQ8k4XuNNuc5hT2xsVLHLXdxwi0+4ivOJ3YI2NvZ570sX0I9n+N3gGorTccTxlzsXJSvolZ5xP+MsiiM2JzEBKw37ULKMvrOBf2FODFtwj9udZUVTEXNi2ExssIHvWJ+EjOIEpmM0bCbW2Ad+cIT2Ii2SYtMNnbHvYRAt4km8Tr0nYmHD5mZjn8WTeB174v09kSN23k7GxNr0f+GHjtgjGzYTm1AUP1toSncrMULNAAAAAElFTkSuQmCC", - - rightLight: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFVSURBVDhPfdKrSkRRFIDhUQSLjuAlmxysFpPRAUFkTGKZF7DoAxiMPoRNEUxm0aTZGxgNBhHBJiiajv9/2FvW7BnmwAd7r7PvazWqqiq1cYIX/OAD19jDBHrGx84cLvCJQ6xiEcvYwS3esYa+BZz8jCvMp1hpDPv4xlaK/S/gzk4eSf1hunCRln0D3tljlzu72AGOMZ1i2TnObNvxwbxzHJDN4B53qZ3jC/hF046v7YPlCSuFDl7xgLiI89o2TJWvbXsTw75LjMKxN+jaMM+myvYSjgZ4g0fegOP0iI4Ni8Q85x8lH9JTrofYZIq17FhhFol5zgOyQZO1iyfbdixPK8wiiYNM4yymQkxm4Avb9nPQ8rQ4LJI4uORk736KuujiT8vTRSwSB8Z/3tlju7OTx1H/i4NkeVphvrh5NlXu6Dt4Z4/dU+5xctSEJe6VOqjrvl/V+AN53EekRyYdxwAAAABJRU5ErkJggg==", - rightDark: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFFSURBVDhPjZI7L0RRFEYvkWg8Eo9aRbQalZJEIjIq0fgDmvEDFEo/QkckKrVQUXslyikUIhKdhFCx1j4zXHfO3FjJSu45uee191dkWMJDfMAPfMEL3MYh7MkknuIr7uEizuI8buEVPuMyduHiFp7jlBMZBnAH33HdiTKe7OK+GNWziW4yEyPwzV67erKb7eIBjjlR4gSP02cqmG/OMY43eN3+7jCNnzjiwGpbMPGnhYoNfMRbLG/iOm8frbLasoZfNZ5hP8olWo/os62SOdzP+IReeRU73KG3i5DY515YSG+5EqPEMDoXnTBhhsQ+V8ktlibep88UTxNmSMrYxgkcjdEvduANN2LUxngajihKDS727UfYFTrj6SaGxB/L+Gav7ckuHsQsFsWEWXH7bKs80Tr4Zq/9n7hHwgyJT7JVP7n/S1F8A7gwSnemTnsFAAAAAElFTkSuQmCC", - - editLight: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAKxJREFUOE+tjbENQjEMBSPRgIRAomQFWIIp6FiJigUYgI6eipIZWIEJwjm2QYp+fizESdc4772kCDnnGd7wgWs7x6AwxQXeUYiPEJyj/HzGFcZHCHjZiY/wUJedeuRqlS8cW2XHRy64tZrCoVd2jjixmsIhWn7izz//uSxw3JXncYbLAg8b3EuqQbssaCYfcGhkvCxorlCP9MuCZj/4SKwsEHyhc7Lbsjx2SekNzHko02Qtti8AAAAASUVORK5CYII=", - editDark: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAKtJREFUOE+lzU0OwWAUheEmJiRCYmgLugmrMLMlIxuwADNzI0NrsAUr+LxHeqS9/eiPmzyS0vcoUkqduBmuuGPd+K3+kMNNscAN+qIx0grquDn0zyes0BrJhsI51oNkR/rGFkcuQ2LzyBnl0NgOmLybEfED5af7J67a8bEHtogvR9nYAxvsECP7GotOn3vkRn7GovPLcaQzFp0D8UivWHRPeOBYfbmML+al4gWQp6tCc9RDvgAAAABJRU5ErkJggg==", - - deleteLight: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAJdJREFUOE+lk9sRwyAMBOkvqScFpAc3kB5cSQoia+vO2A4fPHZGo5NAMiNDyjmnKe4NiJ+Sf7D2kCycG6Df2Mai1AG5Vyzlj1IBCXsXm6MJ2sWmNCGoFZsFuxebaIKofaGFOCHCvqdJmRGBVHOT64BJSAXE676tzlfbCiSlJk+AH58BNvcXsLl7ID9+Ew16/C0Y4o7XmNIPDBJZ6y59BrgAAAAASUVORK5CYII=", - deleteDark: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAJBJREFUOE+lk4ERgCAIRd2v5mmAdnCBdmiSBrIvgRKlV/ju/l0g/EPTkEkpufUwALOOtcD0kqsGYM0hFHURry28tpn8ZQCkWVRMgDSLiolgm0URss0iMhFaRT3RhERjzJ709pCpwReT2wETJrHnVEOHruV6rNTAPwHwnwEY+wtg7B7wh/8mqsD/FlTix2tM4QQu9ZqctQdDpAAAAABJRU5ErkJggg==", - - addLight: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAnklEQVRYR+3WQQqFMBRD0e5/bW7HcTWkZCRK+lBUcuAN+29m3zaj977s51rG8/shxqYlAwUxNi0ZKIixaclAQYxNSwYKYmxaMlAQY9Py04F4OHHrfi68Ofqt08PAV8vAqgysysCqDKzKwKpPDDz8k7645z4WZozHrnywCmJsWjJQEGPTkoGCGJuWDBTE2LRkoCDGpiUDBTE2LRMDW9sAWMFNgzVOe18AAAAASUVORK5CYII=", + photoLight: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAIsElEQVR4Xu3dZ6gm1R3H8bVG1xa7UWOPXVkUDZGgQpS8sGtUrG9U7C/UhWA3gYSAiAU1JC6RiAU1ELvGBmrsvtEFC/beNc0G6vr74i5eL7+bvc/MmTPnP8/5wQflz957Z54pz5wzZ87MqEmTefPmhVSTIO6DjaJmmpnqw3P1SMY+7kMZJ2MTt/LVQHcAt6KVFzpuharRhIlb+Kq9IuMWtOpG73ELVeWTNW4Bqn51FvfHqvIkifvFVQwjx/2SKq6Fxv1QNRw27h9Ww/S9uH9QDZstVuPDFqvxYYvV+LDFanzYYjU+bLEaH7ZYjQ9brMaHLY6Z5WQt2Vh2k33m20tmyY9lFVlU3M+HZosDx4ZcQw6QP8uz8oH8T76WiflMPpI35UY5UTaSH4j73eHY4kAtJlvLHHlDPpdRww7ysdwjnCWWF/e3wrDFgeGI30z+Kv+RVOHs8IDsJ0uL+9vFs8UBmSmz5T2ZfHpPlU/lFtlEFhG3HMWyxYFYT26SJqf6UcPO9ZYcIouLW54i2eIAbC6PSldH/VT5t/xBOPO45SqOLQa3rcyVvvKlXC0riFu+othiYLTln5S+85VcK/QxuOUshi0GtZrcL7lP+1OFneASWVLc8hbBFgNaQmjfl7LxF4Sm4glSbC+iLQZEW/wTKTH0Mv5M3HL3zhaDWV1ekpLzsKwsbvl7ZYuB0PHyWynt1D85XA+wnMV1FNliINypowMmQt6Rn4hbj97YYiBnSulH/4KwnH+Soi4IbTEIOlq4lRsp78qG4tanF7YYxE5CMytSOAtwLeDWpxe2GAAXU3SyRMxzUkw3sS0GQBcrH2TEcPt4e3HrlZ0tBrCBpBzckTvniVuv7GwxgIOEtnXUcM+iiHGFthjA7yRy3pc1xa1bVrZYOC4Ar5HIYZTSDuLWLytbLBynzj4HfKTKYeLWLytbLNxSEq0DyOVcceuXlS0Wjh0gahNwYhg25tYvK1ss3FB2gBvErV9Wtli4oewAfxO3flnZYuGGcg3AoFG3flnZYuG4ncoDH9FDU9atX1a2GABX0NFzpbh1y8oWAzhOogwEmSpni1u3rGwxAB7E5Hn+yOF+hlu3rGwxAGbsYNKGqGEIO3MVuHXLyhYDYLKH6yVqGMjKk0xu3bKyxSAOlqjXAf8QdmK3XlnZYhBM7BRlSPjEsNMeL26dsrPFIOgPuEqi5V9SzPMBthjITyVaa+BO4WFWtz7Z2WIgdAszP0+UMIz9V+LWpRe2GMzP5b8SITwkuqy49eiFLQbD6ZQmYektAo5+Wi5uHXpjiwExTPx1KTl3yzLilr83thgQA0UPFx66KDEfyjbilr1XthgUXwWXSmnPC3DqP0WKnCbGFgPjmbubpZTrAZaDsX+0Vtzy9s4Wg6OHkLZ232cCNj7LwRQ2bjmLYIsDsLbQ397XTsDG/6esL275imGLA8GRx+mXmTtzho1/r6wrbrmKYosDwjTu5wgvfcgRWiF/kSJu9U6HLQ4Mt125Z3CfdHU24Kh/TY6UYvr5p8MWB4oWwtHygqS6NmDDM/vXhcL09MVNA7cwtjhwDCfjfvyD0nR2UZ7ufVXOF94hVMTgjiZscUwwzcyW8mu5SziFM9//FzIxHOXcbOKZ/qeFo30XWVXCHfGT2eIY4pHzlYTTONcLvFGM73PsKhzlTOhAX374jT6RLVbjwxYLxFHH1TWnbV7Vxhz8gzoS+2KLhWBD8x19stwmfP++KMwMzv/fKifJplL8mzlKZYs94qimG/d04QnghY304QKNCzdG2pwqTMNa6lu7figMB1uw09Zh4ZMwVIp2Os2rJu10dgbuu/PYNRMwlfIyR24D7yjspDQfWU7eY3iBrCjuZ7Kxxcw46rnK5t28qd7xR/v+Dtlb+ny9K0c5Rz1NyMlhJ+eGFevufjYLW8yIo+OXwlHPkZE6DMZ4SA6U3PPz0rTkdM+7hqcK6/yEbCfud3TOFjNh4+8uvFOn63APgBdJMmwsx47AmAQeWpnuGe1l4f3G7nd1yhYz4LS/h/BdmDNskEfkKOH7N3VTklM+09g/LqNcx3AmYAfNPn7AFjOgt42XJ/QVzgg0KU8TXjuTYkdg/MHvpemtZ3YCmrtZLwxtsWPryGNSQvjQmWfgItlKmgzb5iLzUOG7vO1dRn6e1kG2pqwtdojBkddJFxd8bcLyMP08YwboeGIGkv/XucSpnu/5Y4WLzJRvLqFfI9vsIbbYEU6zx0jKD6ur8MApvY1cyJ0h+wqtlf2F0/zfheuXrnbkV4QbU+5zTMoWO0J7N/K0LjnDjsXO1/lXgS12gFMmY+VKO/WXHDqzGHfgPs9kbLEDOwsTI9SMFq5JOn2a2BYT48KPbtma0UO/RadPFNtiYnSMlPrQZoRwE6mz2922mBBHP50bNc1Dq4kuc/f5tmaLCW0rpb7XP1Jul07eMmaLiXCz5zKpaR8Gxmwh7nNuxRYToafsbalJE55BSH3zqtMdgG7Stn3jNd+FsZAMXXefdWO2mAAXf/dITbrQJPyFuM+7MVtMgG7f2vGTPnMk6deALSYwW2q3b/owhiHp14AttsRDG/X0303oE0g625gttsQIG4Zn13ST34j73BuxxZb2lMlP2NakC9PPcJZ1n/3IbLGly6Wmu9C3kmwKGltsgVuXz0hNd2G0UrJeQVtsgZmx6vd/t6F1xQMn7vMfmS22wFj/2vvXfa6QJP0BttjCWVLTfZ6SJBeCttgQeySjZWu6Dy/LYo4itx1GYosN0UPFDYua7kM3e5KZSG2xoR9Jn497jVO4MZTkiWJbbGiWRHjoYyg5Qtx2GIktNrSb1OQLL6Fw22EkttgQbdOafPmjuO0wElts6GKpyRem1HHbYSS22BCDFWryZa60fg+RLTbEHlmTL0XtACwIY9dr8uV5af0eQltsgEkQmYe/Jl+Yeo4JrN32mDZbbGCmMO06r2epunX2/P8ym2rr+YRssRq+bzNjxjejs3GVor69WAAAAABJRU5ErkJggg==", + photoDark: + "data:image/png;base64,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", + + leftLight: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFSSURBVDhPfdK7SkNBEIDhKIJNVPBSWym2NlaWBgQRrcTGF7AxD2Bh6UPYGQQra9Eq1t7A0iKFiJBOUGJ1/P+wE85Z5QQ+2J2zO9mdnUZRFLkm2uiijwF66KCFyvrKBJv4wD0OsYYVbOAUn7jGAv4k2MM3jjGRYrlF3OIVwyTxYRluPkjzOmMwiScZJbjEVRqHWZzjBG4qf/MkXqflZBo/WEIsmMMDHtM44mXWpOPAylrl+OCGJ7xhB+uZSGhhew68910KjuMGdb9duNbXGTjwX55TUNvwSu84+8cqXOcT9x34AjbLFCLJVopZwIjl7JNuTF5wlMahLol9YrO1I7CPL5RfQjOYR/6MNpsd24yACy5gLfIkOYtu09n2lVaehEk8idcp10QmttncbNsP4+UF8iRex5p4f0/kE9snvowda9FHe8qbcy70iT2yzWbHZmuKxi8dFEek8XPCwwAAAABJRU5ErkJggg==", + leftDark: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFCSURBVDhPjZI7LwVRFEaHSDQeiUetIrfVqJQkEhEq0fgDGn6A4pZ+hI5IVGqhovZKlAqFiEQnIVSste/cydzjmFjJSs5M5uw5Z++vyDCEO3iBr/iJj3iIi9jIEr7gFW7hHLZwAffwDU9xEn+xjh+4iwO+yDCF5/iAPUVm0M2b8dRMH1rEk1Qc40lnWTGGB9hGN9XxJF4nejKCXzjtQ8k4XuNNuc5hT2xsVLHLXdxwi0+4ivOJ3YI2NvZ570sX0I9n+N3gGorTccTxlzsXJSvolZ5xP+MsiiM2JzEBKw37ULKMvrOBf2FODFtwj9udZUVTEXNi2ExssIHvWJ+EjOIEpmM0bCbW2Ad+cIT2Ii2SYtMNnbHvYRAt4km8Tr0nYmHD5mZjn8WTeB174v09kSN23k7GxNr0f+GHjtgjGzYTm1AUP1toSncrMULNAAAAAElFTkSuQmCC", + + rightLight: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFVSURBVDhPfdKrSkRRFIDhUQSLjuAlmxysFpPRAUFkTGKZF7DoAxiMPoRNEUxm0aTZGxgNBhHBJiiajv9/2FvW7BnmwAd7r7PvazWqqiq1cYIX/OAD19jDBHrGx84cLvCJQ6xiEcvYwS3esYa+BZz8jCvMp1hpDPv4xlaK/S/gzk4eSf1hunCRln0D3tljlzu72AGOMZ1i2TnObNvxwbxzHJDN4B53qZ3jC/hF046v7YPlCSuFDl7xgLiI89o2TJWvbXsTw75LjMKxN+jaMM+myvYSjgZ4g0fegOP0iI4Ni8Q85x8lH9JTrofYZIq17FhhFol5zgOyQZO1iyfbdixPK8wiiYNM4yymQkxm4Avb9nPQ8rQ4LJI4uORk736KuujiT8vTRSwSB8Z/3tlju7OTx1H/i4NkeVphvrh5NlXu6Dt4Z4/dU+5xctSEJe6VOqjrvl/V+AN53EekRyYdxwAAAABJRU5ErkJggg==", + rightDark: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFFSURBVDhPjZI7L0RRFEYvkWg8Eo9aRbQalZJEIjIq0fgDmvEDFEo/QkckKrVQUXslyikUIhKdhFCx1j4zXHfO3FjJSu45uee191dkWMJDfMAPfMEL3MYh7MkknuIr7uEizuI8buEVPuMyduHiFp7jlBMZBnAH33HdiTKe7OK+GNWziW4yEyPwzV67erKb7eIBjjlR4gSP02cqmG/OMY43eN3+7jCNnzjiwGpbMPGnhYoNfMRbLG/iOm8frbLasoZfNZ5hP8olWo/os62SOdzP+IReeRU73KG3i5DY515YSG+5EqPEMDoXnTBhhsQ+V8ktlibep88UTxNmSMrYxgkcjdEvduANN2LUxngajihKDS727UfYFTrj6SaGxB/L+Gav7ckuHsQsFsWEWXH7bKs80Tr4Zq/9n7hHwgyJT7JVP7n/S1F8A7gwSnemTnsFAAAAAElFTkSuQmCC", + + editLight: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAKxJREFUOE+tjbENQjEMBSPRgIRAomQFWIIp6FiJigUYgI6eipIZWIEJwjm2QYp+fizESdc4772kCDnnGd7wgWs7x6AwxQXeUYiPEJyj/HzGFcZHCHjZiY/wUJedeuRqlS8cW2XHRy64tZrCoVd2jjixmsIhWn7izz//uSxw3JXncYbLAg8b3EuqQbssaCYfcGhkvCxorlCP9MuCZj/4SKwsEHyhc7Lbsjx2SekNzHko02Qtti8AAAAASUVORK5CYII=", + editDark: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAKtJREFUOE+lzU0OwWAUheEmJiRCYmgLugmrMLMlIxuwADNzI0NrsAUr+LxHeqS9/eiPmzyS0vcoUkqduBmuuGPd+K3+kMNNscAN+qIx0grquDn0zyes0BrJhsI51oNkR/rGFkcuQ2LzyBnl0NgOmLybEfED5af7J67a8bEHtogvR9nYAxvsECP7GotOn3vkRn7GovPLcaQzFp0D8UivWHRPeOBYfbmML+al4gWQp6tCc9RDvgAAAABJRU5ErkJggg==", + + deleteLight: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAJdJREFUOE+lk9sRwyAMBOkvqScFpAc3kB5cSQoia+vO2A4fPHZGo5NAMiNDyjmnKe4NiJ+Sf7D2kCycG6Df2Mai1AG5Vyzlj1IBCXsXm6MJ2sWmNCGoFZsFuxebaIKofaGFOCHCvqdJmRGBVHOT64BJSAXE676tzlfbCiSlJk+AH58BNvcXsLl7ID9+Ew16/C0Y4o7XmNIPDBJZ6y59BrgAAAAASUVORK5CYII=", + deleteDark: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAJBJREFUOE+lk4ERgCAIRd2v5mmAdnCBdmiSBrIvgRKlV/ju/l0g/EPTkEkpufUwALOOtcD0kqsGYM0hFHURry28tpn8ZQCkWVRMgDSLiolgm0URss0iMhFaRT3RhERjzJ709pCpwReT2wETJrHnVEOHruV6rNTAPwHwnwEY+wtg7B7wh/8mqsD/FlTix2tM4QQu9ZqctQdDpAAAAABJRU5ErkJggg==", + + addLight: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAnklEQVRYR+3WQQqFMBRD0e5/bW7HcTWkZCRK+lBUcuAN+29m3zaj977s51rG8/shxqYlAwUxNi0ZKIixaclAQYxNSwYKYmxaMlAQY9Py04F4OHHrfi68Ofqt08PAV8vAqgysysCqDKzKwKpPDDz8k7645z4WZozHrnywCmJsWjJQEGPTkoGCGJuWDBTE2LRkoCDGpiUDBTE2LRMDW9sAWMFNgzVOe18AAAAASUVORK5CYII=", header: "data:image/png;base64,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", - passMask: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADaSURBVDhP3ZEhDsJQEEQXRYLFQNAcggsguQJBYJHFARfAEByn4BAcgBNg0QhIMGVes0t+C01qMEzykv2zM23za/+prliIozg7zHjsatUShG4ir4EdGbIlYRxEBK9iJ+YOM17syZYekolYEu6IqvDYRY5OoYG4C8wthgt/5jCHyJClU/hrNy6ijSFNxUPE25jxEBmy+HTt5IcNB2koniLKAR47RBaP7vtyJhykpUiLKewQWc50rSf6Ij5/JarFgB0iS4fuh0biWxnYNVLcdEr6hxppLPYO8y9k9gJmuVYpcnk0owAAAABJRU5ErkJggg==", + passMask: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADaSURBVDhP3ZEhDsJQEEQXRYLFQNAcggsguQJBYJHFARfAEByn4BAcgBNg0QhIMGVes0t+C01qMEzykv2zM23za/+prliIozg7zHjsatUShG4ir4EdGbIlYRxEBK9iJ+YOM17syZYekolYEu6IqvDYRY5OoYG4C8wthgt/5jCHyJClU/hrNy6ijSFNxUPE25jxEBmy+HTt5IcNB2koniLKAR47RBaP7vtyJhykpUiLKewQWc50rSf6Ij5/JarFgB0iS4fuh0biWxnYNVLcdEr6hxppLPYO8y9k9gJmuVYpcnk0owAAAABJRU5ErkJggg==", }; function proxy(fn) { - return function() { + return function () { var that = this; - return function(e) { - var args = that.slice(0); // clone; - args.unshift(e); // prepend event; + return function (e) { + var args = that.slice(0); // clone; + args.unshift(e); // prepend event; fn.apply(this, args); }; }.call([].slice.call(arguments, 1)); @@ -84,7 +109,7 @@ } function addEventListeners(elm, eventNames, fn) { - Array.forEach(eventNames, function(event) { + Array.forEach(eventNames, function (event) { elm.addEventListener(event, fn); }); } @@ -94,16 +119,25 @@ var r = parseInt(hexcolor.substr(0, 2), 16), g = parseInt(hexcolor.substr(2, 2), 16), b = parseInt(hexcolor.substr(4, 2), 16), - yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000; - return (yiq >= 200); + yiq = (r * 299 + g * 587 + b * 114) / 1000; + return yiq >= 200; } - var metroColors = ["#00AEDB", "#00B159", "#F37735", "#7C4199", "#FFC425", "#EC098C", "#D11141", "#000000"], metroColorsIndex = -1; + var metroColors = [ + "#00AEDB", + "#00B159", + "#F37735", + "#7C4199", + "#FFC425", + "#EC098C", + "#D11141", + "#000000", + ], + metroColorsIndex = -1; var css = - // layout; - "#maincontent, #accountTD { display: inline-block; }" + - + // layout; + "#maincontent, #accountTD { display: inline-block; }" + // accounts; "#accountTD { font-size: 12px; width: 500px; min-height: 400px; margin: 5px; }" + "#accountTD .profile { text-transform: uppercase; color: #FFFFFF; cursor: pointer; float: left; height: 150px; position: relative; margin: 5px; padding: 5px; text-align: center; width: 150px; }" + @@ -115,21 +149,18 @@ "#accountTD .profile > div img { opacity: 0.3; margin: 4px 4px 0 0; }" + "#accountTD .profile:hover > div { display: block; }" + "#accountTD .profile:hover > div img:hover { opacity: 1; }" + - // add account button; "#accountTD .addAccountBtn { opacity: 0.6; width: 100px; height: 100px; }" + "#accountTD .addAccountBtn:hover { opacity: 1; }" + "#accountTD .addAccountBtn > img { max-height: 40px; max-width: 40px; }" + "#accountTD .addAccountBtn > span { width: 90px; }" + "#accountTD .addAccountBtn > div { float: right; }" + - // edit account; "#editAccountTD { display: none; position: relative; }" + "#editAccountTD .signInHeader img { position: relative; left: -34px; }" + "#editAccountTD .phholder { left: 0px; top: 0px; width: 100%; position: absolute; z-index: 5; cursor: text; }" + "#editAccountTD .alert-error { display: none; }" + "#editAccountCancel { background-color: #D11141; margin-left: 8px; }" + - // password mask; ".passMask { position: absolute; right: 8px; top: 8px; width: 16px; height: 16px; cursor: pointer; }"; var stylesheet = document.createElement("style"); @@ -139,7 +170,9 @@ } else { stylesheet.appendChild(document.createTextNode(css)); } - (document.head || document.getElementsByTagName("head")[0]).appendChild(stylesheet); + (document.head || document.getElementsByTagName("head")[0]).appendChild( + stylesheet, + ); var accountTD = document.createElement("div"); accountTD.id = "accountTD"; @@ -148,32 +181,49 @@ mainTD.parentNode.insertBefore(accountTD, mainTD); function paint() { - profiles.forEach(function(profile, i) { + profiles.forEach(function (profile, i) { if (!profile.color) { - profile.color = metroColors[(metroColorsIndex = ++metroColorsIndex >= metroColors.length ? 0 : metroColorsIndex)]; + profile.color = + metroColors[ + (metroColorsIndex = + ++metroColorsIndex >= metroColors.length + ? 0 + : metroColorsIndex) + ]; GM_setValue("MWLID.profiles", JSON.stringify(profiles)); } var contrastDark = getContrastYIQ(profile.color); var profileDiv = document.createElement("div"); - profileDiv.classList.add("profile", contrastDark ? "dark" : "light"); + profileDiv.classList.add( + "profile", + contrastDark ? "dark" : "light", + ); profileDiv.setAttribute("title", profile.mail); profileDiv.style.backgroundColor = profile.color; - profileDiv.addEventListener("click", proxy(function(_event, _profile) { - document.getElementById("i0116").value = _profile.mail; - fireEvent(document.getElementById("i0116"), "change"); + profileDiv.addEventListener( + "click", + proxy(function (_event, _profile) { + document.getElementById("i0116").value = _profile.mail; + fireEvent(document.getElementById("i0116"), "change"); - document.getElementById("i0118").value = _profile.pass; - fireEvent(document.getElementById("i0118"), "change"); + document.getElementById("i0118").value = _profile.pass; + fireEvent(document.getElementById("i0118"), "change"); - if (autoLogin) { - document.getElementById("idSIButton9").click(); - } - }, profile)); + if (autoLogin) { + document.getElementById("idSIButton9").click(); + } + }, profile), + ); var profileImg = document.createElement("img"); profileImg.classList.add("profileImg"); - profileImg.setAttribute("src", profile.photo || profile.img || (contrastDark ? image.photoDark : image.photoLight)); + profileImg.setAttribute( + "src", + profile.photo || + profile.img || + (contrastDark ? image.photoDark : image.photoLight), + ); var profileName = document.createElement("span"); profileName.classList.add("profileName"); @@ -185,78 +235,152 @@ if (i !== 0) { var profileManageLeft = document.createElement("img"); profileManageLeft.setAttribute("title", "Move to the left"); - profileManageLeft.setAttribute("src", contrastDark ? image.leftDark : image.leftLight); + profileManageLeft.setAttribute( + "src", + contrastDark ? image.leftDark : image.leftLight, + ); profileManage.appendChild(profileManageLeft); - profileManageLeft.addEventListener("click", proxy(function(_event, _profile, _i) { - _event.stopPropagation(); - - var index = parseInt(_i, 10); - - if (parseInt(editAccountId.value, 10) === index) { editAccountId.value = index - 1; } - - var tmp = profiles[index]; - profiles[index] = profiles[index - 1]; - profiles[index - 1] = tmp; - - GM_setValue("MWLID.profiles", JSON.stringify(profiles)); - - repaint(); - }, profile, i)); + profileManageLeft.addEventListener( + "click", + proxy( + function (_event, _profile, _i) { + _event.stopPropagation(); + + var index = parseInt(_i, 10); + + if ( + parseInt(editAccountId.value, 10) === index + ) { + editAccountId.value = index - 1; + } + + var tmp = profiles[index]; + profiles[index] = profiles[index - 1]; + profiles[index - 1] = tmp; + + GM_setValue( + "MWLID.profiles", + JSON.stringify(profiles), + ); + + repaint(); + }, + profile, + i, + ), + ); } - if (i !== (profiles.length - 1)) { + if (i !== profiles.length - 1) { var profileManageRight = document.createElement("img"); - profileManageRight.setAttribute("title", "Move to the right"); - profileManageRight.setAttribute("src", contrastDark ? image.rightDark : image.rightLight); + profileManageRight.setAttribute( + "title", + "Move to the right", + ); + profileManageRight.setAttribute( + "src", + contrastDark ? image.rightDark : image.rightLight, + ); profileManage.appendChild(profileManageRight); - profileManageRight.addEventListener("click", proxy(function(_event, _profile, _i) { - _event.stopPropagation(); - - var index = parseInt(_i, 10); - - if (parseInt(editAccountId.value, 10) === index) { editAccountId.value = index + 1; } - - var tmp = profiles[index]; - profiles[index] = profiles[index + 1]; - profiles[index + 1] = tmp; - - GM_setValue("MWLID.profiles", JSON.stringify(profiles)); - - repaint(); - }, profile, i)); + profileManageRight.addEventListener( + "click", + proxy( + function (_event, _profile, _i) { + _event.stopPropagation(); + + var index = parseInt(_i, 10); + + if ( + parseInt(editAccountId.value, 10) === index + ) { + editAccountId.value = index + 1; + } + + var tmp = profiles[index]; + profiles[index] = profiles[index + 1]; + profiles[index + 1] = tmp; + + GM_setValue( + "MWLID.profiles", + JSON.stringify(profiles), + ); + + repaint(); + }, + profile, + i, + ), + ); } var profileManageEdit = document.createElement("img"); - profileManageEdit.setAttribute("title", "Click to edit this account..."); - profileManageEdit.setAttribute("src", contrastDark ? image.editDark : image.editLight); + profileManageEdit.setAttribute( + "title", + "Click to edit this account...", + ); + profileManageEdit.setAttribute( + "src", + contrastDark ? image.editDark : image.editLight, + ); profileManage.appendChild(profileManageEdit); - profileManageEdit.addEventListener("click", proxy(function(_event, _profile, _i) { - _event.stopPropagation(); - - document.querySelector("#maincontent > section").style.display = "none"; - - document.getElementById("editAccountTD").style.display = "block"; - - setAccount(_i, _profile); - }, profile, i)); + profileManageEdit.addEventListener( + "click", + proxy( + function (_event, _profile, _i) { + _event.stopPropagation(); + + document.querySelector( + "#maincontent > section", + ).style.display = "none"; + + document.getElementById( + "editAccountTD", + ).style.display = "block"; + + setAccount(_i, _profile); + }, + profile, + i, + ), + ); var profileManageDelete = document.createElement("img"); - profileManageDelete.setAttribute("title", "Delete this account!"); - profileManageDelete.setAttribute("src", contrastDark ? image.deleteDark : image.deleteLight); + profileManageDelete.setAttribute( + "title", + "Delete this account!", + ); + profileManageDelete.setAttribute( + "src", + contrastDark ? image.deleteDark : image.deleteLight, + ); profileManage.appendChild(profileManageDelete); - profileManageDelete.addEventListener("click", proxy(function(_event, _profile, _i) { - _event.stopPropagation(); - - if (window.confirm("Are you sure you want to delete this account?")) { - profiles.splice(_i, 1); - - GM_setValue("MWLID.profiles", JSON.stringify(profiles)); - - repaint(); - - setAccount(); - } - }, profile, i)); + profileManageDelete.addEventListener( + "click", + proxy( + function (_event, _profile, _i) { + _event.stopPropagation(); + + if ( + window.confirm( + "Are you sure you want to delete this account?", + ) + ) { + profiles.splice(_i, 1); + + GM_setValue( + "MWLID.profiles", + JSON.stringify(profiles), + ); + + repaint(); + + setAccount(); + } + }, + profile, + i, + ), + ); accountTD.appendChild(profileDiv); profileDiv.appendChild(profileImg); @@ -268,10 +392,12 @@ addAccountBtnDiv.classList.add("profile", "addAccountBtn"); addAccountBtnDiv.setAttribute("title", "Add account"); addAccountBtnDiv.style.backgroundColor = "#0072C6"; - addAccountBtnDiv.addEventListener("click", function() { - document.querySelector("#maincontent > section").style.display = "none"; + addAccountBtnDiv.addEventListener("click", function () { + document.querySelector("#maincontent > section").style.display = + "none"; - document.getElementById("editAccountTD").style.display = "block"; + document.getElementById("editAccountTD").style.display = + "block"; setAccount(); }); @@ -282,7 +408,9 @@ var addAccountBtnName = document.createElement("span"); addAccountBtnName.classList.add("profileName"); - addAccountBtnName.appendChild(document.createTextNode("Add account")); + addAccountBtnName.appendChild( + document.createTextNode("Add account"), + ); accountTD.appendChild(addAccountBtnDiv); addAccountBtnDiv.appendChild(addAccountBtnImg); @@ -303,43 +431,47 @@ editAccountDiv.innerHTML = '
    ' + '
    ' + - '

    Multiple Windows Live IDs

    ' + - '
    ' + - '' + - '
    ' + - '
    ' + - '
    Add account
    ' + - '
    Edit account
    ' + - '
    '+ - '
    Name
    ' + - '
    '+ - '
    Please enter your email address in the format someone@example.com.
    ' + - '
    someone@example.com
    ' + - '
    '+ - '
    Please enter the password for your Microsoft account.
    ' + - '
    Password
    ' + - '
    '+ - '
    http://my.pictu.re/img.png
    ' + - '
    '+ - '
    #AB12CD
    ' + - '
    ' + - '
    ' + - '
    Multiple Windows Live IDs. More info...
    ' + - '
    '; + '

    Multiple Windows Live IDs

    ' + + "" + + '' + + "
    " + + "
    " + + '
    Add account
    ' + + '
    Edit account
    ' + + '
    ' + + '
    Name
    ' + + '
    ' + + '
    Please enter your email address in the format someone@example.com.
    ' + + '
    someone@example.com
    ' + + '
    ' + + '
    Please enter the password for your Microsoft account.
    ' + + '
    Password
    ' + + '
    ' + + '
    http://my.pictu.re/img.png
    ' + + '
    ' + + '
    #AB12CD
    ' + + "
    " + + '
    ' + + '
    Multiple Windows Live IDs. More info...
    ' + + "
    "; mainTD.appendChild(editAccountDiv); var editAccountHeader1 = document.getElementById("editAccountHeader1"), editAccountHeader2 = document.getElementById("editAccountHeader2"), - editAccountId = document.getElementById("editAccountId"), editAccountName = document.getElementById("editAccountName"), editAccountMail = document.getElementById("editAccountMail"), editAccountPass = document.getElementById("editAccountPass"), editAccountPhoto = document.getElementById("editAccountPhoto"), editAccountColor = document.getElementById("editAccountColor"), - - editAccountMailError = document.getElementById("editAccountMailError"), - editAccountPassError = document.getElementById("editAccountPassError"); + editAccountMailError = document.getElementById( + "editAccountMailError", + ), + editAccountPassError = document.getElementById( + "editAccountPassError", + ); addPlaceHolders(editAccountName); addPlaceHolders(editAccountMail); @@ -347,45 +479,59 @@ addPlaceHolders(editAccountPhoto); addPlaceHolders(editAccountColor); - if (addPassMask) { addPassMaskFn(editAccountPass); } + if (addPassMask) { + addPassMaskFn(editAccountPass); + } - document.getElementById("editAccountSubmit").addEventListener("click", function(e) { - e.preventDefault(); + document + .getElementById("editAccountSubmit") + .addEventListener("click", function (e) { + e.preventDefault(); - editAccountMailError.style.display = !editAccountMail.value ? "block" : "none"; - editAccountPassError.style.display = !editAccountPass.value ? "block" : "none"; + editAccountMailError.style.display = !editAccountMail.value + ? "block" + : "none"; + editAccountPassError.style.display = !editAccountPass.value + ? "block" + : "none"; - if (!editAccountPass.value || !editAccountMail.value) { return; } + if (!editAccountPass.value || !editAccountMail.value) { + return; + } - var index = parseInt(editAccountId.value, 10); - profiles[index === -1 ? profiles.length : index] = { - name: editAccountName.value, - mail: editAccountMail.value, - pass: editAccountPass.value, - photo: editAccountPhoto.value, - color: editAccountColor.value - }; + var index = parseInt(editAccountId.value, 10); + profiles[index === -1 ? profiles.length : index] = { + name: editAccountName.value, + mail: editAccountMail.value, + pass: editAccountPass.value, + photo: editAccountPhoto.value, + color: editAccountColor.value, + }; - GM_setValue("MWLID.profiles", JSON.stringify(profiles)); + GM_setValue("MWLID.profiles", JSON.stringify(profiles)); - repaint(); + repaint(); - document.querySelector("#maincontent > section").style.display = "block"; + document.querySelector("#maincontent > section").style.display = + "block"; - document.getElementById("editAccountTD").style.display = "none"; + document.getElementById("editAccountTD").style.display = "none"; - setAccount(); - }); + setAccount(); + }); - document.getElementById("editAccountCancel").addEventListener("click", function(e) { - e.preventDefault(); + document + .getElementById("editAccountCancel") + .addEventListener("click", function (e) { + e.preventDefault(); - document.querySelector("#maincontent > section").style.display = "block"; + document.querySelector("#maincontent > section").style.display = + "block"; - document.getElementById("editAccountTD").style.display = "none"; + document.getElementById("editAccountTD").style.display = "none"; - setAccount(); - }); + setAccount(); + }); function setAccount(id, profile) { profile = profile || {}; @@ -398,7 +544,9 @@ editAccountMail.value = profile.mail || ""; editAccountPass.value = profile.pass || ""; editAccountPhoto.value = profile.photo || profile.img || ""; - editAccountColor.value = profile.color || metroColors[profiles.length % metroColors.length]; + editAccountColor.value = + profile.color || + metroColors[profiles.length % metroColors.length]; fireEvent(editAccountName, "change"); fireEvent(editAccountMail, "change"); @@ -413,12 +561,20 @@ } function addPlaceHolders(elm) { - elm.parentNode.getElementsByClassName("phholder")[0].addEventListener("mouseup", function() { - elm.focus(); - }); - addEventListeners(elm, ["change", "keyup", "keydown", "keypress"], function() { - elm.parentNode.getElementsByClassName("phholder")[0].style.display = !elm.value ? "block" : "none"; - }); + elm.parentNode + .getElementsByClassName("phholder")[0] + .addEventListener("mouseup", function () { + elm.focus(); + }); + addEventListeners( + elm, + ["change", "keyup", "keydown", "keypress"], + function () { + elm.parentNode.getElementsByClassName( + "phholder", + )[0].style.display = !elm.value ? "block" : "none"; + }, + ); } function addPassMaskFn(elm) { @@ -427,18 +583,26 @@ img.setAttribute("src", image.passMask); img.setAttribute("title", "Click to hide/show the password"); img.style.display = elm.value ? "block" : "none"; - img.addEventListener("click", function() { - elm.setAttribute("type", elm.getAttribute("type") === "password" ? "text" : "password"); - }); - addEventListeners(elm, ["change", "keyup", "keydown", "keypress"], function() { - img.style.display = elm.value ? "block" : "none"; + img.addEventListener("click", function () { + elm.setAttribute( + "type", + elm.getAttribute("type") === "password" + ? "text" + : "password", + ); }); + addEventListeners( + elm, + ["change", "keyup", "keydown", "keypress"], + function () { + img.style.display = elm.value ? "block" : "none"; + }, + ); elm.parentNode.insertBefore(img, elm.nextSibling); } if (addPassMask) { - addPassMaskFn(document.getElementById("i0118")); // Microsoft password; + addPassMaskFn(document.getElementById("i0118")); // Microsoft password; } - }, 500); })(); diff --git a/Multiple_Windows_Live_IDs/README.md b/Multiple_Windows_Live_IDs/README.md index 5ef7c03..415819d 100644 --- a/Multiple_Windows_Live_IDs/README.md +++ b/Multiple_Windows_Live_IDs/README.md @@ -21,26 +21,26 @@ Easy login with multiple Microsoft accounts. ## Compatible -* ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.2.0** +- **0.2.0** - * Rewrite after site changes (fixes [#103][]). + - Rewrite after site changes (fixes [#103][]). -* **0.1.1** +- **0.1.1** - * Doing some clean up; - * Fixed info link; + - Doing some clean up; + - Fixed info link; -* **0.1.0** +- **0.1.0** - * Initial version; + - Initial version; ## External links -* [Greasy Fork](https://greasyfork.org/en/scripts/6277-multiple-windows-live-ids) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Multiple_Windows_Live_IDs) +- [Greasy Fork](https://greasyfork.org/en/scripts/6277-multiple-windows-live-ids) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Multiple_Windows_Live_IDs) [#103]: https://github.com/jerone/UserScripts/issues/103 diff --git a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js index 165af77..1a20776 100644 --- a/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js +++ b/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js @@ -17,6 +17,8 @@ // @grant none // ==/UserScript== -(function() { - document.getElementById("c_signout") && (document.getElementById("c_signout").href = "https://login.live.com/logout.srf?id=64855"); +(function () { + document.getElementById("c_signout") && + (document.getElementById("c_signout").href = + "https://login.live.com/logout.srf?id=64855"); })(); diff --git a/Outlook_Sign_Out_To_Login/README.md b/Outlook_Sign_Out_To_Login/README.md index c4c2305..330c3c3 100644 --- a/Outlook_Sign_Out_To_Login/README.md +++ b/Outlook_Sign_Out_To_Login/README.md @@ -5,24 +5,20 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Redirect back to login page when signing out from Outlook. - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.0** - * Initial version; - +- **1.0** + - Initial version; ## External links -* [Greasy Fork](https://greasyfork.org/scripts/466-outlook-sign-out-to-login) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Outlook_Sign_Out_To_Login) +- [Greasy Fork](https://greasyfork.org/scripts/466-outlook-sign-out-to-login) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Outlook_Sign_Out_To_Login) diff --git a/PDF_Tools/PDF_Tools.user.js b/PDF_Tools/PDF_Tools.user.js index fd94414..2cd48cb 100644 --- a/PDF_Tools/PDF_Tools.user.js +++ b/PDF_Tools/PDF_Tools.user.js @@ -17,8 +17,7 @@ // cSpell:ignore PDF -(function() { - +(function () { //console.log(PDFJS.version); // "1.0.277" var mimetype = "png"; @@ -27,33 +26,47 @@ opened: false, initialize: function secondaryToolbarInitialize() { this.toolbar = document.createElement("div"); - this.toolbar.classList.add("secondaryToolbar", "doorHangerRight", "hidden"); + this.toolbar.classList.add( + "secondaryToolbar", + "doorHangerRight", + "hidden", + ); this.toolbar.style.right = "180px"; document.getElementById("mainContainer").appendChild(this.toolbar); this.buttonContainer = document.createElement("div"); - this.buttonContainer.classList.add("secondaryToolbarButtonContainer"); + this.buttonContainer.classList.add( + "secondaryToolbarButtonContainer", + ); this.toolbar.appendChild(this.buttonContainer); this.attachEvents(); }, - attachEvents: function() { + attachEvents: function () { /// https://github.com/mozilla/pdf.js/blob/2f5c6d6c3a75f9f44826c776dd356e2f786f35de/web/viewer.js#L2248 - window.addEventListener("click", function click(evt) { - if (SecondaryToolbar.opened && unsafeWindow.PDFView.container.contains(evt.target)) { - SecondaryToolbar.close(); - } - }, false); + window.addEventListener( + "click", + function click(evt) { + if ( + SecondaryToolbar.opened && + unsafeWindow.PDFView.container.contains(evt.target) + ) { + SecondaryToolbar.close(); + } + }, + false, + ); /// https://github.com/mozilla/pdf.js/blob/2f5c6d6c3a75f9f44826c776dd356e2f786f35de/web/viewer.js#L2381 window.addEventListener("keydown", function keydown(evt) { - if (SecondaryToolbar.opened && evt.keyCode === 27) { // esc; + if (SecondaryToolbar.opened && evt.keyCode === 27) { + // esc; SecondaryToolbar.close(); } }); }, - render: function() { + render: function () { console.log(unsafeWindow.PDFView.pages); console.log(unsafeWindow.PDFView.pages[0].draw); @@ -66,13 +79,18 @@ img.classList.add("secondaryToolbarButton", "download"); img.dataset.pageIndex = i; img.setAttribute("download", "page" + page.id + "." + mimetype); - img.setAttribute("title", "Download 'page" + page.id + "." + mimetype + "'"); + img.setAttribute( + "title", + "Download 'page" + page.id + "." + mimetype + "'", + ); img.style.display = "inline-block"; img.style.boxSizing = "border-box"; img.appendChild(document.createTextNode("Page " + page.id)); - img.addEventListener("click", function() { + img.addEventListener("click", function () { var page = pages[this.dataset.pageIndex]; - if (!page.canvas) { page.draw(); } + if (!page.canvas) { + page.draw(); + } this.href = page.canvas.toDataURL("image/" + mimetype); //window.open( page.canvas.toDataURL("image/" + mimetype)); }); @@ -86,9 +104,11 @@ img2.style.height = "16px"; img2.style.border = "1px solid red"; //img2.src = page.canvas.toDataURL("image/" + mimetype); - img2.src = page.canvas && page.canvas.toDataURL("image/" + mimetype) || ""; + img2.src = + (page.canvas && + page.canvas.toDataURL("image/" + mimetype)) || + ""; this.buttonContainer.appendChild(img2); - } /* @@ -128,9 +148,11 @@ });*/ }, - empty: function() { + empty: function () { while (this.buttonContainer.hasChildNodes()) { - this.buttonContainer.removeChild(this.buttonContainer.lastChild); + this.buttonContainer.removeChild( + this.buttonContainer.lastChild, + ); } }, @@ -139,7 +161,7 @@ return; } this.opened = true; - this.toolbar.classList.remove('hidden'); + this.toolbar.classList.remove("hidden"); this.render(); }, @@ -150,7 +172,7 @@ return; } this.opened = false; - this.toolbar.classList.add('hidden'); + this.toolbar.classList.add("hidden"); this.empty(); }, @@ -160,7 +182,7 @@ } else { this.open(); } - } + }, }; SecondaryToolbar.initialize(); @@ -169,8 +191,7 @@ var btn = document.createElement("button"); btn.classList.add("toolbarButton", "zoomIn"); toolbar.insertBefore(btn, toolbar.firstChild); - btn.addEventListener("click", function() { + btn.addEventListener("click", function () { SecondaryToolbar.toggle(); }); - })(); diff --git a/PDF_Tools/README.md b/PDF_Tools/README.md index 3ad9144..d2d6fe4 100644 --- a/PDF_Tools/README.md +++ b/PDF_Tools/README.md @@ -5,41 +5,35 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Proof Of Concept (POC). An userscript that enhances the pdf.js window in Firefox. - ## Screenshot ![PDF Tools screenshot](https://github.com/jerone/UserScripts/raw/master/PDF_Tools/screenshot.jpg) - ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **0.1** - * Initial version; - +- **0.1** + - Initial version; ## Notes Documentation: -* https://github.com/mozilla/pdf.js +- https://github.com/mozilla/pdf.js Test case: -* http://mozilla.github.io/pdf.js/web/viewer.html?file=compressed.tracemonkey-pldi-09.pdf - +- http://mozilla.github.io/pdf.js/web/viewer.html?file=compressed.tracemonkey-pldi-09.pdf ## External links -* [Greasy Fork](https://greasyfork.org/scripts/6263-pdf-tools) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/PDF_Tools) +- [Greasy Fork](https://greasyfork.org/scripts/6263-pdf-tools) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/PDF_Tools) diff --git a/README.md b/README.md index dac47b8..eb0d7dc 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u - ~~[Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available.~~ (deprecated) - ~~[Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript.~~ (deprecated) - ~~[Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github.~~ (deprecated) -- For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme). +- For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme). ### Twitter diff --git a/Twitter_profile_replies_hider/README.md b/Twitter_profile_replies_hider/README.md index d8877dc..ec100be 100644 --- a/Twitter_profile_replies_hider/README.md +++ b/Twitter_profile_replies_hider/README.md @@ -5,37 +5,31 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Hide replies on Twitter profiles - ## Screenshot - - - +- ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **5.0** - * Added support for new Twitter layout (hopefully); - * Added support for Twitter navigation; -* **4.0** - * Initial version; - +- **5.0** + - Added support for new Twitter layout (hopefully); + - Added support for Twitter navigation; +- **4.0** + - Initial version; ## Notes If you installed this script before, you probably want to delete it before installing the new version. - ## External links -* [Greasy Fork](https://greasyfork.org/scripts/214-twitter-profile-replies-hider) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Twitter_profile_replies_hider) +- [Greasy Fork](https://greasyfork.org/scripts/214-twitter-profile-replies-hider) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Twitter_profile_replies_hider) diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 7839a6a..0a46b2f 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -19,50 +19,61 @@ // @grant none // ==/UserScript== -(function() { - +(function () { var settingsKey = "userscript_hide_replies", selector = ".js-stream-tweet[data-is-reply-to]", textOn = "Show Replies", textOff = "Hide Replies"; function addMenuItem() { - // ignore own account; //if(document.body.classList.contains("logged-in") && location.href === document.querySelector(".profile a").href) return; // tweets timeline; - var timeline = document.getElementById("stream-items-id") || document.getElementsByClassName("GridTimeline")[0]; + var timeline = + document.getElementById("stream-items-id") || + document.getElementsByClassName("GridTimeline")[0]; if (!timeline) return; // user menu; - var menuDivider = document.getElementsByClassName("dropdown-divider is-following")[0]; + var menuDivider = document.getElementsByClassName( + "dropdown-divider is-following", + )[0]; if (!menuDivider) return; // setting; var settingSaved = !!~~localStorage.getItem(settingsKey, +true); // work-around to get new tweets; - var loadTweets = function() { + var loadTweets = function () { var y = 0; function scroll() { y++; - window.scrollTo(document.documentElement.scrollLeft, document.documentElement.scrollTop + 1); + window.scrollTo( + document.documentElement.scrollLeft, + document.documentElement.scrollTop + 1, + ); if (y < 10) { window.setTimeout(scroll, 13); } else { - window.scrollTo(document.documentElement.scrollLeft, document.documentElement.scrollTop - y); + window.scrollTo( + document.documentElement.scrollLeft, + document.documentElement.scrollTop - y, + ); } } window.setTimeout(scroll, 13); }; // toggle visibility; - var toggle = function(hide, init) { - window.setTimeout(function() { - Array.forEach(document.querySelectorAll(selector), function(tweet) { - tweet.style.display = (!hide ? "block" : "none"); - }); + var toggle = function (hide, init) { + window.setTimeout(function () { + Array.forEach( + document.querySelectorAll(selector), + function (tweet) { + tweet.style.display = !hide ? "block" : "none"; + }, + ); if (hide && init) { loadTweets(); @@ -74,16 +85,16 @@ var liShow = document.createElement("li"); liShow.appendChild(document.createTextNode(textOn)); liShow.classList.add("dropdown-link"); - liShow.style.display = (settingSaved ? "block" : "none"); + liShow.style.display = settingSaved ? "block" : "none"; menuDivider.parentNode.insertBefore(liShow, menuDivider.nextSibling); var liHide = document.createElement("li"); liHide.appendChild(document.createTextNode(textOff)); liHide.classList.add("dropdown-link"); - liHide.style.display = (!settingSaved ? "block" : "none"); + liHide.style.display = !settingSaved ? "block" : "none"; menuDivider.parentNode.insertBefore(liHide, menuDivider.nextSibling); - liShow.addEventListener("click", function(e) { + liShow.addEventListener("click", function (e) { e.preventDefault(); localStorage.setItem(settingsKey, +false); toggle(false); @@ -92,7 +103,7 @@ return false; }); - liHide.addEventListener("click", function(e) { + liHide.addEventListener("click", function (e) { e.preventDefault(); localStorage.setItem(settingsKey, +true); toggle(true); @@ -102,8 +113,8 @@ }); // new tweets are loaded, handle accordingly; - new MutationObserver(function(mutations) { - mutations.forEach(function(mutation) { + new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { toggle(!!~~localStorage.getItem(settingsKey, +true)); }); }).observe(timeline, { childList: true }); @@ -112,10 +123,10 @@ toggle(settingSaved, true); } - window.setTimeout(function() { + window.setTimeout(function () { addMenuItem(); - unsafeWindow.$(document).on("uiPageChanged", function() { + unsafeWindow.$(document).on("uiPageChanged", function () { addMenuItem(); }); }, 1); @@ -149,5 +160,4 @@ }); }; */ - })(); diff --git a/Twitter_profile_retweets_hider/README.md b/Twitter_profile_retweets_hider/README.md index 22195bb..691f05c 100644 --- a/Twitter_profile_retweets_hider/README.md +++ b/Twitter_profile_retweets_hider/README.md @@ -5,37 +5,31 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Hide retweets on Twitter profiles - ## Screenshot - - - +- ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **2.0** - * Added support for new Twitter layout (hopefully); - * Added support for Twitter navigation; -* **1.0** - * Initial version; - +- **2.0** + - Added support for new Twitter layout (hopefully); + - Added support for Twitter navigation; +- **1.0** + - Initial version; ## Notes If you installed this script before, you probably want to delete it before installing the new version. - ## External links -* [Greasy Fork](https://greasyfork.org/scripts/215-twitter-profile-retweets-hider) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/Twitter_profile_retweets_hider) +- [Greasy Fork](https://greasyfork.org/scripts/215-twitter-profile-retweets-hider) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/Twitter_profile_retweets_hider) diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index c15c2ac..e77fcf3 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -19,50 +19,61 @@ // @grant none // ==/UserScript== -(function() { - +(function () { var settingsKey = "userscript_hide_retweets", selector = ".js-stream-tweet[data-retweet-id]", textOn = "Show Retweets", textOff = "Hide Retweets"; function addMenuItem() { - // ignore own account; //if(document.body.classList.contains("logged-in") && location.href === document.querySelector(".profile a").href) return; // tweets timeline; - var timeline = document.getElementById("stream-items-id") || document.getElementsByClassName("GridTimeline")[0]; + var timeline = + document.getElementById("stream-items-id") || + document.getElementsByClassName("GridTimeline")[0]; if (!timeline) return; // user menu; - var menuDivider = document.getElementsByClassName("dropdown-divider is-following")[0]; + var menuDivider = document.getElementsByClassName( + "dropdown-divider is-following", + )[0]; if (!menuDivider) return; // setting; var settingSaved = !!~~localStorage.getItem(settingsKey, +true); // work-around to get new tweets; - var loadTweets = function() { + var loadTweets = function () { var y = 0; function scroll() { y++; - window.scrollTo(document.documentElement.scrollLeft, document.documentElement.scrollTop + 1); + window.scrollTo( + document.documentElement.scrollLeft, + document.documentElement.scrollTop + 1, + ); if (y < 10) { window.setTimeout(scroll, 13); } else { - window.scrollTo(document.documentElement.scrollLeft, document.documentElement.scrollTop - y); + window.scrollTo( + document.documentElement.scrollLeft, + document.documentElement.scrollTop - y, + ); } } window.setTimeout(scroll, 13); }; // toggle visibility; - var toggle = function(hide, init) { - window.setTimeout(function() { - Array.forEach(document.querySelectorAll(selector), function(tweet) { - tweet.style.display = (!hide ? "block" : "none"); - }); + var toggle = function (hide, init) { + window.setTimeout(function () { + Array.forEach( + document.querySelectorAll(selector), + function (tweet) { + tweet.style.display = !hide ? "block" : "none"; + }, + ); if (hide && init) { loadTweets(); @@ -74,16 +85,16 @@ var liShow = document.createElement("li"); liShow.appendChild(document.createTextNode(textOn)); liShow.classList.add("dropdown-link"); - liShow.style.display = (settingSaved ? "block" : "none"); + liShow.style.display = settingSaved ? "block" : "none"; menuDivider.parentNode.insertBefore(liShow, menuDivider.nextSibling); var liHide = document.createElement("li"); liHide.appendChild(document.createTextNode(textOff)); liHide.classList.add("dropdown-link"); - liHide.style.display = (!settingSaved ? "block" : "none"); + liHide.style.display = !settingSaved ? "block" : "none"; menuDivider.parentNode.insertBefore(liHide, menuDivider.nextSibling); - liShow.addEventListener("click", function(e) { + liShow.addEventListener("click", function (e) { e.preventDefault(); localStorage.setItem(settingsKey, +false); toggle(false); @@ -92,7 +103,7 @@ return false; }); - liHide.addEventListener("click", function(e) { + liHide.addEventListener("click", function (e) { e.preventDefault(); localStorage.setItem(settingsKey, +true); toggle(true); @@ -102,8 +113,8 @@ }); // new tweets are loaded, handle accordingly; - new MutationObserver(function(mutations) { - mutations.forEach(function(mutation) { + new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { toggle(!!~~localStorage.getItem(settingsKey, +true)); }); }).observe(timeline, { childList: true }); @@ -112,10 +123,10 @@ toggle(settingSaved, true); } - window.setTimeout(function() { + window.setTimeout(function () { addMenuItem(); - unsafeWindow.$(document).on("uiPageChanged", function() { + unsafeWindow.$(document).on("uiPageChanged", function () { addMenuItem(); }); }, 1); @@ -149,5 +160,4 @@ }); }; */ - })(); diff --git a/Userscripts.org_Diff_Extender/38909.user.js b/Userscripts.org_Diff_Extender/38909.user.js index befdadb..cf58b61 100644 --- a/Userscripts.org_Diff_Extender/38909.user.js +++ b/Userscripts.org_Diff_Extender/38909.user.js @@ -63,32 +63,37 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //////////////////////////////////////////////////////////////////////////// // Note: // - -/*////////////////////////////////////////////////////////////////////////// +/*/ ///////////////////////////////////////////////////////////////////////// // cSpell:ignore andale, lucida, cellspacing //*** USERSCRIPT ***// -(function(win, doc, und) { - - var xPath = function(xpath, root){ +(function (win, doc, und) { + var xPath = function (xpath, root) { var next, got = doc.evaluate(xpath, root || doc, null, null, null), result = []; - while((next = got.iterateNext())) result.push(next); + while ((next = got.iterateNext())) result.push(next); return result; }; var UDE = { - init: function(){ + init: function () { var pre; - if((pre = doc.getElementById("content").getElementsByTagName("pre")[0])){ + if ( + (pre = doc + .getElementById("content") + .getElementsByTagName("pre")[0]) + ) { pre.style.paddingLeft = "15px"; pre.style.lineHeight = "17px"; pre.style.paddingTop = "0"; - var scrollWidth = (Math.max(parseInt(pre.scrollWidth), 0) || 1000) + "px"; + var scrollWidth = + (Math.max(parseInt(pre.scrollWidth), 0) || 1000) + "px"; - var css = " \ + var css = + " \ .diff { \ background-color: #EEEEEE; \ float: left; \ @@ -148,7 +153,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. table.className = "diffNr"; div.appendChild(table); - xPath(".//div[@class='meta']", pre).forEach(function(meta){ + xPath(".//div[@class='meta']", pre).forEach(function (meta) { meta.style.marginLeft = "-15px"; meta.style.width = scrollWidth; @@ -167,13 +172,20 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. tdAdd.appendChild(doc.createTextNode("+")); tr.appendChild(tdAdd); - var iOld = meta.textContent.match(/^@@\s\-(\d+),\d+\s\+(\d+),\d+\s@@/)[1]; - var iNew = meta.textContent.match(/^@@\s\-(\d+),\d+\s\+(\d+),\d+\s@@/)[2]; - while(meta.nextSibling && meta.nextSibling.className!="meta"){ + var iOld = meta.textContent.match( + /^@@\s\-(\d+),\d+\s\+(\d+),\d+\s@@/, + )[1]; + var iNew = meta.textContent.match( + /^@@\s\-(\d+),\d+\s\+(\d+),\d+\s@@/, + )[2]; + while ( + meta.nextSibling && + meta.nextSibling.className != "meta" + ) { var temp = meta.nextSibling.textContent.split(/\n/); temp.splice(-1, 1); var tdDel, tdAdd; - temp.forEach(function(item){ + temp.forEach(function (item) { var tr = doc.createElement("tr"); table.appendChild(tr); @@ -183,22 +195,25 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. tdAdd = doc.createElement("td"); tr.appendChild(tdAdd); - if(!item.match(/^\+/)){ + if (!item.match(/^\+/)) { tdDel.className = "diffAdd"; tdDel.appendChild(doc.createTextNode(iOld)); iOld++; } - if(!item.match(/^\-/)){ + if (!item.match(/^\-/)) { tdAdd.className = "diffDel"; tdAdd.appendChild(doc.createTextNode(iNew)); iNew++; } }); - if(meta.nodeType===3){ + if (meta.nodeType === 3) { tdDel.style.borderTop = "1px solid #FF8888"; tdAdd.style.borderTop = "1px solid #99FF99"; } - if(meta.nextSibling.nextSibling && meta.nextSibling.nextSibling.nodeType===3){ + if ( + meta.nextSibling.nextSibling && + meta.nextSibling.nextSibling.nodeType === 3 + ) { tdDel.style.borderBottom = "1px solid #FF8888"; tdAdd.style.borderBottom = "1px solid #99FF99"; } @@ -206,30 +221,42 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. } }); - xPath(".//div[@class='del' or @class='add']", pre).forEach(function(del){ - var temp = del.textContent; - del.style.width = scrollWidth; - del.style.marginLeft = "-15px"; - del.style.borderColor = (/^\-/.test(temp) ? "#AA3333" : "#33AA33"); - del.style.borderStyle = "solid"; - del.style.borderWidth = (del.previousSibling.nodeType==3 ? "1px" : "0px") + " 1px " + (del.nextSibling.nodeType==3 ? "1px" : "0px") + " 1px"; - while(del.hasChildNodes()) del.removeChild(del.firstChild); - del.appendChild(doc.createTextNode(temp.replace(/^[\+\-]/, ""))); - var span = doc.createElement("span"); - span.className = (/^\-/.test(temp) ? "diffAdd" : "diffDel") + " diffSim"; - span.innerHTML = temp.match(/^[\+\-]/); - del.insertBefore(span, del.firstChild); - }); + xPath(".//div[@class='del' or @class='add']", pre).forEach( + function (del) { + var temp = del.textContent; + del.style.width = scrollWidth; + del.style.marginLeft = "-15px"; + del.style.borderColor = /^\-/.test(temp) + ? "#AA3333" + : "#33AA33"; + del.style.borderStyle = "solid"; + del.style.borderWidth = + (del.previousSibling.nodeType == 3 + ? "1px" + : "0px") + + " 1px " + + (del.nextSibling.nodeType == 3 ? "1px" : "0px") + + " 1px"; + while (del.hasChildNodes()) + del.removeChild(del.firstChild); + del.appendChild( + doc.createTextNode(temp.replace(/^[\+\-]/, "")), + ); + var span = doc.createElement("span"); + span.className = + (/^\-/.test(temp) ? "diffAdd" : "diffDel") + + " diffSim"; + span.innerHTML = temp.match(/^[\+\-]/); + del.insertBefore(span, del.firstChild); + }, + ); } - } + }, }; - UDE.init(); // execute; - + UDE.init(); // execute; })(this, document); - - //*** STATISTICS ***// // Chars (exclude spaces): 6.091 // Chars (include spaces): 8.055 diff --git a/Userscripts.org_Extended_Style/37212.user.js b/Userscripts.org_Extended_Style/37212.user.js index 88ab6d8..bcdd9c6 100644 --- a/Userscripts.org_Extended_Style/37212.user.js +++ b/Userscripts.org_Extended_Style/37212.user.js @@ -10,7 +10,8 @@ // @grant GM_addStyle // ==/UserScript== -GM_addStyle(" \ +GM_addStyle( + " \ \ /* script management header link fix */ \ #home-scripts th a, \ @@ -61,9 +62,8 @@ GM_addStyle(" \ background-color: AntiqueWhite; \ } \ \ -"); - - +", +); //*** STATISTICS ***// // Chars (exclude spaces): 1.427 diff --git a/Userscripts.org_Scripts_Source_Counter/37611.user.js b/Userscripts.org_Scripts_Source_Counter/37611.user.js index 7b48cd6..8380d72 100644 --- a/Userscripts.org_Scripts_Source_Counter/37611.user.js +++ b/Userscripts.org_Scripts_Source_Counter/37611.user.js @@ -27,61 +27,82 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/*////////////////////////////////////////////////////////////////////////// +/*/ ///////////////////////////////////////////////////////////////////////// /* cSpell:enable */ // cSpell:ignore STATIS -(function(){ - - Number.prototype.toPoints = function(){ return (this + "").replace(/(\d)(?=(\d{3})+$)/g, '$1.'); }; +(function () { + Number.prototype.toPoints = function () { + return (this + "").replace(/(\d)(?=(\d{3})+$)/g, "$1."); + }; var obj, node, btn; - if((obj = document.getElementById("script_src"))){ + if ((obj = document.getElementById("script_src"))) { obj.style["white-space"] = "pre-wrap"; btn = document.createElement("input"); btn.type = "button"; btn.value = "Count!"; btn.style["margin-right"] = "10px"; - btn.title = "Count all characters, words and lines and include the stats at the end of the UserScript!"; + btn.title = + "Count all characters, words and lines and include the stats at the end of the UserScript!"; node = obj.nextSibling; - while(node.nodeType==3 || !/\S/.test(node.nodeValue)){ + while (node.nodeType == 3 || !/\S/.test(node.nodeValue)) { node = node.nextSibling; } - if(/new/i.test(location.href)){ + if (/new/i.test(location.href)) { node.parentNode.insertBefore(btn, node.nextSibling); } else { node.insertBefore(btn, node.firstChild); } - btn.addEventListener("click", function(){ - if(new RegExp("User" + "Stats").test(obj.value)){ // new way; - obj.value = obj.value.replace(new RegExp("\\n*\\/\\/\\s+==User" + "Stats==[.\\w\\t\\s./():]*\\/\\/\\s+==\\/User" + "Stats=="), ""); - } else if(new RegExp("STATIS" + "TICS").test(obj.value)){ // old way; - obj.value = obj.value.replace(new RegExp("\\n*\\/\\/\\*\\*\\* STATIS" + "TICS.*(\\n.*)*$"), ""); + btn.addEventListener("click", function () { + if (new RegExp("User" + "Stats").test(obj.value)) { + // new way; + obj.value = obj.value.replace( + new RegExp( + "\\n*\\/\\/\\s+==User" + + "Stats==[.\\w\\t\\s./():]*\\/\\/\\s+==\\/User" + + "Stats==", + ), + "", + ); + } else if (new RegExp("STATIS" + "TICS").test(obj.value)) { + // old way; + obj.value = obj.value.replace( + new RegExp( + "\\n*\\/\\/\\*\\*\\* STATIS" + "TICS.*(\\n.*)*$", + ), + "", + ); } - obj.value += stats(obj.value + stats(obj.value)); // add stats; - obj.scrollTop = obj.scrollHeight; // scroll to end; + obj.value += stats(obj.value + stats(obj.value)); // add stats; + obj.scrollTop = obj.scrollHeight; // scroll to end; }); } - function stats(data){ - return ["", "", "", "", - "// ==User" + "Stats==", - "// Chars (excl. spaces): " + Count.charsExclSpace(data).toPoints(), - "// Chars (incl. spaces): " + Count.charsInclSpace(data).toPoints(), - "// Words: " + Count.words(data).toPoints(), - "// Lines: " + Count.lines(data).toPoints(), - "// ==/User" + "Stats=="].join("\n"); + function stats(data) { + return [ + "", + "", + "", + "", + "// ==User" + "Stats==", + "// Chars (excl. spaces): " + Count.charsExclSpace(data).toPoints(), + "// Chars (incl. spaces): " + Count.charsInclSpace(data).toPoints(), + "// Words: " + Count.words(data).toPoints(), + "// Lines: " + Count.lines(data).toPoints(), + "// ==/User" + "Stats==", + ].join("\n"); } var Count = { - charsExclSpace: function(str){ + charsExclSpace: function (str) { return str.replace(/\s/gi, "").length; }, - charsInclSpace: function(str){ + charsInclSpace: function (str) { return str.length - Count.lines(str) + 1; }, /*charsChinese: function(str){ @@ -93,18 +114,17 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. } return c; },*/ - words: function(str){ - return str.split(/\s/g).filter(function(item){ return !!item; }).length; + words: function (str) { + return str.split(/\s/g).filter(function (item) { + return !!item; + }).length; }, - lines: function(str){ + lines: function (str) { return str.split(/\n/gi).length; - } + }, }; - })(); - - // ==UserStats== // Chars (excl. spaces): 3.193 // Chars (incl. spaces): 3.795 diff --git a/Userscripts.org_Source_Numbering/38912.user.js b/Userscripts.org_Source_Numbering/38912.user.js index 0e822e1..2f5583a 100644 --- a/Userscripts.org_Source_Numbering/38912.user.js +++ b/Userscripts.org_Source_Numbering/38912.user.js @@ -24,43 +24,46 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/*////////////////////////////////////////////////////////////////////////// +/*/ ///////////////////////////////////////////////////////////////////////// /* cSpell:enable */ // cSpell:ignore andale, lucida, cellspacing - //*** USER SETTINGS ***// -var maxLines = 10000; // [Integer] maximum number of lines (prevent browser from hanging and possibly crashing); - - +var maxLines = 10000; // [Integer] maximum number of lines (prevent browser from hanging and possibly crashing); //*** USERSCRIPT ***// -(function(win, doc, und) { +(function (win, doc, und) { try { - - var getStyle = function(node, attr){ - if(doc.defaultView && doc.defaultView.getComputedStyle){ - return doc.defaultView.getComputedStyle(node, null).getPropertyValue(attr); - } else if(node.currentStyle){ + var getStyle = function (node, attr) { + if (doc.defaultView && doc.defaultView.getComputedStyle) { + return doc.defaultView + .getComputedStyle(node, null) + .getPropertyValue(attr); + } else if (node.currentStyle) { return node.currentStyle[attr]; } return node.style[attr]; }; var USN = { - Init: function(){ + Init: function () { var pre; - if((pre = doc.getElementById("source"))){ - + if ((pre = doc.getElementById("source"))) { var preHeight = parseFloat(getStyle(pre, "height")), - lineHeight = parseFloat(getStyle(pre, "line-height")) || 16.1; // px; + lineHeight = + parseFloat(getStyle(pre, "line-height")) || 16.1; // px; // All the CSS; - var css = " \ + var css = + " \ .numb { \ - background-image: linear-gradient(0deg, #eee " + lineHeight + "px, transparent 0px) !important;\ - background-size: 100% " + (lineHeight * 2) + "px !important; \ + background-image: linear-gradient(0deg, #eee " + + lineHeight + + "px, transparent 0px) !important;\ + background-size: 100% " + + lineHeight * 2 + + "px !important; \ background-position: 0 4px !important; \ border: 1px solid #DDDDDD; \ float: left; \ @@ -108,8 +111,12 @@ var maxLines = 10000; // [Integer] maximum number of lines (prevent browser fro z-index: 9; \ } \ #source { \ - background-image: linear-gradient(0deg, #eee " + lineHeight + "px, transparent 0px) !important;\ - background-size: 100% " + (lineHeight * 2) + "px !important; \ + background-image: linear-gradient(0deg, #eee " + + lineHeight + + "px, transparent 0px) !important;\ + background-size: 100% " + + lineHeight * 2 + + "px !important; \ background-position: 0 4px !important; \ margin-top: 0px !important; \ margin-left: 60px !important; \ @@ -148,26 +155,30 @@ var maxLines = 10000; // [Integer] maximum number of lines (prevent browser fro var lines = (maxLines || 5000) + 1, i = 1; - if(preHeight < ((lines + 10) * lineHeight)){ + if (preHeight < (lines + 10) * lineHeight) { lines = pre.innerHTML.split(/\n/).length + 1; } - for(; i(h:m): "; + label.innerHTML = + (/new/i.test(location.href) ? "Create" : "Save") + + " script at (h:m): "; container.appendChild(label); var inputHours = doc.createElement("input"); @@ -103,7 +113,8 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. var btn = doc.createElement("input"); btn.type = "button"; btn.value = "Activate timer"; - btn.title = "Click here to activate the timer to submit this script at a specific time!"; + btn.title = + "Click here to activate the timer to submit this script at a specific time!"; btn.style.marginRight = "10px"; container.appendChild(btn); @@ -113,19 +124,25 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. container.appendChild(label2); var node = obj.nextSibling; - while(node.nodeType==3 || !/\S/.test(node.nodeValue)){ + while (node.nodeType == 3 || !/\S/.test(node.nodeValue)) { node = node.nextSibling; } - if(/new/i.test(location.href)){ + if (/new/i.test(location.href)) { node.parentNode.insertBefore(container, node.nextSibling); } else { node.insertBefore(container, node.firstChild); } var interval, timeout; - addEvent(inputHours, "keyup", function(e){ - if(e.keyCode==9 || e.keyCode==16 || e.keyCode==17 || e.keyCode==18) return; // tab, shift, ctrl, alt; - if(this.value.length>=2){ + addEvent(inputHours, "keyup", function (e) { + if ( + e.keyCode == 9 || + e.keyCode == 16 || + e.keyCode == 17 || + e.keyCode == 18 + ) + return; // tab, shift, ctrl, alt; + if (this.value.length >= 2) { inputMinutes.select(); } btn.disabled = false; @@ -134,9 +151,15 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. win.clearTimeout(timeout); clock(); }); - addEvent(inputMinutes, "keyup", function(e){ - if(e.keyCode==9 || e.keyCode==16 || e.keyCode==17 || e.keyCode==18) return; // tab, shift, ctrl, alt; - if(this.value.length>=2){ + addEvent(inputMinutes, "keyup", function (e) { + if ( + e.keyCode == 9 || + e.keyCode == 16 || + e.keyCode == 17 || + e.keyCode == 18 + ) + return; // tab, shift, ctrl, alt; + if (this.value.length >= 2) { btn.focus(); } btn.disabled = false; @@ -145,65 +168,113 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. win.clearTimeout(timeout); clock(); }); - addEvent(btn, "click", function(){ - if(!this.disabled){ + addEvent(btn, "click", function () { + if (!this.disabled) { this.disabled = true; this.value = "Timer active"; this.focus(); - timeout = win.setTimeout(function(){ - var form = doc.evaluate("//form[contains(@action, 'create') or contains(@action, 'edit_src')]", doc, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; + timeout = win.setTimeout(function () { + var form = doc.evaluate( + "//form[contains(@action, 'create') or contains(@action, 'edit_src')]", + doc, + null, + XPathResult.FIRST_ORDERED_NODE_TYPE, + null, + ).singleNodeValue; form && form.submit && form.submit(); win.clearInterval(interval); win.clearTimeout(timeout); }, clock()); - interval = win.setInterval(function(){ + interval = win.setInterval(function () { clock(); - }, 30 * 1000); // every half a minute; + }, 30 * 1000); // every half a minute; } }); - function clock(){ + function clock() { var h = Number(inputHours.value) || 0, m = Number(inputMinutes.value) || 0, - timer = (new Date().setHours(h, m, 0, 0) - new Date().getTime()); - if(timer<0){ // - - timer += 24 * 60 * 60 * 1000; // +24 hour; + timer = + new Date().setHours(h, m, 0, 0) - + new Date().getTime(); + if (timer < 0) { + // - + timer += 24 * 60 * 60 * 1000; // +24 hour; } - label2.innerHTML = " ± " + humanize(timer) + " remaining. "; + label2.innerHTML = + " ± " + + humanize(timer) + + " remaining. "; return timer; } - function humanize(n, shorten){ + function humanize(n, shorten) { shorten = shorten || false; var txt = false, unites = [ - {name: "millisecond", plural: "milliseconds", min: 0, max: 1000}, - {name: "second", plural: "seconds", min: 1000, max: 60*1000}, - {name: "minute", plural: "minutes", min: 60*1000, max: 60*60*1000}, - {name: "hour", plural: "hours", min: 60*60*1000, max: 24*60*60*1000}, - {name: "day", plural: "days", min: 24*60*60*1000, max: 7*24*60*60*1000}, - {name: "week", plural: "weeks", min: 7*24*60*60*1000, max: 365*24*60*60*1000}, - {name: "year", plural: "years", min: 365*24*60*60*1000, max: Infinity}], - i = 0, unit; - for(; unit = unites[i]; i++){ - if(unit.min<=n && n(\d+)\s+topics?,\s+\d+\s+posts?/); - if(n && n.length && n[1] && !isNaN(n[1])){ + n = x.responseText.match( + /\"\>(\d+)\s+topics?,\s+\d+\s+posts?/, + ); + if ( + n && + n.length && + n[1] && + !isNaN(n[1]) + ) { t = parseInt(n[1], 10); } td.innerHTML = t; topics[nr] = t; - GM_setValue("UTC.topics", topics.toSource()); - GM_setValue("UTC.lastCheck", new Date().getTime().toString()); + GM_setValue( + "UTC.topics", + topics.toSource(), + ); + GM_setValue( + "UTC.lastCheck", + new Date().getTime().toString(), + ); }; - })(td, nr) + })(td, nr), }); } } }); - if(/scripts\?sort=topics/i.test(win.location.href)){ - tds.sort(function(a, b){ - return parseInt(a.innerHTML, 10) - parseInt(b.innerHTML, 10); + if (/scripts\?sort=topics/i.test(win.location.href)) { + tds.sort(function (a, b) { + return ( + parseInt(a.innerHTML, 10) - + parseInt(b.innerHTML, 10) + ); }); var i = tds.length - 1, row; - for(; i>=0; i--){ + for (; i >= 0; i--) { row = tds[i].parentNode.parentNode.lastChild; - row.parentNode.insertBefore(tds[i].parentNode, row.nextSibling); + row.parentNode.insertBefore( + tds[i].parentNode, + row.nextSibling, + ); } } } - } - } - - UTC.init(); // execute; + }, + }; - } catch(e){ win.console && win.console.log(e); } + UTC.init(); // execute; + } catch (e) { + win.console && win.console.log(e); + } })(unsafeWindow || this, document); - - //*** STATISTICS ***// // Chars (exclude spaces): 4.132 // Chars (include spaces): 5.163 diff --git a/Userscripts.org_Versions_Column/38595.user.js b/Userscripts.org_Versions_Column/38595.user.js index 5df2479..aa0339f 100644 --- a/Userscripts.org_Versions_Column/38595.user.js +++ b/Userscripts.org_Versions_Column/38595.user.js @@ -60,36 +60,34 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //////////////////////////////////////////////////////////////////////////// // Note: // - -/*////////////////////////////////////////////////////////////////////////// - - +/*/ ///////////////////////////////////////////////////////////////////////// //*** USER SETTINGS ***// -var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood userscripts.org); - - +var updateTime = 3 * 60 * 60 * 1000; // [Integer] update time (we don't want to flood userscripts.org); //*** USERSCRIPT ***// -(function(win, doc, und) { +(function (win, doc, und) { try { - var UVC = { - init: function(){ - var table = doc.getElementById("main").getElementsByClassName("wide forums")[0], + init: function () { + var table = doc + .getElementById("main") + .getElementsByClassName("wide forums")[0], trs = table.getElementsByTagName("tr"), ths = trs[0].getElementsByTagName("th"), tds = [], postsIndex, versions = eval(GM_getValue("UVC.versions", {})); - Array.forEach(ths, function(th){ - if(/\bInstalls\b/g.test(th.innerHTML)){ + Array.forEach(ths, function (th) { + if (/\bInstalls\b/g.test(th.innerHTML)) { postsIndex = th.cellIndex; } }); - if(trs.length && postsIndex){ - Array.forEach(trs, function(tr){ + if (trs.length && postsIndex) { + Array.forEach(trs, function (tr) { var column = tr.cells[postsIndex]; - if(!/scripts\-/.test(tr.id)){ // Header; + if (!/scripts\-/.test(tr.id)) { + // Header; var th = doc.createElement("th"); th.className = "la"; th.width = "1%"; @@ -99,7 +97,8 @@ var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood a.href = "/home/scripts?sort=versions"; a.innerHTML = "Versions"; th.appendChild(a); - } else { // Script row; + } else { + // Script row; var td = doc.createElement("td"); td.className = "inv lp"; td.innerHTML = "..."; @@ -109,53 +108,81 @@ var updateTime = 3*60*60*1000; // [Integer] update time (we don't want to flood var nr = tr.id.match(/\d+/)[0], now = new Date().getTime(); - if(typeof(versions[nr])==="number" && now - parseInt(GM_getValue("UVC.lastCheck", 0), 10) < updateTime){ + if ( + typeof versions[nr] === "number" && + now - + parseInt( + GM_getValue("UVC.lastCheck", 0), + 10, + ) < + updateTime + ) { td.innerHTML = versions[nr] || 0; } else { GM_xmlhttpRequest({ - method: "GET", - url: "http://userscripts.org/scripts/review/" + nr, - onload: (function(td, nr){ - return function count(x){ + method: "GET", + url: + "http://userscripts.org/scripts/review/" + + nr, + onload: (function (td, nr) { + return function count(x) { var i = 0, - n = x.responseText.match(/\"\>(\d+)\s+previous versions?<\/a\>/); - if(n && n.length>0 && typeof(n[1])!=="undefined" && !isNaN(n[1])){ + n = x.responseText.match( + /\"\>(\d+)\s+previous versions?<\/a\>/, + ); + if ( + n && + n.length > 0 && + typeof n[1] !== "undefined" && + !isNaN(n[1]) + ) { i = parseInt(n[1], 10); } - i++; // counting itself too; + i++; // counting itself too; td.innerHTML = i; versions[nr] = i; - GM_setValue("UVC.versions", versions.toSource()); - GM_setValue("UVC.lastCheck", new Date().getTime().toString()); + GM_setValue( + "UVC.versions", + versions.toSource(), + ); + GM_setValue( + "UVC.lastCheck", + new Date().getTime().toString(), + ); }; - })(td, nr) + })(td, nr), }); } } }); - if(/scripts\?sort=versions/i.test(win.location.href)){ - tds.sort(function(a, b){ - return parseInt(a.innerHTML, 10) - parseInt(b.innerHTML, 10); + if (/scripts\?sort=versions/i.test(win.location.href)) { + tds.sort(function (a, b) { + return ( + parseInt(a.innerHTML, 10) - + parseInt(b.innerHTML, 10) + ); }); var i = tds.length - 1, row; - for(; i>=0; i--){ + for (; i >= 0; i--) { row = tds[i].parentNode.parentNode.lastChild; - row.parentNode.insertBefore(tds[i].parentNode, row.nextSibling); + row.parentNode.insertBefore( + tds[i].parentNode, + row.nextSibling, + ); } } } - } - } - - UVC.init(); // execute; + }, + }; - } catch(e){ win.console && win.console.log(e); } + UVC.init(); // execute; + } catch (e) { + win.console && win.console.log(e); + } })(unsafeWindow || this, document); - - //*** STATISTICS ***// // Chars (exclude spaces): 4.225 // Chars (include spaces): 5.276 diff --git a/Userscripts.org_Versions_Tab/38594.user.js b/Userscripts.org_Versions_Tab/38594.user.js index ab8ca63..7085734 100644 --- a/Userscripts.org_Versions_Tab/38594.user.js +++ b/Userscripts.org_Versions_Tab/38594.user.js @@ -29,31 +29,38 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/*////////////////////////////////////////////////////////////////////////// +/*/ ///////////////////////////////////////////////////////////////////////// /* cSpell:enable */ // cSpell:ignore UVT -(function() { - +(function () { // [Number] minimum update interval (we don't want to flood userscripts.org); var updateTime = 24 * 60 * 60 * 1000; var sourceTab; - if(/\/review\//.test(location.href)) { // detect /review/ page first; + if (/\/review\//.test(location.href)) { + // detect /review/ page first; sourceTab = document.querySelector("#script-nav > li.current"); - } else if(document.getElementById("script-nav")) { - sourceTab = document.querySelector("#script-nav > li > a[href*='/scripts/review/']").parentNode; + } else if (document.getElementById("script-nav")) { + sourceTab = document.querySelector( + "#script-nav > li > a[href*='/scripts/review/']", + ).parentNode; } - if(sourceTab) { + if (sourceTab) { var nr; - if(/\/topics\//.test(location.href) || /\/reviews\//.test(location.href)) { + if ( + /\/topics\//.test(location.href) || + /\/reviews\//.test(location.href) + ) { nr = sourceTab.firstChild.href.match(/\d+/)[0]; - } else if(/\/scripts\//.test(location.href)) { - nr = location.href.match(/https?:\/\/userscripts.org\/scripts\/.*\/(\d*)\b/)[1]; + } else if (/\/scripts\//.test(location.href)) { + nr = location.href.match( + /https?:\/\/userscripts.org\/scripts\/.*\/(\d*)\b/, + )[1]; } - if(!nr) return; + if (!nr) return; var versions = eval(GM_getValue("UVT.versions", {})); @@ -67,61 +74,76 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. li.appendChild(a); var span = document.createElement("span"); - span.innerHTML = versions[nr] && versions[nr][0] || 1; + span.innerHTML = (versions[nr] && versions[nr][0]) || 1; a.appendChild(span); - if(location.href.match(/scripts\/versions\/\d*/)){ + if (location.href.match(/scripts\/versions\/\d*/)) { li.className = "current"; var i = document.querySelectorAll("#content > ul > li").length; span.innerHTML = i; versions[nr] = [i, new Date().getTime().toString()]; GM_setValue("UVT.versions", versions.toSource()); - } else if(location.href.match(/scripts\/review\/\d*/)){ - var i = parseInt(document.querySelector("#content > p > a").innerHTML.match(/(\d+)\s+previous versions?/)[1], 10); - i++; // counting itself too; + } else if (location.href.match(/scripts\/review\/\d*/)) { + var i = parseInt( + document + .querySelector("#content > p > a") + .innerHTML.match(/(\d+)\s+previous versions?/)[1], + 10, + ); + i++; // counting itself too; span.innerHTML = i; versions[nr] = [i, new Date().getTime().toString()]; GM_setValue("UVT.versions", versions.toSource()); } else { - if(versions[nr] && new Date().getTime() - Number(versions[nr][1]) < updateTime) { + if ( + versions[nr] && + new Date().getTime() - Number(versions[nr][1]) < updateTime + ) { span.innerHTML = versions[nr][0] || 1; } else { - var throbber = "data:image/gif;base64," - + 'R0lGODlhAQABAOMKAMTExMnJyc3NzdLS0tfX19vb2+Dg4OXl5enp6e7u7v//////////////////' - + '/////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQICgD/ACwAAAAAAQABAAAEAjBFACH5BAgKAP8ALAAA' - + 'AAABAAEAAAQCEEUAIfkECAoA/wAsAAAAAAEAAQAABALwRAAh+QQICgD/ACwAAAAAAQABAAAEAtBE' - + 'ACH5BAgKAP8ALAAAAAABAAEAAAQCsEQAIfkECAoA/wAsAAAAAAEAAQAABAKQRAAh+QQICgD/ACwA' - + 'AAAAAQABAAAEAnBEACH5BAgKAP8ALAAAAAABAAEAAAQCUEQAIfkECAoA/wAsAAAAAAEAAQAABAIw' - + 'RAAh+QQICgD/ACwAAAAAAQABAAAEAhBEACH5BAgKAP8ALAAAAAABAAEAAAQCMEQAIfkECAoA/wAs' - + 'AAAAAAEAAQAABAJQRAAh+QQICgD/ACwAAAAAAQABAAAEAnBEACH5BAgKAP8ALAAAAAABAAEAAAQC' - + 'kEQAIfkECAoA/wAsAAAAAAEAAQAABAKwRAAh+QQICgD/ACwAAAAAAQABAAAEAtBEACH5BAgKAP8A' - + 'LAAAAAABAAEAAAQC8EQAIfkEAAoA/wAsAAAAAAEAAQAABAIQRQA7'; + var throbber = + "data:image/gif;base64," + + "R0lGODlhAQABAOMKAMTExMnJyc3NzdLS0tfX19vb2+Dg4OXl5enp6e7u7v//////////////////" + + "/////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQICgD/ACwAAAAAAQABAAAEAjBFACH5BAgKAP8ALAAA" + + "AAABAAEAAAQCEEUAIfkECAoA/wAsAAAAAAEAAQAABALwRAAh+QQICgD/ACwAAAAAAQABAAAEAtBE" + + "ACH5BAgKAP8ALAAAAAABAAEAAAQCsEQAIfkECAoA/wAsAAAAAAEAAQAABAKQRAAh+QQICgD/ACwA" + + "AAAAAQABAAAEAnBEACH5BAgKAP8ALAAAAAABAAEAAAQCUEQAIfkECAoA/wAsAAAAAAEAAQAABAIw" + + "RAAh+QQICgD/ACwAAAAAAQABAAAEAhBEACH5BAgKAP8ALAAAAAABAAEAAAQCMEQAIfkECAoA/wAs" + + "AAAAAAEAAQAABAJQRAAh+QQICgD/ACwAAAAAAQABAAAEAnBEACH5BAgKAP8ALAAAAAABAAEAAAQC" + + "kEQAIfkECAoA/wAsAAAAAAEAAQAABAKwRAAh+QQICgD/ACwAAAAAAQABAAAEAtBEACH5BAgKAP8A" + + "LAAAAAABAAEAAAQC8EQAIfkEAAoA/wAsAAAAAAEAAQAABAIQRQA7"; li.style.backgroundImage = "url(" + throbber + ")"; GM_xmlhttpRequest({ - method: "GET", - url: "//userscripts.org/scripts/review/" + nr, - onload: (function(elem, nr) { + method: "GET", + url: "//userscripts.org/scripts/review/" + nr, + onload: (function (elem, nr) { return function count(x) { var i = 0, - n = x.responseText.match(/\"\>(\d+)\s+previous versions?<\/a\>/); - if(n && n.length > 0 && typeof(n[1])!=="undefined" && !isNaN(n[1])){ + n = x.responseText.match( + /\"\>(\d+)\s+previous versions?<\/a\>/, + ); + if ( + n && + n.length > 0 && + typeof n[1] !== "undefined" && + !isNaN(n[1]) + ) { i = parseInt(n[1], 10); } - i++; // counting itself too; + i++; // counting itself too; elem.innerHTML = i; versions[nr] = [i, new Date().getTime().toString()]; GM_setValue("UVT.versions", versions.toSource()); - elem.parentNode.parentNode.style.backgroundImage = ""; // remove throbber; + elem.parentNode.parentNode.style.backgroundImage = + ""; // remove throbber; }; - })(span, nr) + })(span, nr), }); } } } })(); - - // ==UserStats== // Chars (excl. spaces): 4.403 // Chars (incl. spaces): 5.195 diff --git a/_resources/TEMPLATE.md b/_resources/TEMPLATE.md index c8c3b2a..c5fca8e 100644 --- a/_resources/TEMPLATE.md +++ b/_resources/TEMPLATE.md @@ -5,34 +5,28 @@ [![Donate](https://raw.github.com/jerone/UserScripts/master/_resources/Donate-button.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW) [![Support](https://raw.github.com/jerone/UserScripts/master/_resources/Support-button.png)](https://github.com/jerone/UserScripts/issues) - ## Description Lorum ipsum - ## Screenshot - - - +- ## Compatible -* [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. - +- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History -* **1.0** - * Initial version; - +- **1.0** + - Initial version; ## Notes - - - +- ## External links -* [Greasy Fork](https://greasyfork.org/scripts/XXXXX) -* [OpenUserJS](https://openuserjs.org/scripts/jerone/XXXXX) +- [Greasy Fork](https://greasyfork.org/scripts/XXXXX) +- [OpenUserJS](https://openuserjs.org/scripts/jerone/XXXXX) From b586e7db24b4404d4487fc212f8bfa2dda958533 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 21:46:32 +0100 Subject: [PATCH 137/164] Update contributing file --- CONTRIBUTING.md | 57 ++++++++++++------------------------------------- 1 file changed, 14 insertions(+), 43 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0b32fbd..10edd58 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,66 +1,37 @@ # Contributing -Anyone can contribute to this repo, so long as you don't break anything on purpose. +Anyone can contribute to this repo, so long as you don't break anything on purpose. ## Bug reporting + Please [report any errors](https://github.com/jerone/UserScripts/issues/new) you're having with one of the scripts. This will help you and others and make the script better. When reporting an issue include the script name in the title and follow the template below for it's description: -> **Script**: `{name}` `{version}`
    -> **Browser**: `{name}` `{version}`
    -> **Addon** (e.g. Tampermonkey): `{name}` `{version}`
    -> **Error Message**: `{message}`
    -> **Screenshot**: `{drag&drop}`
    -> **Description**: `{description}`
    - -**Or click [here](https://github.com/jerone/UserScripts/issues/new?title=%28{script%20name}%29%20{summary}&body=**Script**%3A%20{name}%20{version}%0A**Browser**%3A%20{name}%20{version}%0A**Addon**%20%28e.g.%20Tampermonkey%29%3A%20{name}%20{version}%0A**Error%20Message**%3A%20%60{message}%60%0A**Screenshot**%3A%20{drag%26drop}%0A**Description**%3A%20{description}) to open a new issue.** +> **Script**: `{name}` `{version}`
    **Browser**: `{name}` `{version}`
    **Addon** (e.g. Tampermonkey): `{name}` `{version}`
    **Error Message**: `{message}`
    **Screenshot**: `{drag&drop}`
    **Description**: `{description}`
    +Or click [here](https://github.com/jerone/UserScripts/issues/new?title=%28{script%20name}%29%20{summary}&body=**Script**%3A%20{name}%20{version}%0A**Browser**%3A%20{name}%20{version}%0A**Addon**%20%28e.g.%20Tampermonkey%29%3A%20{name}%20{version}%0A**Error%20Message**%3A%20%60{message}%60%0A**Screenshot**%3A%20{drag%26drop}%0A**Description**%3A%20{description}) to open a new issue. ## Bug fixes -If you find any sort of error, spelling mistake, etc. in this project, feel free to fix it and submit a [pull request](https://github.com/jerone/UserScripts/pulls) with your commit. Little fixes like this are welcomed and are usually accepted pretty quickly. +If you find any sort of error, spelling mistake, etc. in this project, feel free to fix it and submit a [pull request](https://github.com/jerone/UserScripts/pulls) with your commit. Little fixes like this are welcomed and are usually accepted pretty quickly. ## Feature requests -Time is limited, so feature requests are discussed and released when possible and time permits. You can always send a [pull request](https://github.com/jerone/UserScripts/pulls) to speed up the process. +Time is limited, so feature requests are discussed and released when possible and time permits. You can always send a [pull request](https://github.com/jerone/UserScripts/pulls) to speed up the process. ## Code style -Many conventions are available for writing code, but in this repo there's only one correct and that's mine :) -Please use the following conventions: +Many conventions are available for writing code, but in this repo there's only one correct and that's mine 😊 -* Tabs over spaces. -* My tabs are 4 spaces width. -* Always append JavaScript with an `;`. -* End files with a newline. -* Try to obey [JSHint](http://jshint.com) rules. -* Install [EditorConfig](http://editorconfig.org) to help with above and more rules. -* Follow the conventions you see used in the source already. +Please use the following conventions: +- Obey to linting (ESLint) rules. You can run them via `npm run lint`. +- Install [EditorConfig](http://editorconfig.org) to help. +- Follow the conventions you see used in the source already. ## Git Commit Messages -* Use the past tense ("Added feature" not "Add feature"). -* Limit the first line to 72 characters or less. -* Reference issues and pull requests liberally. -* Consider starting the commit message with an applicable emoji: - * :bug: `:bug:` when fixing a bug. - * :sparkles: `:sparkles:` when adding a new feature. - * :art: `:art:` when improving the format/structure of the code. - * :memo: `:memo:` when writing docs. - * :mag: `:mag:` when adding debugging code. - * :fire: `:fire:` when removing code or files. - * :racehorse: `:racehorse:` when improving performance. - * :non-potable_water: `:non-potable_water:` when plugging memory leaks. - * :green_heart: `:green_heart:` when fixing the CI build. - * :white_check_mark: `:white_check_mark:` when adding tests. - * :lock: `:lock:` when dealing with security. - * :shirt: `:shirt:` when removing linter warnings. - * :package::arrow_up: `:package::arrow_up:` when upgrading dependencies. - * :package::arrow_down: `:package::arrow_down:` when downgrading dependencies. - * :clapper: `:clapper:` for the initial commit and project snapshots. - * :soon: `:soon:` for TODO messages. - * :checkered_flag: `:checkered_flag:` when fixing something on Windows. - * :penguin: `:penguin:` when fixing something on Linux. - * :apple: `:apple:` when fixing something on Mac OS. +- Use the past tense ("Added feature" not "Add feature"). +- Limit the first line to 72 characters or less. +- Reference issues and pull requests liberally. From 05bf67bb7b67b290f8d5eb0910285df9bcafe932 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sat, 3 Feb 2024 23:23:57 +0100 Subject: [PATCH 138/164] Markdown linting --- April_Fools_CSS/README.md | 2 +- Dakar_Extender/README.md | 4 +++- Darts_Data_Enhancer/README.md | 2 +- .../README.md | 14 ++++++------- GitHub_Commit_Compare/README.md | 2 +- Github_Commit_Diff/README.md | 2 +- Github_Commit_Whitespace/README.md | 2 +- Github_Gist_Share/README.md | 2 +- Github_Image_Viewer/README.md | 12 +++++------ Github_JSON_Dependencies_Linker/README.md | 20 +++++++++---------- Github_News_Feed_Filter/README.md | 2 +- Github_Pages_Linker/README.md | 2 +- Github_Pull_Request_From/README.md | 2 +- Github_Reply_Comments/README.md | 2 +- Github_User_Info/README.md | 2 +- Marktplaats_Exchanger/README.md | 2 +- Multiple_Windows_Live_IDs/README.md | 2 +- Outlook_Sign_Out_To_Login/README.md | 2 +- PDF_Tools/README.md | 6 +++--- Twitter_profile_replies_hider/README.md | 2 +- Twitter_profile_retweets_hider/README.md | 2 +- Userscripts.org_Diff_Extender/README.md | 2 +- Userscripts.org_Extended_Style/README.md | 2 +- .../README.md | 2 +- Userscripts.org_Source_Numbering/README.md | 2 +- Userscripts.org_Timed_Updater/README.md | 2 +- Userscripts.org_Topics_Column/README.md | 2 +- Userscripts.org_Versions_Column/README.md | 2 +- Userscripts.org_Versions_Tab/README.md | 2 +- _resources/TEMPLATE.md | 2 +- 30 files changed, 54 insertions(+), 52 deletions(-) diff --git a/April_Fools_CSS/README.md b/April_Fools_CSS/README.md index 8406dbe..c8f52b2 100644 --- a/April_Fools_CSS/README.md +++ b/April_Fools_CSS/README.md @@ -11,7 +11,7 @@ Some CSS April fools ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Dakar_Extender/README.md b/Dakar_Extender/README.md index 7c4b69f..a71a5c6 100644 --- a/Dakar_Extender/README.md +++ b/Dakar_Extender/README.md @@ -1 +1,3 @@ -### This userscript has been deprecated in favour of the more useful [TrackingDakar](http://www.trackingdakar.nl/) site. +# TrackingDakar + +> This userscript has been deprecated in favour of the more useful [TrackingDakar](http://www.trackingdakar.nl/) site. diff --git a/Darts_Data_Enhancer/README.md b/Darts_Data_Enhancer/README.md index 583f36f..5a40be5 100644 --- a/Darts_Data_Enhancer/README.md +++ b/Darts_Data_Enhancer/README.md @@ -13,7 +13,7 @@ Add features to enhance darts data tracking site [live.dartsdata.com](http://liv ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Greasemonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md index bf44464..8639931 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md @@ -11,12 +11,12 @@ Add features to enhance comments on GeenStijl & Powned & Dumpert & more. Currently supported sites: -- http://geenstijl.nl -- http://geenstijl.tv -- http://powned.tv -- http://dumpert.nl -- http://daskapital.nl -- http://glamora.ma +- +- +- +- +- +- ## Screenshot @@ -24,7 +24,7 @@ Currently supported sites: ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md index 92ad634..5bbd5ca 100644 --- a/GitHub_Commit_Compare/README.md +++ b/GitHub_Commit_Compare/README.md @@ -15,7 +15,7 @@ Add controls to compare commits. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index b2b6e02..fc02e11 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -17,7 +17,7 @@ This works on commits, pull requests and compare pages. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index c15676d..9652303 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -23,7 +23,7 @@ This works on commits, pull requests and compare pages. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index 7d1d65c..9019270 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -24,7 +24,7 @@ Share your [GitHub Gist](https://gist.github.com) to: ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index 0118dfe..267d3e5 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -26,7 +26,7 @@ Supported file extensions are: ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History @@ -39,13 +39,13 @@ Supported file extensions are: - **0.4.1** - Fixed issues after GitHub site update. - **0.4.0** - - Added Bitmap `.bmp` support (closes https://github.com/jerone/UserScripts/issues/82). - - Detect upper-case extensions (fixes https://github.com/jerone/UserScripts/issues/82). - - Images should now have a name, temping to exclude folder named as image extensions (fixes https://github.com/jerone/UserScripts/issues/82). + - Added Bitmap `.bmp` support (closes [#82](https://github.com/jerone/UserScripts/issues/82)). + - Detect upper-case extensions (fixes [#82](https://github.com/jerone/UserScripts/issues/82)). + - Images should now have a name, temping to exclude folder named as image extensions (fixes [#82](https://github.com/jerone/UserScripts/issues/82)). - **0.3.0** - Removed tooltips. - **0.2.0** - - Fixed hiding preview on some conditions (fixes https://github.com/jerone/UserScripts/issues/31). + - Fixed hiding preview on some conditions (fixes [#31](https://github.com/jerone/UserScripts/issues/31)). - **0.1.1** - Small z-index fix. - **0.1.0** @@ -55,7 +55,7 @@ Supported file extensions are: Use cases: -- https://github.com/jerone/UserScripts/tree/master/_resources +- ## External links diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index 835cb74..a09a1c0 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -32,7 +32,7 @@ In the JSON file it will search for the following dependency keys: ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History @@ -51,15 +51,15 @@ In the JSON file it will search for the following dependency keys: ## Test cases -- https://github.com/jerone/PackageSize/blob/master/package.json (multiple package.json dependencies); -- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/disabled/bundlerecurs/package.json -- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-optional-deps/package.json (optionalDependencies & different semver); -- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-bundled-git/package.json (git semver & bundledDependencies); -- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json (npm-shrinkwrap.json); -- https://github.com/npm/npm/tree/07f020a09e94ae393c67526985444e128ef6f83c/test/packages/npm-test-url-dep/package.json (url semver); -- https://github.com/aspnet/MusicStore/blob/8ce50e3fb34cbfc73537b9cf995fce3608c007fa/samples/MusicStore/project.json (ASP.NET project.json with COMMENTS); -- https://github.com/atom/atom/blob/master/package.json (Atom package.json packageDependencies atomShellVersion); -- https://github.com/suda/toolbar-main/blob/master/package.json (Atom package.json packageDependencies engines.atom); +- (multiple package.json dependencies); +- +- (optionalDependencies & different semver); +- (git semver & bundledDependencies); +- (npm-shrinkwrap.json); +- (url semver); +- (ASP.NET project.json with COMMENTS); +- (Atom package.json packageDependencies atomShellVersion); +- (Atom package.json packageDependencies engines.atom); ## Dependencies diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index a25ed45..e820c84 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -65,7 +65,7 @@ Currently integrated filters: ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index 988f9ab..63fd192 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -15,7 +15,7 @@ Add a link to GitHub Pages (gh-pages) when available. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index b44acd5..542e3ef 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -15,7 +15,7 @@ Make pull request branches linkable. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla [Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index b0fb581..110a1de 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -16,7 +16,7 @@ reply button on an comment. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index a4d26b3..07ab493 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -15,7 +15,7 @@ Show user/organization information on avatar hover. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Marktplaats_Exchanger/README.md b/Marktplaats_Exchanger/README.md index c613136..33b1f9e 100644 --- a/Marktplaats_Exchanger/README.md +++ b/Marktplaats_Exchanger/README.md @@ -15,7 +15,7 @@ Adds an extra checkbox on the "Mijn Favorieten" page to select all sold ads for ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Greasemonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Multiple_Windows_Live_IDs/README.md b/Multiple_Windows_Live_IDs/README.md index 415819d..e344053 100644 --- a/Multiple_Windows_Live_IDs/README.md +++ b/Multiple_Windows_Live_IDs/README.md @@ -21,7 +21,7 @@ Easy login with multiple Microsoft accounts. ## Compatible -- ![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- ![Greasemonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) [Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on ![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) [Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Outlook_Sign_Out_To_Login/README.md b/Outlook_Sign_Out_To_Login/README.md index 330c3c3..b8adce1 100644 --- a/Outlook_Sign_Out_To_Login/README.md +++ b/Outlook_Sign_Out_To_Login/README.md @@ -11,7 +11,7 @@ Redirect back to login page when signing out from Outlook. ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Greasemonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/PDF_Tools/README.md b/PDF_Tools/README.md index d2d6fe4..349adbb 100644 --- a/PDF_Tools/README.md +++ b/PDF_Tools/README.md @@ -16,7 +16,7 @@ An userscript that enhances the pdf.js window in Firefox. ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Scriptish](https://raw.github.com/jerone/UserScripts/master/_resources/Scriptish.png) Scriptish](https://addons.mozilla.org/firefox/addon/scriptish/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History @@ -27,11 +27,11 @@ An userscript that enhances the pdf.js window in Firefox. Documentation: -- https://github.com/mozilla/pdf.js +- Test case: -- http://mozilla.github.io/pdf.js/web/viewer.html?file=compressed.tracemonkey-pldi-09.pdf +- ## External links diff --git a/Twitter_profile_replies_hider/README.md b/Twitter_profile_replies_hider/README.md index ec100be..640bd51 100644 --- a/Twitter_profile_replies_hider/README.md +++ b/Twitter_profile_replies_hider/README.md @@ -15,7 +15,7 @@ Hide replies on Twitter profiles ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Greasemonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Twitter_profile_retweets_hider/README.md b/Twitter_profile_retweets_hider/README.md index 691f05c..6fbd7ba 100644 --- a/Twitter_profile_retweets_hider/README.md +++ b/Twitter_profile_retweets_hider/README.md @@ -15,7 +15,7 @@ Hide retweets on Twitter profiles ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Greasemonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Greasemonkey.png) Greasemonkey](https://addons.mozilla.org/firefox/addon/greasemonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History diff --git a/Userscripts.org_Diff_Extender/README.md b/Userscripts.org_Diff_Extender/README.md index 884056d..c00ee25 100644 --- a/Userscripts.org_Diff_Extender/README.md +++ b/Userscripts.org_Diff_Extender/README.md @@ -1 +1 @@ -[Userscripts.org Diff Extender](http://userscripts.org/scripts/show/38909) +# [Userscripts.org Diff Extender](http://userscripts.org/scripts/show/38909) diff --git a/Userscripts.org_Extended_Style/README.md b/Userscripts.org_Extended_Style/README.md index 6fab04c..0ee40b8 100644 --- a/Userscripts.org_Extended_Style/README.md +++ b/Userscripts.org_Extended_Style/README.md @@ -1 +1 @@ -[Userscripts.org Extended Style](http://userscripts.org/scripts/show/37212) +# [Userscripts.org Extended Style](http://userscripts.org/scripts/show/37212) diff --git a/Userscripts.org_Scripts_Source_Counter/README.md b/Userscripts.org_Scripts_Source_Counter/README.md index 0f02175..3fa0802 100644 --- a/Userscripts.org_Scripts_Source_Counter/README.md +++ b/Userscripts.org_Scripts_Source_Counter/README.md @@ -1 +1 @@ -[Userscripts.org Scripts Source Counter](http://userscripts.org/scripts/show/37611) +# [Userscripts.org Scripts Source Counter](http://userscripts.org/scripts/show/37611) diff --git a/Userscripts.org_Source_Numbering/README.md b/Userscripts.org_Source_Numbering/README.md index b9b9cf0..c214d2d 100644 --- a/Userscripts.org_Source_Numbering/README.md +++ b/Userscripts.org_Source_Numbering/README.md @@ -1 +1 @@ -[Userscripts.org Source Numbering](http://userscripts.org/scripts/show/38912) +# [Userscripts.org Source Numbering](http://userscripts.org/scripts/show/38912) diff --git a/Userscripts.org_Timed_Updater/README.md b/Userscripts.org_Timed_Updater/README.md index d41fe56..a7c506f 100644 --- a/Userscripts.org_Timed_Updater/README.md +++ b/Userscripts.org_Timed_Updater/README.md @@ -1 +1 @@ -[Userscripts.org Timed Updater](http://userscripts.org/scripts/show/37853) +# [Userscripts.org Timed Updater](http://userscripts.org/scripts/show/37853) diff --git a/Userscripts.org_Topics_Column/README.md b/Userscripts.org_Topics_Column/README.md index bff2ff0..84a56f2 100644 --- a/Userscripts.org_Topics_Column/README.md +++ b/Userscripts.org_Topics_Column/README.md @@ -1 +1 @@ -[Userscripts.org Topics Column](http://userscripts.org/scripts/show/38597) +# [Userscripts.org Topics Column](http://userscripts.org/scripts/show/38597) diff --git a/Userscripts.org_Versions_Column/README.md b/Userscripts.org_Versions_Column/README.md index 305ce79..2d2ed05 100644 --- a/Userscripts.org_Versions_Column/README.md +++ b/Userscripts.org_Versions_Column/README.md @@ -1 +1 @@ -[Userscripts.org Versions Column](http://userscripts.org/scripts/show/38595) +# [Userscripts.org Versions Column](http://userscripts.org/scripts/show/38595) diff --git a/Userscripts.org_Versions_Tab/README.md b/Userscripts.org_Versions_Tab/README.md index 629895e..9eae1a4 100644 --- a/Userscripts.org_Versions_Tab/README.md +++ b/Userscripts.org_Versions_Tab/README.md @@ -1 +1 @@ -[Userscripts.org Versions Tab](http://userscripts.org/scripts/show/38594) +# [Userscripts.org Versions Tab](http://userscripts.org/scripts/show/38594) diff --git a/_resources/TEMPLATE.md b/_resources/TEMPLATE.md index c5fca8e..15e09bb 100644 --- a/_resources/TEMPLATE.md +++ b/_resources/TEMPLATE.md @@ -15,7 +15,7 @@ Lorum ipsum ## Compatible -- [![](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. +- [![Tampermonkey](https://raw.github.com/jerone/UserScripts/master/_resources/Tampermonkey.png) Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) on [![Mozilla Firefox](https://raw.github.com/jerone/UserScripts/master/_resources/Firefox.png) Mozilla Firefox](http://www.mozilla.org/en-US/firefox/fx/#desktop) desktop. ## Version History From 7e57eb0297b1d09fadb8910811120974a273fbdf Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 00:15:45 +0100 Subject: [PATCH 139/164] Security linting --- April_Fools_CSS/April_Fools_CSS.user.js | 1 + .../GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js | 1 + Github_Comment_Enhancer/Github_Comment_Enhancer.user.js | 3 +++ Github_Gist_Share/157850.user.js | 1 + Github_Image_Viewer/Github_Image_Viewer.user.js | 2 ++ .../Github_JSON_Dependencies_Linker.user.js | 1 + Github_News_Feed_Filter/Github_News_Feed_Filter.user.js | 1 + Github_Pages_Linker/Github_Pages_Linker.user.js | 2 ++ Github_Pull_Request_From/Github_Pull_Request_From.user.js | 2 ++ Github_Reply_Comments/Github_Reply_Comments.user.js | 1 + Github_User_Info/Github_User_Info.user.js | 1 + Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js | 1 + PDF_Tools/PDF_Tools.user.js | 1 + Userscripts.org_Scripts_Source_Counter/37611.user.js | 1 + Userscripts.org_Source_Numbering/38912.user.js | 2 ++ Userscripts.org_Timed_Updater/37853.user.js | 1 + Userscripts.org_Topics_Column/38597.user.js | 3 +++ Userscripts.org_Versions_Column/38595.user.js | 3 +++ Userscripts.org_Versions_Tab/38594.user.js | 2 ++ 19 files changed, 30 insertions(+) diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 88d0c2c..392687e 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -13,6 +13,7 @@ // ==/UserScript== // cSpell:ignore transform, aprilfool +/* eslint security/detect-object-injection: "off" */ if (window.top === window) { var duration = 2000, // [Integer, positive, milliseconds] This controls the duration of an april fool item; diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js index 7aa8110..82d7dad 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js @@ -23,6 +23,7 @@ // ==/UserScript== // cSpell:ignore Dumpert, dumpert, geenstijl, powned, daskapital, glamora, perma +/* eslint security/detect-object-injection: "off" */ (function () { function proxy(fn) { diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index 648fc3d..c4a2e3f 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -22,6 +22,9 @@ // ==/UserScript== // cSpell:ignore gollum, tooltipped, jssuggester, tabnav, facebox, msie +/* eslint security/detect-object-injection: "off" */ +/* eslint security/detect-unsafe-regex: "off" */ +/* eslint security/detect-non-literal-regexp: "off" */ /* global unsafeWindow */ (function (unsafeWindow) { diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 9aef6e3..1d399a9 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -19,6 +19,7 @@ // ==/UserScript== // cSpell:ignore Dabblet, Bl.ocks, itemprop, tweetbutton +/* eslint security/detect-object-injection: "off" */ (function () { String.format = function (string) { diff --git a/Github_Image_Viewer/Github_Image_Viewer.user.js b/Github_Image_Viewer/Github_Image_Viewer.user.js index b508dfc..b81724c 100644 --- a/Github_Image_Viewer/Github_Image_Viewer.user.js +++ b/Github_Image_Viewer/Github_Image_Viewer.user.js @@ -20,6 +20,8 @@ // @include https://github.com/* // ==/UserScript== +/* eslint security/detect-object-injection: "off" */ + (function () { String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 3aa6d8c..68228ff 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -24,6 +24,7 @@ // ==/UserScript== // cSpell:ignore linkify, Sindre Sorhus +/* eslint security/detect-object-injection: "off" */ /* global GM_xmlhttpRequest */ (function () { diff --git a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js index ea4a0c0..1cd1033 100644 --- a/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js +++ b/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js @@ -22,6 +22,7 @@ // ==/UserScript== // cSpell:ignore transform, osvg, opath, gollum, hovercards, profilecols +/* eslint security/detect-object-injection: "off" */ (function () { var ICONS = {}; diff --git a/Github_Pages_Linker/Github_Pages_Linker.user.js b/Github_Pages_Linker/Github_Pages_Linker.user.js index 689916d..e4e0428 100644 --- a/Github_Pages_Linker/Github_Pages_Linker.user.js +++ b/Github_Pages_Linker/Github_Pages_Linker.user.js @@ -20,6 +20,8 @@ // @include https://github.com/* // ==/UserScript== +/* eslint security/detect-object-injection: "off" */ + (function () { String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); diff --git a/Github_Pull_Request_From/Github_Pull_Request_From.user.js b/Github_Pull_Request_From/Github_Pull_Request_From.user.js index e9c6a78..22f5c3f 100644 --- a/Github_Pull_Request_From/Github_Pull_Request_From.user.js +++ b/Github_Pull_Request_From/Github_Pull_Request_From.user.js @@ -20,6 +20,8 @@ // @exclude https://github.com/*/*.patch // ==/UserScript== +/* eslint security/detect-object-injection: "off" */ + (function () { String.format = function (string) { var args = Array.prototype.slice.call(arguments, 1, arguments.length); diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 890a2d1..65e8f16 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -23,6 +23,7 @@ // ==/UserScript== // cSpell:ignore textareas, previewable, tooltipped +/* eslint security/detect-object-injection: "off" */ (function () { String.format = function (string) { diff --git a/Github_User_Info/Github_User_Info.user.js b/Github_User_Info/Github_User_Info.user.js index 8025ff4..3d040f3 100644 --- a/Github_User_Info/Github_User_Info.user.js +++ b/Github_User_Info/Github_User_Info.user.js @@ -25,6 +25,7 @@ // ==/UserScript== // cSpell:ignore leaderboard, vcard, transform +/* eslint security/detect-object-injection: "off" */ (function () { function proxy(fn) { diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index ef303f2..8f60f76 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -21,6 +21,7 @@ // ==/UserScript== // cSpell:ignore MWLID, maincontent, phholder, transform +/* eslint security/detect-object-injection: "off" */ /* global GM_getValue,GM_setValue */ (function () { diff --git a/PDF_Tools/PDF_Tools.user.js b/PDF_Tools/PDF_Tools.user.js index 2cd48cb..1b85b34 100644 --- a/PDF_Tools/PDF_Tools.user.js +++ b/PDF_Tools/PDF_Tools.user.js @@ -16,6 +16,7 @@ // ==/UserScript== // cSpell:ignore PDF +/* eslint security/detect-object-injection: "off" */ (function () { //console.log(PDFJS.version); // "1.0.277" diff --git a/Userscripts.org_Scripts_Source_Counter/37611.user.js b/Userscripts.org_Scripts_Source_Counter/37611.user.js index 8380d72..de51bfb 100644 --- a/Userscripts.org_Scripts_Source_Counter/37611.user.js +++ b/Userscripts.org_Scripts_Source_Counter/37611.user.js @@ -31,6 +31,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* cSpell:enable */ // cSpell:ignore STATIS +/* eslint security/detect-unsafe-regex: "off" */ (function () { Number.prototype.toPoints = function () { diff --git a/Userscripts.org_Source_Numbering/38912.user.js b/Userscripts.org_Source_Numbering/38912.user.js index 2f5583a..927008f 100644 --- a/Userscripts.org_Source_Numbering/38912.user.js +++ b/Userscripts.org_Source_Numbering/38912.user.js @@ -28,6 +28,8 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* cSpell:enable */ // cSpell:ignore andale, lucida, cellspacing +/* eslint security/detect-object-injection: "off" */ +/* eslint security/detect-unsafe-regex: "off" */ //*** USER SETTINGS ***// var maxLines = 10000; // [Integer] maximum number of lines (prevent browser from hanging and possibly crashing); diff --git a/Userscripts.org_Timed_Updater/37853.user.js b/Userscripts.org_Timed_Updater/37853.user.js index 7f0362e..16578be 100644 --- a/Userscripts.org_Timed_Updater/37853.user.js +++ b/Userscripts.org_Timed_Updater/37853.user.js @@ -61,6 +61,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /*/ ///////////////////////////////////////////////////////////////////////// // cSpell:ignore plusmn +/* eslint security/detect-object-injection: "off" */ //*** USERSCRIPT ***// (function (win, doc, und) { diff --git a/Userscripts.org_Topics_Column/38597.user.js b/Userscripts.org_Topics_Column/38597.user.js index d82a3a0..23f3a6a 100644 --- a/Userscripts.org_Topics_Column/38597.user.js +++ b/Userscripts.org_Topics_Column/38597.user.js @@ -61,6 +61,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // - /*/ ///////////////////////////////////////////////////////////////////////// +/* eslint security/detect-object-injection: "off" */ +/* eslint security/detect-eval-with-expression: "off" */ + //*** USER SETTINGS ***// var updateTime = 3 * 60 * 60 * 1000; // [Number] update time (we don't want to flood userscripts.org); diff --git a/Userscripts.org_Versions_Column/38595.user.js b/Userscripts.org_Versions_Column/38595.user.js index aa0339f..04d852e 100644 --- a/Userscripts.org_Versions_Column/38595.user.js +++ b/Userscripts.org_Versions_Column/38595.user.js @@ -62,6 +62,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // - /*/ ///////////////////////////////////////////////////////////////////////// +/* eslint security/detect-object-injection: "off" */ +/* eslint security/detect-eval-with-expression: "off" */ + //*** USER SETTINGS ***// var updateTime = 3 * 60 * 60 * 1000; // [Integer] update time (we don't want to flood userscripts.org); diff --git a/Userscripts.org_Versions_Tab/38594.user.js b/Userscripts.org_Versions_Tab/38594.user.js index 7085734..9a9b217 100644 --- a/Userscripts.org_Versions_Tab/38594.user.js +++ b/Userscripts.org_Versions_Tab/38594.user.js @@ -33,6 +33,8 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* cSpell:enable */ // cSpell:ignore UVT +/* eslint security/detect-object-injection: "off" */ +/* eslint security/detect-eval-with-expression: "off" */ (function () { // [Number] minimum update interval (we don't want to flood userscripts.org); From a2d67fbb212eb3e24698063e4952cd80fbe750ce Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 00:22:22 +0100 Subject: [PATCH 140/164] Linting --- .eslintignore | 7 + .eslintrc.js | 117 ++- .lockfile-lintrc.json | 12 + .prettierignore | 8 + package-lock.json | 2009 ++++++++++++++++++++++++++++++++++++++++- package.json | 23 +- 6 files changed, 2149 insertions(+), 27 deletions(-) create mode 100644 .lockfile-lintrc.json create mode 100644 .prettierignore diff --git a/.eslintignore b/.eslintignore index c2658d7..5d654b9 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,8 @@ node_modules/ +package-lock.json +*.min.js +*.jpeg +*.jpg +*.png + +Horizon_TV_Fixer/**/* diff --git a/.eslintrc.js b/.eslintrc.js index 5a25fb4..ea30097 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,23 +1,34 @@ module.exports = { + root: true, env: { browser: true, greasemonkey: true, es2021: true, }, + parserOptions: { + ecmaVersion: "latest", + }, + extends: [ + "plugin:@cspell/recommended", + "plugin:security/recommended-legacy", + + // Display Prettier errors as ESLint errors. + // Enables eslint-plugin-prettier and eslint-config-prettier. + "plugin:prettier/recommended", + + //! Prettier should always be the last configuration in the extends array. + ], + rules: {}, overrides: [ - { - env: { - node: true, - }, - files: [".eslintrc.{js,cjs}"], - parserOptions: { - sourceType: "script", - }, - }, + /* + * Userscript files. + */ { files: ["*.user.js"], extends: ["plugin:userscripts/recommended"], - rules: {}, + rules: { + "userscripts/better-use-match": "off", // Disable this warning for now. + }, settings: { userscriptVersions: { tampermonkey: ">=4", @@ -26,9 +37,87 @@ module.exports = { }, }, }, + + /* + * JSON files. + */ + { + files: ["*.json"], + extends: [ + "plugin:json/recommended-with-comments", + + // Display Prettier errors as ESLint errors. + // Enables eslint-plugin-prettier and eslint-config-prettier. + "plugin:prettier/recommended", + + //! Prettier should always be the last configuration in the extends array. + ], + }, + + /* + * `package.json` file. + * This needs it's own configuration, because it doesn't work together with `plugin:json`. + * See https://github.com/kellyselden/eslint-plugin-json-files/issues/40 + * Must be after `*.json`. + */ + { + files: ["package.json"], + plugins: ["json-files"], + extends: [ + // Display Prettier errors as ESLint errors. + // Enables eslint-plugin-prettier and eslint-config-prettier. + "plugin:prettier/recommended", + + //! Prettier should always be the last configuration in the extends array. + ], + rules: { + "json-files/ensure-repository-directory": "error", + "json-files/no-branch-in-dependencies": "error", + "json-files/require-engines": "error", + "json-files/require-license": "error", + "json-files/require-unique-dependency-names": "error", + "json-files/sort-package-json": "error", + }, + }, + + /* + * Markdown files. + */ + { + files: ["*.md"], + parser: "eslint-plugin-markdownlint/parser", + extends: [ + "plugin:markdownlint/recommended", + + // Display Prettier errors as ESLint errors. + // Enables eslint-plugin-prettier and eslint-config-prettier. + "plugin:prettier/recommended", + + //! Prettier should always be the last configuration in the extends array. + ], + rules: { + "markdownlint/md007": [ + "error", + { + indent: 4, + }, + ], // For compatibility with Prettier. + "markdownlint/md030": [ + "error", + { + ol_multi: 3, + ol_single: 3, + ul_multi: 3, + ul_single: 3, + }, + ], // For compatibility with Prettier. + "markdownlint/md013": "off", // Disable line length. + "markdownlint/md033": [ + "error", + { allowed_elements: ["br", "sup", "kbd"] }, + ], + "prettier/prettier": ["error", { parser: "markdown" }], + }, + }, ], - parserOptions: { - ecmaVersion: "latest", - }, - rules: {}, }; diff --git a/.lockfile-lintrc.json b/.lockfile-lintrc.json new file mode 100644 index 0000000..eb7bbe4 --- /dev/null +++ b/.lockfile-lintrc.json @@ -0,0 +1,12 @@ +{ + "allowedHosts": ["npm"], + "allowedPackageNameAliases": [ + "string-width-cjs:string-width", + "strip-ansi-cjs:strip-ansi", + "wrap-ansi-cjs:wrap-ansi" + ], + "path": "package-lock.json", + "type": "npm", + "validateHttps": true, + "validatePackageNames": true +} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..5d654b9 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,8 @@ +node_modules/ +package-lock.json +*.min.js +*.jpeg +*.jpg +*.png + +Horizon_TV_Fixer/**/* diff --git a/package-lock.json b/package-lock.json index 1f1bef1..1391930 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,18 @@ "name": "jerone-userscripts", "version": "0.0.0", "devDependencies": { + "@cspell/eslint-plugin": "^8.3.2", "eslint": "^8.56.0", - "eslint-plugin-userscripts": "^0.5.2" + "eslint-config-prettier": "^9.1.0", + "eslint-formatter-checklist": "^0.1.0", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-json-files": "^4.1.0", + "eslint-plugin-markdownlint": "^0.5.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-security": "^2.1.0", + "eslint-plugin-userscripts": "^0.5.2", + "lockfile-lint": "^4.12.1", + "prettier": "^3.2.4" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -21,6 +31,615 @@ "node": ">=0.10.0" } }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@cspell/cspell-bundled-dicts": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.3.2.tgz", + "integrity": "sha512-3ubOgz1/MDixJbq//0rQ2omB3cSdhVJDviERZeiREGz4HOq84aaK1Fqbw5SjNZHvhpoq+AYXm6kJbIAH8YhKgg==", + "dev": true, + "dependencies": { + "@cspell/dict-ada": "^4.0.2", + "@cspell/dict-aws": "^4.0.1", + "@cspell/dict-bash": "^4.1.3", + "@cspell/dict-companies": "^3.0.29", + "@cspell/dict-cpp": "^5.0.10", + "@cspell/dict-cryptocurrencies": "^5.0.0", + "@cspell/dict-csharp": "^4.0.2", + "@cspell/dict-css": "^4.0.12", + "@cspell/dict-dart": "^2.0.3", + "@cspell/dict-django": "^4.1.0", + "@cspell/dict-docker": "^1.1.7", + "@cspell/dict-dotnet": "^5.0.0", + "@cspell/dict-elixir": "^4.0.3", + "@cspell/dict-en_us": "^4.3.13", + "@cspell/dict-en-common-misspellings": "^2.0.0", + "@cspell/dict-en-gb": "1.1.33", + "@cspell/dict-filetypes": "^3.0.3", + "@cspell/dict-fonts": "^4.0.0", + "@cspell/dict-fsharp": "^1.0.1", + "@cspell/dict-fullstack": "^3.1.5", + "@cspell/dict-gaming-terms": "^1.0.4", + "@cspell/dict-git": "^3.0.0", + "@cspell/dict-golang": "^6.0.5", + "@cspell/dict-haskell": "^4.0.1", + "@cspell/dict-html": "^4.0.5", + "@cspell/dict-html-symbol-entities": "^4.0.0", + "@cspell/dict-java": "^5.0.6", + "@cspell/dict-k8s": "^1.0.2", + "@cspell/dict-latex": "^4.0.0", + "@cspell/dict-lorem-ipsum": "^4.0.0", + "@cspell/dict-lua": "^4.0.3", + "@cspell/dict-makefile": "^1.0.0", + "@cspell/dict-node": "^4.0.3", + "@cspell/dict-npm": "^5.0.14", + "@cspell/dict-php": "^4.0.5", + "@cspell/dict-powershell": "^5.0.3", + "@cspell/dict-public-licenses": "^2.0.5", + "@cspell/dict-python": "^4.1.11", + "@cspell/dict-r": "^2.0.1", + "@cspell/dict-ruby": "^5.0.2", + "@cspell/dict-rust": "^4.0.1", + "@cspell/dict-scala": "^5.0.0", + "@cspell/dict-software-terms": "^3.3.15", + "@cspell/dict-sql": "^2.1.3", + "@cspell/dict-svelte": "^1.0.2", + "@cspell/dict-swift": "^2.0.1", + "@cspell/dict-typescript": "^3.1.2", + "@cspell/dict-vue": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-pipe": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-8.3.2.tgz", + "integrity": "sha512-GZmDwvQGOjQi3IjD4k9xXeVTDANczksOsgVKb3v2QZk9mR4Qj8c6Uarjd4AgSiIhu/wBliJfzr5rWFJu4X2VfQ==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-resolver": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-8.3.2.tgz", + "integrity": "sha512-w2Tmb95bzdEz9L4W5qvsP5raZbyEzKL7N2ksU/+yh8NEJcTuExmAl/nMnb3aIk7m2b+kPHnMOcJuwfUMLmyv4A==", + "dev": true, + "dependencies": { + "global-directory": "^4.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-service-bus": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-8.3.2.tgz", + "integrity": "sha512-skTHNyVi74//W/O+f4IauDhm6twA9S2whkylonsIzPxEl4Pn3y2ZEMXNki/MWUwZfDIzKKSxlcREH61g7zCvhg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-types": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-8.3.2.tgz", + "integrity": "sha512-qS/gWd9ItOrN6ZX5pwC9lJjnBoyiAyhxYq0GUXuV892LQvwrBmECGk6KhsA1lPW7JJS7o57YTAS1jmXnmXMEpg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/dict-ada": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-4.0.2.tgz", + "integrity": "sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==", + "dev": true + }, + "node_modules/@cspell/dict-aws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-4.0.1.tgz", + "integrity": "sha512-NXO+kTPQGqaaJKa4kO92NAXoqS+i99dQzf3/L1BxxWVSBS3/k1f3uhmqIh7Crb/n22W793lOm0D9x952BFga3Q==", + "dev": true + }, + "node_modules/@cspell/dict-bash": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.1.3.tgz", + "integrity": "sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==", + "dev": true + }, + "node_modules/@cspell/dict-companies": { + "version": "3.0.31", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.31.tgz", + "integrity": "sha512-hKVpV/lcGKP4/DpEPS8P4osPvFH/YVLJaDn9cBIOH6/HSmL5LbFgJNKpMGaYRbhm2FEX56MKE3yn/MNeNYuesQ==", + "dev": true + }, + "node_modules/@cspell/dict-cpp": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.1.3.tgz", + "integrity": "sha512-sqnriXRAInZH9W75C+APBh6dtben9filPqVbIsiRMUXGg+s02ekz0z6LbS7kXeJ5mD2qXoMLBrv13qH2eIwutQ==", + "dev": true + }, + "node_modules/@cspell/dict-cryptocurrencies": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-5.0.0.tgz", + "integrity": "sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==", + "dev": true + }, + "node_modules/@cspell/dict-csharp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-4.0.2.tgz", + "integrity": "sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==", + "dev": true + }, + "node_modules/@cspell/dict-css": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.12.tgz", + "integrity": "sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==", + "dev": true + }, + "node_modules/@cspell/dict-dart": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-2.0.3.tgz", + "integrity": "sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==", + "dev": true + }, + "node_modules/@cspell/dict-data-science": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.11.tgz", + "integrity": "sha512-TaHAZRVe0Zlcc3C23StZqqbzC0NrodRwoSAc8dis+5qLeLLnOCtagYQeROQvDlcDg3X/VVEO9Whh4W/z4PAmYQ==", + "dev": true + }, + "node_modules/@cspell/dict-django": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-4.1.0.tgz", + "integrity": "sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==", + "dev": true + }, + "node_modules/@cspell/dict-docker": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-docker/-/dict-docker-1.1.7.tgz", + "integrity": "sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==", + "dev": true + }, + "node_modules/@cspell/dict-dotnet": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-5.0.0.tgz", + "integrity": "sha512-EOwGd533v47aP5QYV8GlSSKkmM9Eq8P3G/eBzSpH3Nl2+IneDOYOBLEUraHuiCtnOkNsz0xtZHArYhAB2bHWAw==", + "dev": true + }, + "node_modules/@cspell/dict-elixir": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz", + "integrity": "sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==", + "dev": true + }, + "node_modules/@cspell/dict-en_us": { + "version": "4.3.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.15.tgz", + "integrity": "sha512-h1kwvU2w/e4ngXAbesU3z3GnK9kAUJVGRUcQJiBHGg4cY7+hsAD506JezoBD+kus2+cuYVkoeSKdi0FyqS7xyg==", + "dev": true + }, + "node_modules/@cspell/dict-en-common-misspellings": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.0.0.tgz", + "integrity": "sha512-NOg8dlv37/YqLkCfBs5OXeJm/Wcfb/CzeOmOZJ2ZXRuxwsNuolb4TREUce0yAXRqMhawahY5TSDRJJBgKjBOdw==", + "dev": true + }, + "node_modules/@cspell/dict-en-gb": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz", + "integrity": "sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==", + "dev": true + }, + "node_modules/@cspell/dict-filetypes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.3.tgz", + "integrity": "sha512-J9UP+qwwBLfOQ8Qg9tAsKtSY/WWmjj21uj6zXTI9hRLD1eG1uUOLcfVovAmtmVqUWziPSKMr87F6SXI3xmJXgw==", + "dev": true + }, + "node_modules/@cspell/dict-fonts": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-4.0.0.tgz", + "integrity": "sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==", + "dev": true + }, + "node_modules/@cspell/dict-fsharp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-fsharp/-/dict-fsharp-1.0.1.tgz", + "integrity": "sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==", + "dev": true + }, + "node_modules/@cspell/dict-fullstack": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-3.1.5.tgz", + "integrity": "sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA==", + "dev": true + }, + "node_modules/@cspell/dict-gaming-terms": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.5.tgz", + "integrity": "sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==", + "dev": true + }, + "node_modules/@cspell/dict-git": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-git/-/dict-git-3.0.0.tgz", + "integrity": "sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==", + "dev": true + }, + "node_modules/@cspell/dict-golang": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.5.tgz", + "integrity": "sha512-w4mEqGz4/wV+BBljLxduFNkMrd3rstBNDXmoX5kD4UTzIb4Sy0QybWCtg2iVT+R0KWiRRA56QKOvBsgXiddksA==", + "dev": true + }, + "node_modules/@cspell/dict-haskell": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-4.0.1.tgz", + "integrity": "sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==", + "dev": true + }, + "node_modules/@cspell/dict-html": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.5.tgz", + "integrity": "sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==", + "dev": true + }, + "node_modules/@cspell/dict-html-symbol-entities": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.0.tgz", + "integrity": "sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==", + "dev": true + }, + "node_modules/@cspell/dict-java": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-5.0.6.tgz", + "integrity": "sha512-kdE4AHHHrixyZ5p6zyms1SLoYpaJarPxrz8Tveo6gddszBVVwIUZ+JkQE1bWNLK740GWzIXdkznpUfw1hP9nXw==", + "dev": true + }, + "node_modules/@cspell/dict-k8s": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-k8s/-/dict-k8s-1.0.2.tgz", + "integrity": "sha512-tLT7gZpNPnGa+IIFvK9SP1LrSpPpJ94a/DulzAPOb1Q2UBFwdpFd82UWhio0RNShduvKG/WiMZf/wGl98pn+VQ==", + "dev": true + }, + "node_modules/@cspell/dict-latex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-4.0.0.tgz", + "integrity": "sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==", + "dev": true + }, + "node_modules/@cspell/dict-lorem-ipsum": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-4.0.0.tgz", + "integrity": "sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==", + "dev": true + }, + "node_modules/@cspell/dict-lua": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-4.0.3.tgz", + "integrity": "sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==", + "dev": true + }, + "node_modules/@cspell/dict-makefile": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-makefile/-/dict-makefile-1.0.0.tgz", + "integrity": "sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==", + "dev": true + }, + "node_modules/@cspell/dict-node": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.3.tgz", + "integrity": "sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==", + "dev": true + }, + "node_modules/@cspell/dict-npm": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.0.15.tgz", + "integrity": "sha512-sX0X5YWNW54F4baW7b5JJB6705OCBIZtUqjOghlJNORS5No7QY1IX1zc5FxNNu4gsaCZITAmfMi4ityXEsEThA==", + "dev": true + }, + "node_modules/@cspell/dict-php": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.5.tgz", + "integrity": "sha512-9r8ao7Z/mH9Z8pSB7yLtyvcCJWw+/MnQpj7xGVYzIV7V2ZWDRjXZAMgteHMJ37m8oYz64q5d4tiipD300QSetQ==", + "dev": true + }, + "node_modules/@cspell/dict-powershell": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.3.tgz", + "integrity": "sha512-lEdzrcyau6mgzu1ie98GjOEegwVHvoaWtzQnm1ie4DyZgMr+N6D0Iyj1lzvtmt0snvsDFa5F2bsYzf3IMKcpcA==", + "dev": true + }, + "node_modules/@cspell/dict-public-licenses": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.5.tgz", + "integrity": "sha512-91HK4dSRri/HqzAypHgduRMarJAleOX5NugoI8SjDLPzWYkwZ1ftuCXSk+fy8DLc3wK7iOaFcZAvbjmnLhVs4A==", + "dev": true + }, + "node_modules/@cspell/dict-python": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.11.tgz", + "integrity": "sha512-XG+v3PumfzUW38huSbfT15Vqt3ihNb462ulfXifpQllPok5OWynhszCLCRQjQReV+dgz784ST4ggRxW452/kVg==", + "dev": true, + "dependencies": { + "@cspell/dict-data-science": "^1.0.11" + } + }, + "node_modules/@cspell/dict-r": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-2.0.1.tgz", + "integrity": "sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==", + "dev": true + }, + "node_modules/@cspell/dict-ruby": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-5.0.2.tgz", + "integrity": "sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==", + "dev": true + }, + "node_modules/@cspell/dict-rust": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-4.0.2.tgz", + "integrity": "sha512-RhziKDrklzOntxAbY3AvNR58wnFGIo3YS8+dNeLY36GFuWOvXDHFStYw5Pod4f/VXbO/+1tXtywCC4zWfB2p1w==", + "dev": true + }, + "node_modules/@cspell/dict-scala": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-5.0.0.tgz", + "integrity": "sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==", + "dev": true + }, + "node_modules/@cspell/dict-software-terms": { + "version": "3.3.17", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.3.17.tgz", + "integrity": "sha512-IspxnhSbriGNME+jE/vveC0lK/0K/a0JSLa6ANvE+W1SuBwYPJqAChWjTgvWWYWC1ZEmnXdwfaNzB6fJNkc85w==", + "dev": true + }, + "node_modules/@cspell/dict-sql": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-2.1.3.tgz", + "integrity": "sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==", + "dev": true + }, + "node_modules/@cspell/dict-svelte": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-svelte/-/dict-svelte-1.0.2.tgz", + "integrity": "sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==", + "dev": true + }, + "node_modules/@cspell/dict-swift": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-2.0.1.tgz", + "integrity": "sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==", + "dev": true + }, + "node_modules/@cspell/dict-typescript": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.1.2.tgz", + "integrity": "sha512-lcNOYWjLUvDZdLa0UMNd/LwfVdxhE9rKA+agZBGjL3lTA3uNvH7IUqSJM/IXhJoBpLLMVEOk8v1N9xi+vDuCdA==", + "dev": true + }, + "node_modules/@cspell/dict-vue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.0.tgz", + "integrity": "sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==", + "dev": true + }, + "node_modules/@cspell/dynamic-import": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-8.3.2.tgz", + "integrity": "sha512-4t0xM5luA3yQhar2xWvYK4wQSDB2r0u8XkpzzJqd57MnJXd7uIAxI0awGUrDXukadRaCo0tDIlMUBemH48SNVg==", + "dev": true, + "dependencies": { + "import-meta-resolve": "^4.0.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@cspell/eslint-plugin": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/eslint-plugin/-/eslint-plugin-8.3.2.tgz", + "integrity": "sha512-FUUIUMW43KGTddj+SFf3TEgDC5Uv+QvRJqeT8RXdxQL7PLPU7ZQyEGmQZf1DhJCxLzscrVt5YCmA6ZYUjwh/zQ==", + "dev": true, + "dependencies": { + "@cspell/cspell-types": "8.3.2", + "cspell-lib": "8.3.2", + "estree-walker": "^3.0.3", + "synckit": "^0.8.8" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/strong-weak-map": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-8.3.2.tgz", + "integrity": "sha512-Mte/2000ap278kRYOUhiGWI7MNr1+A7WSWJmlcdP4CAH5SO20sZI3/cyZLjJJEyapdhK5vaP1L5J9sUcVDHd3A==", + "dev": true, + "engines": { + "node": ">=18" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -104,6 +723,15 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@humanwhocodes/momoa": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", + "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", + "dev": true, + "engines": { + "node": ">=10.10.0" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", @@ -145,12 +773,90 @@ "node": ">= 8" } }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0.tgz", + "integrity": "sha512-jVZa3njBv6tcOUw34nlUdUM/40wwtm/gnVF8rtk0tA6vNcokqYI8CFU1BZjlpFwUSZaXxYkrtuPE/f2MMFlTxQ==", + "dev": true, + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", @@ -218,12 +924,46 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/better-ajv-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", + "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@humanwhocodes/momoa": "^2.0.2", + "chalk": "^4.1.2", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0 < 4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -234,6 +974,18 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -259,6 +1011,57 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/clear-module": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz", + "integrity": "sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==", + "dev": true, + "dependencies": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clear-module/node_modules/parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", + "dev": true, + "dependencies": { + "callsites": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clear-module/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -277,24 +1080,243 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/comment-json": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz", + "integrity": "sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==", + "dev": true, + "dependencies": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dev": true, + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-config-lib": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-8.3.2.tgz", + "integrity": "sha512-Wc98XhBNLwDxnxCzMtgRJALI9a69cu3C5Gf1rGjNTKSFo9JYiQmju0Ur3z25Pkx9Sa86f+2IjvNCf33rUDSoBQ==", + "dev": true, + "dependencies": { + "@cspell/cspell-types": "8.3.2", + "comment-json": "^4.2.3", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-dictionary": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-8.3.2.tgz", + "integrity": "sha512-xyK95hO2BMPFxIo8zBwGml8035qOxSBdga1BMhwW/p2wDrQP8S4Cdm/54//tCDmKn6uRkFQvyOfWGaX2l8WMEg==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "8.3.2", + "@cspell/cspell-types": "8.3.2", + "cspell-trie-lib": "8.3.2", + "fast-equals": "^5.0.1", + "gensequence": "^6.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-glob": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-8.3.2.tgz", + "integrity": "sha512-KtIFxE+3l5dGEofND4/CdZffXP8XN1+XGQKxJ96lIzWsc01mkotfhxTkla6mgvfH039t7BsY/SWv0460KyGslQ==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.5" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-grammar": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-8.3.2.tgz", + "integrity": "sha512-tYCkOmRzJe1a6/R+8QGSwG7TwTgznLPqsHtepKzLmnS4YX54VXjKRI9zMARxXDzUVfyCSVdW5MyiY/0WTNoy+A==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "8.3.2", + "@cspell/cspell-types": "8.3.2" + }, + "bin": { + "cspell-grammar": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-io": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-8.3.2.tgz", + "integrity": "sha512-WYpKsyBCQP0SY4gXnhW5fPuxcYchKYKG1PIXVV3ezFU4muSgW6GuLNbGuSfwv/8YNXRgFSN0e3hYH0rdBK2Aow==", + "dev": true, + "dependencies": { + "@cspell/cspell-service-bus": "8.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-8.3.2.tgz", + "integrity": "sha512-wTvdaev/TyGB/ln6CVD1QbVs2D7/+QiajQ67S7yj1suLHM6YcNQQb/5sPAM8VPtj0E7PgwgPXf3bq18OtPvnFg==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@cspell/cspell-bundled-dicts": "8.3.2", + "@cspell/cspell-pipe": "8.3.2", + "@cspell/cspell-resolver": "8.3.2", + "@cspell/cspell-types": "8.3.2", + "@cspell/dynamic-import": "8.3.2", + "@cspell/strong-weak-map": "8.3.2", + "clear-module": "^4.1.2", + "comment-json": "^4.2.3", + "configstore": "^6.0.0", + "cspell-config-lib": "8.3.2", + "cspell-dictionary": "8.3.2", + "cspell-glob": "8.3.2", + "cspell-grammar": "8.3.2", + "cspell-io": "8.3.2", + "cspell-trie-lib": "8.3.2", + "fast-equals": "^5.0.1", + "gensequence": "^6.0.0", + "import-fresh": "^3.3.0", + "resolve-from": "^5.0.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cspell-trie-lib": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-8.3.2.tgz", + "integrity": "sha512-8qh2FqzkLMwzlTlvO/5Z+89fhi30rrfekocpight/BmqKbE2XFJQD7wS2ml24e7q/rdHJLXVpJbY/V5mByucCA==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "8.3.2", + "@cspell/cspell-types": "8.3.2", + "gensequence": "^6.0.0" }, "engines": { - "node": ">= 8" + "node": ">=18" } }, "node_modules/debug": { @@ -320,6 +1342,36 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -332,6 +1384,57 @@ "node": ">=6.0.0" } }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -399,6 +1502,138 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-formatter-checklist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/eslint-formatter-checklist/-/eslint-formatter-checklist-0.1.0.tgz", + "integrity": "sha512-gmP/OZy5mPWHuPfssEs39AyUZ1s0dvCW6W+1PaFbb14nQzLFS0mepY2Y8rBmIPut/fkX8buf0uOLEa8TZgM+hQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/eslint-plugin-json": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz", + "integrity": "sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "vscode-json-languageservice": "^4.1.6" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/eslint-plugin-json-files": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-json-files/-/eslint-plugin-json-files-4.1.0.tgz", + "integrity": "sha512-oK9SxvFp5vyq+cXo76Ily9rN/iPM2w8T6MtPgJAlKP2jfZeDdeD0qgTIGiMeHZjS0eURXs5Vn+KgYVh0e/u7pA==", + "dev": true, + "dependencies": { + "ajv": "^8.2.0", + "better-ajv-errors": "^1.2.0", + "requireindex": "^1.2.0", + "semver": "^7.0.0", + "sort-package-json": "^1.22.1" + }, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-plugin-json-files/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-plugin-json-files/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/eslint-plugin-markdownlint": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-markdownlint/-/eslint-plugin-markdownlint-0.5.0.tgz", + "integrity": "sha512-1wkjRz9hNgdM6kLLaxnFxfWf5e/y8lFjptN9aGj3Jfa8o3dC0lYgEkHOHWDEkuMBKYlHGShJlvIsaUs0JIFg5g==", + "dev": true, + "dependencies": { + "markdownlint": "0.29.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": ">=7.5.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-security": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-2.1.0.tgz", + "integrity": "sha512-ywxclP954bf8d3gr6KOQ/AFc+PRvWuhOxtPOEtiHmVYiZr/mcgQtmSJq6+hTEXC5ylTjHnPPG+PEnzlDiWMXbQ==", + "dev": true, + "dependencies": { + "safe-regex": "^2.1.1" + } + }, "node_modules/eslint-plugin-userscripts": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/eslint-plugin-userscripts/-/eslint-plugin-userscripts-0.5.2.tgz", @@ -459,6 +1694,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -492,6 +1740,15 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -507,6 +1764,49 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-equals": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -540,6 +1840,18 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -582,6 +1894,33 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/gensequence": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-6.0.0.tgz", + "integrity": "sha512-8WwuywE9pokJRAcg2QFR/plk3cVPebSUqRPzpGQh3WQ0wIiHAw+HyOQj5IuHyUTQBHpBKFoB2JUMu9zT3vJ16Q==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/git-hooks-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", + "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "dev": true, + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -614,6 +1953,21 @@ "node": ">=10.13.0" } }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "dev": true, + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -629,6 +1983,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", + "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -644,6 +2023,15 @@ "node": ">=8" } }, + "node_modules/has-own-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", + "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -669,6 +2057,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -694,6 +2092,21 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -703,6 +2116,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -715,6 +2137,24 @@ "node": ">=0.10.0" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -724,12 +2164,33 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -748,6 +2209,12 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -760,6 +2227,21 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -769,6 +2251,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -782,6 +2273,21 @@ "node": ">= 0.8.0" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -797,6 +2303,45 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lockfile-lint": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/lockfile-lint/-/lockfile-lint-4.12.1.tgz", + "integrity": "sha512-FBP7OA7sa45kzPgRNLYIcGGgDS86rpZNW3ptALp1vlzv+oHZsqFZdmHXM4N4FwiGXHzUOpSVvDLT4v7IiQXFtA==", + "dev": true, + "dependencies": { + "cosmiconfig": "^8.2.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "lockfile-lint-api": "^5.8.0", + "yargs": "^17.7.2" + }, + "bin": { + "lockfile-lint": "bin/lockfile-lint.js" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/lockfile-lint-api": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/lockfile-lint-api/-/lockfile-lint-api-5.8.0.tgz", + "integrity": "sha512-RHa+ofSGMGQvPFG1oD2qZmSWF2MfxWXhle/unpzmDjpi8F8Ou5sreNUcAscgGRfcX+BszBuVKddD0X5YKQ0TeA==", + "dev": true, + "dependencies": { + "@yarnpkg/parsers": "^3.0.0-rc.32", + "debug": "^4.3.4", + "object-hash": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -815,6 +2360,72 @@ "node": ">=10" } }, + "node_modules/markdown-it": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdownlint": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.29.0.tgz", + "integrity": "sha512-ASAzqpODstu/Qsk0xW5BPgWnK/qjpBQ4e7IpsSvvFXcfYIjanLTdwFRJK1SIEEh0fGSMKXcJf/qhaZYHyME0wA==", + "dev": true, + "dependencies": { + "markdown-it": "13.0.1", + "markdownlint-micromark": "0.1.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/markdownlint-micromark": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.5.tgz", + "integrity": "sha512-HvofNU4QCvfUCWnocQP1IAWaqop5wpWrB0mKB6SSh0fcpV0PdmQNS6tdUuFew1utpYlUvYYzz84oDkrD76GB9A==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -839,6 +2450,15 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -907,6 +2527,24 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -934,6 +2572,27 @@ "node": ">=8" } }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -943,6 +2602,33 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -972,6 +2658,51 @@ } ] }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true, + "engines": { + "node": ">=0.10.5" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -1029,6 +2760,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -1065,6 +2805,64 @@ "node": ">=8" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "node_modules/sort-package-json": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz", + "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==", + "dev": true, + "dependencies": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -1101,12 +2899,46 @@ "node": ">=8" } }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -1131,6 +2963,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -1140,6 +3008,43 @@ "punycode": "^2.1.0" } }, + "node_modules/vscode-json-languageservice": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", + "integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.3", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.3" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -1155,18 +3060,104 @@ "node": ">= 8" } }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index b1be4c9..71c1502 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,28 @@ { - "private": true, "name": "jerone-userscripts", - "author": "Jeroen van Warmerdam ", "version": "0.0.0", + "private": true, + "license": "GPL-3.0-or-later", + "author": "Jeroen van Warmerdam ", "scripts": { - "lint": "eslint ." + "lint": "lockfile-lint && eslint -f checklist .", + "lint:fix": "prettier --write \"**/*\" & eslint -f checklist --fix ." }, "devDependencies": { + "@cspell/eslint-plugin": "^8.3.2", "eslint": "^8.56.0", - "eslint-plugin-userscripts": "^0.5.2" + "eslint-config-prettier": "^9.1.0", + "eslint-formatter-checklist": "^0.1.0", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-json-files": "^4.1.0", + "eslint-plugin-markdownlint": "^0.5.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-security": "^2.1.0", + "eslint-plugin-userscripts": "^0.5.2", + "lockfile-lint": "^4.12.1", + "prettier": "^3.2.4" + }, + "engines": { + "node": ">=16.0.0" } } From 61a2d4557dfe58d4b79965202873b793f1a2dc1e Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 00:52:32 +0100 Subject: [PATCH 141/164] Linting --- .eslintrc.js | 6 +++++- April_Fools_CSS/April_Fools_CSS.user.js | 9 ++++++--- Dakar_Extender/208433.user.js | 1 + .../Github_Comment_Enhancer.user.js | 1 - Github_Commit_Diff/Github_Commit_Diff.user.js | 14 +++++++------- .../Github_Commit_Whitespace.user.js | 18 +++++++++--------- Github_Gist_Share/157850.user.js | 1 + .../Github_JSON_Dependencies_Linker.user.js | 7 +++---- .../Github_Reply_Comments.user.js | 1 + .../Multiple_Windows_Live_IDs.user.js | 1 - .../Twitter_profile_replies_hider.user.js | 2 +- .../Twitter_profile_retweets_hider.user.js | 2 +- Userscripts.org_Diff_Extender/38909.user.js | 17 +++++++++-------- Userscripts.org_Source_Numbering/38912.user.js | 2 +- Userscripts.org_Timed_Updater/37853.user.js | 3 ++- Userscripts.org_Topics_Column/38597.user.js | 6 +++--- Userscripts.org_Versions_Column/38595.user.js | 6 +++--- Userscripts.org_Versions_Tab/38594.user.js | 6 +++--- 18 files changed, 56 insertions(+), 47 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index ea30097..575090d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,4 @@ +/* eslint-env node */ module.exports = { root: true, env: { @@ -9,6 +10,7 @@ module.exports = { ecmaVersion: "latest", }, extends: [ + "eslint:recommended", "plugin:@cspell/recommended", "plugin:security/recommended-legacy", @@ -18,7 +20,9 @@ module.exports = { //! Prettier should always be the last configuration in the extends array. ], - rules: {}, + rules: { + "no-unused-vars": ["error", { argsIgnorePattern: "^_" }], // Ignore variables whose names begin with an underscore. + }, overrides: [ /* * Userscript files. diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 392687e..93cf88c 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -91,12 +91,15 @@ if (window.top === window) { interval + duration + 10, ); - for (var aprilFool in aprilFools) { + for (var aprilFoolText in aprilFools) { GM_addStyle( ".aprilfool" + - aprilFool + + aprilFoolText + " " + - aprilFools[aprilFool].replace("{duration}", duration / 1000), + aprilFools[aprilFoolText].replace( + "{duration}", + duration / 1000, + ), ); } } diff --git a/Dakar_Extender/208433.user.js b/Dakar_Extender/208433.user.js index 73e435c..d9f1601 100644 --- a/Dakar_Extender/208433.user.js +++ b/Dakar_Extender/208433.user.js @@ -13,6 +13,7 @@ // ==/UserScript== // cSpell:ignore dakar +/* global $ */ (function () { var countryCode = "NLD"; diff --git a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js index c4a2e3f..3fc0f6b 100644 --- a/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js +++ b/Github_Comment_Enhancer/Github_Comment_Enhancer.user.js @@ -25,7 +25,6 @@ /* eslint security/detect-object-injection: "off" */ /* eslint security/detect-unsafe-regex: "off" */ /* eslint security/detect-non-literal-regexp: "off" */ -/* global unsafeWindow */ (function (unsafeWindow) { String.format = function (string) { diff --git a/Github_Commit_Diff/Github_Commit_Diff.user.js b/Github_Commit_Diff/Github_Commit_Diff.user.js index 17c2437..277677f 100644 --- a/Github_Commit_Diff/Github_Commit_Diff.user.js +++ b/Github_Commit_Diff/Github_Commit_Diff.user.js @@ -30,12 +30,12 @@ /\/compare\//.test(location.href)) && (e = document.getElementById("toc")) ) { - var r = e.querySelector(".GithubCommitDiffButton"); + let r = e.querySelector(".GithubCommitDiffButton"); if (r) { r.parentElement.removeChild(r); } - var b = e.querySelector(".toc-diff-stats"); + let b = e.querySelector(".toc-diff-stats"); const s = document.createElementNS( "http://www.w3.org/2000/svg", @@ -57,7 +57,7 @@ ); s.appendChild(p); - var a = document.createElement("a"); + let a = document.createElement("a"); a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); a.setAttribute("href", getPatchOrDiffHref("diff")); a.setAttribute("rel", "nofollow"); @@ -68,7 +68,7 @@ a.appendChild(s); a.appendChild(document.createTextNode(" Diff")); - var g = document.createElement("div"); + let g = document.createElement("div"); g.classList.add("GithubCommitDiffButton", "float-right"); g.style.margin = "0 10px 0 0"; // Give us some room g.appendChild(a); @@ -89,7 +89,7 @@ "#files_bucket .pr-toolbar .diffbar > .float-right", )) ) { - var r = e.querySelector(".GithubCommitDiffButton"); + let r = e.querySelector(".GithubCommitDiffButton"); if (r) { r.parentElement.removeChild(r); } @@ -114,7 +114,7 @@ ); s.appendChild(p); - var a = document.createElement("a"); + let a = document.createElement("a"); a.classList.add( "btn", "btn-sm", @@ -131,7 +131,7 @@ a.appendChild(s); a.appendChild(document.createTextNode(" Diff")); - var g = document.createElement("div"); + let g = document.createElement("div"); g.classList.add("GithubCommitDiffButton", "diffbar-item"); g.appendChild(a); diff --git a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js index c739535..30a3af9 100644 --- a/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js +++ b/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js @@ -28,16 +28,16 @@ /\/compare\//.test(location.href)) && (e = document.getElementById("toc")) ) { - var r = e.querySelector(".GithubCommitWhitespaceButton"); + let r = e.querySelector(".GithubCommitWhitespaceButton"); if (r) { r.parentElement.removeChild(r); } - var on = /w=/.test(location.search); // Any occurrence results in enabling + let on = /w=/.test(location.search); // Any occurrence results in enabling - var b = e.querySelector(".toc-diff-stats"); + let b = e.querySelector(".toc-diff-stats"); - var a = document.createElement("a"); + let a = document.createElement("a"); a.classList.add("btn", "btn-sm", "tooltipped", "tooltipped-n"); if (on) { a.classList.add("selected"); @@ -50,7 +50,7 @@ ); a.appendChild(document.createTextNode("\u2423")); - var g = document.createElement("div"); + let g = document.createElement("div"); g.classList.add("GithubCommitWhitespaceButton", "float-right"); g.style.margin = "0 10px 0 0"; // Give us some room g.appendChild(a); @@ -62,14 +62,14 @@ "#files_bucket .pr-toolbar .diffbar > .pr-review-tools", )) ) { - var r = e.querySelector(".GithubCommitWhitespaceButton"); + let r = e.querySelector(".GithubCommitWhitespaceButton"); if (r) { r.parentElement.removeChild(r); } - var on = /w=/.test(location.search); // Any occurrence result in enabling + let on = /w=/.test(location.search); // Any occurrence result in enabling - var a = document.createElement("a"); + let a = document.createElement("a"); a.classList.add( "btn", "btn-sm", @@ -85,7 +85,7 @@ ); a.appendChild(document.createTextNode("\u2423")); - var g = document.createElement("div"); + let g = document.createElement("div"); g.classList.add("GithubCommitWhitespaceButton", "diffbar-item"); g.appendChild(a); diff --git a/Github_Gist_Share/157850.user.js b/Github_Gist_Share/157850.user.js index 1d399a9..ed5d49f 100644 --- a/Github_Gist_Share/157850.user.js +++ b/Github_Gist_Share/157850.user.js @@ -195,6 +195,7 @@ const menu = new Menu(nav); // Twitter + // eslint-disable-next-line no-constant-condition if (true) { const stats = []; if (data.files > 1) { diff --git a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js index 68228ff..161eba7 100644 --- a/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js +++ b/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js @@ -25,7 +25,6 @@ // cSpell:ignore linkify, Sindre Sorhus /* eslint security/detect-object-injection: "off" */ -/* global GM_xmlhttpRequest */ (function () { var blobElm = document.querySelector(".highlight"), @@ -182,10 +181,10 @@ modules[dependencyKey].forEach(function (module) { if (isAtom && dependencyKey === "packageDependencies") { // Atom needs to be before NPM. - var url = "https://atom.io/packages/" + module; + let url = "https://atom.io/packages/" + module; linkify(module, url); } else if (isNPM) { - var url = "https://www.npmjs.org/package/" + module; + let url = "https://www.npmjs.org/package/" + module; linkify(module, url); } else if (isBower) { GM_xmlhttpRequest({ @@ -193,7 +192,7 @@ url: "http://bower.herokuapp.com/packages/" + module, onload: function (response) { var data = JSON.parse(response.responseText); - var re = /github\.com\/([\w\-\.]+)\/([\w\-\.]+)/i; + var re = /github\.com\/([\w\-.]+)\/([\w\-.]+)/i; var parsedUrl = re.exec(data.url.replace(/\.git$/, "")); if (parsedUrl) { var user = parsedUrl[1]; diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 65e8f16..646a523 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -24,6 +24,7 @@ // cSpell:ignore textareas, previewable, tooltipped /* eslint security/detect-object-injection: "off" */ +/* global TurndownService,turndownPluginGfm,turndownPluginGithubCodeSnippet */ (function () { String.format = function (string) { diff --git a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js index 8f60f76..398b0a9 100644 --- a/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js +++ b/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js @@ -22,7 +22,6 @@ // cSpell:ignore MWLID, maincontent, phholder, transform /* eslint security/detect-object-injection: "off" */ -/* global GM_getValue,GM_setValue */ (function () { var autoLogin = true; diff --git a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js index 0a46b2f..b34c593 100644 --- a/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js +++ b/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js @@ -114,7 +114,7 @@ // new tweets are loaded, handle accordingly; new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { + mutations.forEach(function () { toggle(!!~~localStorage.getItem(settingsKey, +true)); }); }).observe(timeline, { childList: true }); diff --git a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js index e77fcf3..67c6126 100644 --- a/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js +++ b/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js @@ -114,7 +114,7 @@ // new tweets are loaded, handle accordingly; new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { + mutations.forEach(function () { toggle(!!~~localStorage.getItem(settingsKey, +true)); }); }).observe(timeline, { childList: true }); diff --git a/Userscripts.org_Diff_Extender/38909.user.js b/Userscripts.org_Diff_Extender/38909.user.js index cf58b61..58990fa 100644 --- a/Userscripts.org_Diff_Extender/38909.user.js +++ b/Userscripts.org_Diff_Extender/38909.user.js @@ -66,9 +66,10 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /*/ ///////////////////////////////////////////////////////////////////////// // cSpell:ignore andale, lucida, cellspacing +/* eslint no-redeclare: "off" */ //*** USERSCRIPT ***// -(function (win, doc, und) { +(function (win, doc, _und) { var xPath = function (xpath, root) { var next, got = doc.evaluate(xpath, root || doc, null, null, null), @@ -173,10 +174,10 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. tr.appendChild(tdAdd); var iOld = meta.textContent.match( - /^@@\s\-(\d+),\d+\s\+(\d+),\d+\s@@/, + /^@@\s-(\d+),\d+\s\+(\d+),\d+\s@@/, )[1]; var iNew = meta.textContent.match( - /^@@\s\-(\d+),\d+\s\+(\d+),\d+\s@@/, + /^@@\s-(\d+),\d+\s\+(\d+),\d+\s@@/, )[2]; while ( meta.nextSibling && @@ -200,7 +201,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. tdDel.appendChild(doc.createTextNode(iOld)); iOld++; } - if (!item.match(/^\-/)) { + if (!item.match(/^-/)) { tdAdd.className = "diffDel"; tdAdd.appendChild(doc.createTextNode(iNew)); iNew++; @@ -226,7 +227,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. var temp = del.textContent; del.style.width = scrollWidth; del.style.marginLeft = "-15px"; - del.style.borderColor = /^\-/.test(temp) + del.style.borderColor = /^-/.test(temp) ? "#AA3333" : "#33AA33"; del.style.borderStyle = "solid"; @@ -240,13 +241,13 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. while (del.hasChildNodes()) del.removeChild(del.firstChild); del.appendChild( - doc.createTextNode(temp.replace(/^[\+\-]/, "")), + doc.createTextNode(temp.replace(/^[+-]/, "")), ); var span = doc.createElement("span"); span.className = - (/^\-/.test(temp) ? "diffAdd" : "diffDel") + + (/^-/.test(temp) ? "diffAdd" : "diffDel") + " diffSim"; - span.innerHTML = temp.match(/^[\+\-]/); + span.innerHTML = temp.match(/^[+-]/); del.insertBefore(span, del.firstChild); }, ); diff --git a/Userscripts.org_Source_Numbering/38912.user.js b/Userscripts.org_Source_Numbering/38912.user.js index 927008f..912e7f1 100644 --- a/Userscripts.org_Source_Numbering/38912.user.js +++ b/Userscripts.org_Source_Numbering/38912.user.js @@ -35,7 +35,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. var maxLines = 10000; // [Integer] maximum number of lines (prevent browser from hanging and possibly crashing); //*** USERSCRIPT ***// -(function (win, doc, und) { +(function (win, doc, _und) { try { var getStyle = function (node, attr) { if (doc.defaultView && doc.defaultView.getComputedStyle) { diff --git a/Userscripts.org_Timed_Updater/37853.user.js b/Userscripts.org_Timed_Updater/37853.user.js index 16578be..3a15888 100644 --- a/Userscripts.org_Timed_Updater/37853.user.js +++ b/Userscripts.org_Timed_Updater/37853.user.js @@ -61,10 +61,11 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /*/ ///////////////////////////////////////////////////////////////////////// // cSpell:ignore plusmn +/* eslint no-inner-declarations: "off" */ /* eslint security/detect-object-injection: "off" */ //*** USERSCRIPT ***// -(function (win, doc, und) { +(function (win, doc, _und) { var addEvent = function (node, type, fn, useCapture) { if (node.addEventListener) { node.addEventListener(type, fn, useCapture); diff --git a/Userscripts.org_Topics_Column/38597.user.js b/Userscripts.org_Topics_Column/38597.user.js index 23f3a6a..5e63e19 100644 --- a/Userscripts.org_Topics_Column/38597.user.js +++ b/Userscripts.org_Topics_Column/38597.user.js @@ -68,7 +68,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. var updateTime = 3 * 60 * 60 * 1000; // [Number] update time (we don't want to flood userscripts.org); //*** USERSCRIPT ***// -(function (win, doc, und) { +(function (win, doc, _und) { try { var UTC = { init: function () { @@ -88,7 +88,7 @@ var updateTime = 3 * 60 * 60 * 1000; // [Number] update time (we don't want to f if (trs.length && postsIndex) { Array.forEach(trs, function (tr) { var column = tr.cells[postsIndex]; - if (!/scripts\-/.test(tr.id)) { + if (!/scripts-/.test(tr.id)) { // Header; var th = doc.createElement("th"); th.className = "la"; @@ -130,7 +130,7 @@ var updateTime = 3 * 60 * 60 * 1000; // [Number] update time (we don't want to f return function countTopics(x) { var t = 0, n = x.responseText.match( - /\"\>(\d+)\s+topics?,\s+\d+\s+posts?/, + /">(\d+)\s+topics?,\s+\d+\s+posts?/, ); if ( n && diff --git a/Userscripts.org_Versions_Column/38595.user.js b/Userscripts.org_Versions_Column/38595.user.js index 04d852e..368c0ee 100644 --- a/Userscripts.org_Versions_Column/38595.user.js +++ b/Userscripts.org_Versions_Column/38595.user.js @@ -69,7 +69,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. var updateTime = 3 * 60 * 60 * 1000; // [Integer] update time (we don't want to flood userscripts.org); //*** USERSCRIPT ***// -(function (win, doc, und) { +(function (win, doc, _und) { try { var UVC = { init: function () { @@ -89,7 +89,7 @@ var updateTime = 3 * 60 * 60 * 1000; // [Integer] update time (we don't want to if (trs.length && postsIndex) { Array.forEach(trs, function (tr) { var column = tr.cells[postsIndex]; - if (!/scripts\-/.test(tr.id)) { + if (!/scripts-/.test(tr.id)) { // Header; var th = doc.createElement("th"); th.className = "la"; @@ -131,7 +131,7 @@ var updateTime = 3 * 60 * 60 * 1000; // [Integer] update time (we don't want to return function count(x) { var i = 0, n = x.responseText.match( - /\"\>(\d+)\s+previous versions?<\/a\>/, + /">(\d+)\s+previous versions?<\/a>/, ); if ( n && diff --git a/Userscripts.org_Versions_Tab/38594.user.js b/Userscripts.org_Versions_Tab/38594.user.js index 9a9b217..4eceb4d 100644 --- a/Userscripts.org_Versions_Tab/38594.user.js +++ b/Userscripts.org_Versions_Tab/38594.user.js @@ -81,12 +81,12 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. if (location.href.match(/scripts\/versions\/\d*/)) { li.className = "current"; - var i = document.querySelectorAll("#content > ul > li").length; + let i = document.querySelectorAll("#content > ul > li").length; span.innerHTML = i; versions[nr] = [i, new Date().getTime().toString()]; GM_setValue("UVT.versions", versions.toSource()); } else if (location.href.match(/scripts\/review\/\d*/)) { - var i = parseInt( + let i = parseInt( document .querySelector("#content > p > a") .innerHTML.match(/(\d+)\s+previous versions?/)[1], @@ -122,7 +122,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. return function count(x) { var i = 0, n = x.responseText.match( - /\"\>(\d+)\s+previous versions?<\/a\>/, + /">(\d+)\s+previous versions?<\/a>/, ); if ( n && From 73482344a8cd7a5823e1b448f8f788d643749086 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 11:06:58 +0100 Subject: [PATCH 142/164] Distinct between deprecated and abandoned --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index eb0d7dc..9a8291f 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,16 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u ### Github - [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme) - Easy reply to Github comments. -- ~~[Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file.~~ (deprecated) -- ~~[Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items.~~ (deprecated) -- ~~[Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit.~~ (deprecated) -- ~~[Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit.~~ (deprecated) -- ~~[Github Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare#readme) - Add controls to compare commits.~~ (deprecated) -- ~~[Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover.~~ (deprecated) -- ~~[Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing.~~ (deprecated) -- ~~[Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable.~~ (deprecated) -- ~~[Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available.~~ (deprecated) -- ~~[Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript.~~ (deprecated) +- ~~[Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker#readme) - Linkify all dependencies found in an JSON file.~~ (abandoned) +- ~~[Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter#readme) - Add filters for Github homepage news feed items.~~ (abandoned) +- ~~[Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff#readme) - Adds button to show diff (or patch) file for commit.~~ (abandoned) +- ~~[Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace#readme) - Adds button to hide whitespaces from commit.~~ (abandoned) +- ~~[Github Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare#readme) - Add controls to compare commits.~~ (abandoned) +- ~~[Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info#readme) - Show user information on avatar hover.~~ (abandoned) +- ~~[Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer#readme) - Preview images from within the listing.~~ (abandoned) +- ~~[Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From#readme) - Make pull request branches linkable.~~ (abandoned) +- ~~[Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available.~~ (abandoned) +- ~~[Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript.~~ (abandoned) - ~~[Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github.~~ (deprecated) - For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme). @@ -37,7 +37,7 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u - ~~[Horizon TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer#readme) - Improves the Horizon TV Gids.~~ (deprecated) - ~~[GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer#readme) - Add features to enhance comments on the sites GeenStijl & Powned & Dumpert & more.~~ (deprecated) -- ~~[Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme) - Exchange Marktplaats.nl.~~ (deprecated) +- ~~[Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger#readme) - Exchange Marktplaats.nl.~~ (abandoned) ### Extra & proof-of-concepts From 89d17adc4c24f27b5c6349eed2cfe36701ed0a40 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 12:41:16 +0100 Subject: [PATCH 143/164] =?UTF-8?q?=F0=9F=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1391930..0a47531 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "eslint-plugin-security": "^2.1.0", "eslint-plugin-userscripts": "^0.5.2", "lockfile-lint": "^4.12.1", - "prettier": "^3.2.4" + "prettier": "^3.2.5" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2603,9 +2603,9 @@ } }, "node_modules/prettier": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", - "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/package.json b/package.json index 71c1502..516caf0 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "eslint-plugin-security": "^2.1.0", "eslint-plugin-userscripts": "^0.5.2", "lockfile-lint": "^4.12.1", - "prettier": "^3.2.4" + "prettier": "^3.2.5" }, "engines": { "node": ">=16.0.0" From 674c8fa0a0cb64ae57cbe448c310f33311ca7f71 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 12:41:32 +0100 Subject: [PATCH 144/164] Update package.lock.json --- package-lock.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package-lock.json b/package-lock.json index 0a47531..a15ac17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "jerone-userscripts", "version": "0.0.0", + "license": "GPL-3.0-or-later", "devDependencies": { "@cspell/eslint-plugin": "^8.3.2", "eslint": "^8.56.0", @@ -20,6 +21,9 @@ "eslint-plugin-userscripts": "^0.5.2", "lockfile-lint": "^4.12.1", "prettier": "^3.2.5" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aashutoshrathi/word-wrap": { From 8fb99f17b3359a6a154a50523aed9f1132085ba0 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 15:04:30 +0100 Subject: [PATCH 145/164] Add missing NL spellcheck --- .cspell.json | 2 ++ package-lock.json | 7 +++++++ package.json | 1 + 3 files changed, 10 insertions(+) diff --git a/.cspell.json b/.cspell.json index a03963d..01c1816 100644 --- a/.cspell.json +++ b/.cspell.json @@ -3,6 +3,7 @@ "version": "0.2", // language - current active spelling language "language": "en,nl", + "import": ["@cspell/dict-nl-nl/cspell-ext.json"], // words - list of words to be always considered correct "words": [ "absmiddle", @@ -10,6 +11,7 @@ "blockquotes", "darkred", "datetime", + "GM_xmlhttpRequest", "greasemonkey", "jerone", "maxlength", diff --git a/package-lock.json b/package-lock.json index a15ac17..e2c043c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "license": "GPL-3.0-or-later", "devDependencies": { + "@cspell/dict-nl-nl": "^2.3.0", "@cspell/eslint-plugin": "^8.3.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -509,6 +510,12 @@ "integrity": "sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==", "dev": true }, + "node_modules/@cspell/dict-nl-nl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-nl-nl/-/dict-nl-nl-2.3.0.tgz", + "integrity": "sha512-gcSWcNv9xC4dqT/Xf2gUNwzRrt0bTcR0GET3fPUQqTyDJRS72LBGDsx0AY0zyfS1S2MwEOAjdKAnDGm0LCR11Q==", + "dev": true + }, "node_modules/@cspell/dict-node": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.3.tgz", diff --git a/package.json b/package.json index 516caf0..93ed799 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "lint:fix": "prettier --write \"**/*\" & eslint -f checklist --fix ." }, "devDependencies": { + "@cspell/dict-nl-nl": "^2.3.0", "@cspell/eslint-plugin": "^8.3.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 84a7a13bdac1290c8ac66d79088b7f42618a396d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 15:04:37 +0100 Subject: [PATCH 146/164] =?UTF-8?q?=F0=9F=93=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 575090d..f1d2b25 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -105,7 +105,7 @@ module.exports = { { indent: 4, }, - ], // For compatibility with Prettier. + ], // For compatibility with Prettier. See https://github.com/DavidAnson/markdownlint/blob/main/doc/Prettier.md "markdownlint/md030": [ "error", { @@ -114,7 +114,7 @@ module.exports = { ul_multi: 3, ul_single: 3, }, - ], // For compatibility with Prettier. + ], // For compatibility with Prettier. See https://github.com/DavidAnson/markdownlint/blob/main/doc/Prettier.md "markdownlint/md013": "off", // Disable line length. "markdownlint/md033": [ "error", From 0c41c1c0f0ad9932a95e177907555e9a12d0f33d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 15:23:10 +0100 Subject: [PATCH 147/164] =?UTF-8?q?=F0=9F=94=A5=20gitter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9a8291f..3f7a5e5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # [UserScripts](https://github.com/jerone/UserScripts) -[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jerone/UserScripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Mentioned in Awesome Userscripts](https://awesome.re/mentioned-badge.svg)](https://github.com/brunocvcunha/awesome-userscripts#readme) ## Description From 75dfcee73ee6f520cfb2dd05f87d26e52e3f0ea7 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 20:26:52 +0100 Subject: [PATCH 148/164] ESLint report-unused-disable-directives --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 93ed799..08d9c64 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "license": "GPL-3.0-or-later", "author": "Jeroen van Warmerdam ", "scripts": { - "lint": "lockfile-lint && eslint -f checklist .", + "lint": "lockfile-lint && eslint -f checklist --report-unused-disable-directives .", "lint:fix": "prettier --write \"**/*\" & eslint -f checklist --fix ." }, "devDependencies": { From 0b671b4c71896ee37ac345a46bdae734d554229b Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 23:41:51 +0100 Subject: [PATCH 149/164] editorconfig-checker --- .ecrc | 23 +++++++++++++ .editorconfig | 2 +- .eslintignore | 1 + .issuetracker | 4 +-- .prettierignore | 1 + April_Fools_CSS/April_Fools_CSS.user.js | 4 ++- .../GitHub_Commit_Compare.user.js | 34 +++++++++---------- LICENSE.txt | 2 +- _resources/BUTTONS.jade | 32 ++++++++--------- package-lock.json | 18 ++++++++++ package.json | 3 +- 11 files changed, 85 insertions(+), 39 deletions(-) create mode 100644 .ecrc diff --git a/.ecrc b/.ecrc new file mode 100644 index 0000000..cd50f8a --- /dev/null +++ b/.ecrc @@ -0,0 +1,23 @@ +{ + "Version": "2.8.0", + "Verbose": false, + "Format": "", + "Debug": false, + "IgnoreDefaults": false, + "SpacesAftertabs": false, + "NoColor": false, + "Exclude": [ + "Horizon_TV_Fixer/", + "LICENSE.txt" + ], + "AllowedContentTypes": [], + "PassedFiles": [], + "Disable": { + "EndOfLine": false, + "Indentation": false, + "InsertFinalNewline": false, + "TrimTrailingWhitespace": false, + "IndentSize": false, + "MaxLineLength": false + } +} diff --git a/.editorconfig b/.editorconfig index e79cee0..70072ab 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,6 +10,6 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[*md] +[*.md] indent_style = space indent_size = 4 diff --git a/.eslintignore b/.eslintignore index 5d654b9..3227eac 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,3 +6,4 @@ package-lock.json *.png Horizon_TV_Fixer/**/* +LICENSE.txt diff --git a/.issuetracker b/.issuetracker index 4c76276..962b9d5 100644 --- a/.issuetracker +++ b/.issuetracker @@ -3,5 +3,5 @@ # (note that '\' need to be escaped). [issuetracker "GitHub"] - regex = "(?:^|\\b|\\s|\\n|\\()#(\\d+)(?:$|\\b|\\s|\\n|\\))" - url = "https://github.com/jerone/UserScripts/issues/$1" + regex = "(?:^|\\b|\\s|\\n|\\()#(\\d+)(?:$|\\b|\\s|\\n|\\))" + url = "https://github.com/jerone/UserScripts/issues/$1" diff --git a/.prettierignore b/.prettierignore index 5d654b9..3227eac 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,3 +6,4 @@ package-lock.json *.png Horizon_TV_Fixer/**/* +LICENSE.txt diff --git a/April_Fools_CSS/April_Fools_CSS.user.js b/April_Fools_CSS/April_Fools_CSS.user.js index 93cf88c..14cba71 100644 --- a/April_Fools_CSS/April_Fools_CSS.user.js +++ b/April_Fools_CSS/April_Fools_CSS.user.js @@ -19,8 +19,9 @@ if (window.top === window) { var duration = 2000, // [Integer, positive, milliseconds] This controls the duration of an april fool item; interval = 8000; // [Integer, positive, milliseconds] This controls the interval of the next april fool; + // [String] April fools in CSS; Use {duration} for a dynamic duration; var aprilFools = [ - // [String] April fools in CSS; Use {duration} for a dynamic duration; + // editorconfig-checker-disable "img { \ -webkit-transform: rotate(180deg); \ -moz-transform: rotate(180deg); \ @@ -65,6 +66,7 @@ if (window.top === window) { @-webkit-keyframes rainbow { \ 100% { -webkit-filter: hue-rotate(360deg); } \ }", + // editorconfig-checker-enable ], aprilFool = 0, aprilFooled = 0; diff --git a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js index d5f18e1..c0dced1 100644 --- a/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js +++ b/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js @@ -69,19 +69,19 @@ l.classList.add("tooltipped", "tooltipped-n"); l.setAttribute("aria-label", "Show commit compare buttons"); l.style.cssText = ` - float: left; - padding: 3px 10px; - font-size: 12px; - font-weight: 600; - line-height: 20px; - color: #24292e; - vertical-align: middle; - background-color: #fff; - border: 1px solid rgba(27,31,35,0.2); - border-right: 0; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - `; + float: left; + padding: 3px 10px; + font-size: 12px; + font-weight: 600; + line-height: 20px; + color: #24292e; + vertical-align: middle; + background-color: #fff; + border: 1px solid rgba(27,31,35,0.2); + border-right: 0; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + `; l.appendChild(c); const p = document.createElementNS( @@ -117,10 +117,10 @@ a.setAttribute("rel", "nofollow"); a.setAttribute("aria-label", "Compare these commits"); a.style.cssText = ` - border-top-left-radius: 0; - border-bottom-left-radius: 0; - font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; - `; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + `; a.appendChild(s); a.appendChild(document.createElement("span")); diff --git a/LICENSE.txt b/LICENSE.txt index e587591..94a0453 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -618,4 +618,4 @@ an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - END OF TERMS AND CONDITIONS \ No newline at end of file + END OF TERMS AND CONDITIONS diff --git a/_resources/BUTTONS.jade b/_resources/BUTTONS.jade index b8eae3d..6092523 100644 --- a/_resources/BUTTONS.jade +++ b/_resources/BUTTONS.jade @@ -1,16 +1,16 @@ - div(style='width:120px;padding:10px;border:1px solid;') - button.btn.btn-block.btn-success - span.glyphicon.glyphicon-save - span Install - div(style='width:120px;padding:10px;border:1px solid;') - button.btn.btn-block.btn-primary - span.glyphicon.glyphicon-file - span Source - div(style='width:120px;padding:10px;border:1px solid;') - button.btn.btn-block.btn-warning - span.glyphicon.glyphicon-euro - span Donate - div(style='width:120px;padding:10px;border:1px solid;') - button.btn.btn-block.btn-danger - span.glyphicon.glyphicon-bullhorn - span Support +div(style='width:120px;padding:10px;border:1px solid;') +button.btn.btn-block.btn-success + span.glyphicon.glyphicon-save + span Install +div(style='width:120px;padding:10px;border:1px solid;') +button.btn.btn-block.btn-primary + span.glyphicon.glyphicon-file + span Source +div(style='width:120px;padding:10px;border:1px solid;') +button.btn.btn-block.btn-warning + span.glyphicon.glyphicon-euro + span Donate +div(style='width:120px;padding:10px;border:1px solid;') +button.btn.btn-block.btn-danger + span.glyphicon.glyphicon-bullhorn + span Support diff --git a/package-lock.json b/package-lock.json index e2c043c..dff8846 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "devDependencies": { "@cspell/dict-nl-nl": "^2.3.0", "@cspell/eslint-plugin": "^8.3.2", + "editorconfig-checker": "^5.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-formatter-checklist": "^0.1.0", @@ -1410,6 +1411,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/editorconfig-checker": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/editorconfig-checker/-/editorconfig-checker-5.1.3.tgz", + "integrity": "sha512-Ti5N1LPFq5VsrcnrnSkSqDeD7Q0QtL3WtjTbvZ6WY+KExOLBfOGjzeKUDHUqvFid7cTr0UOGQ4mE4Hf5C9wkcQ==", + "dev": true, + "bin": { + "ec": "dist/index.js", + "editorconfig-checker": "dist/index.js" + }, + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/mstruebing" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", diff --git a/package.json b/package.json index 08d9c64..bfa9d32 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,13 @@ "license": "GPL-3.0-or-later", "author": "Jeroen van Warmerdam ", "scripts": { - "lint": "lockfile-lint && eslint -f checklist --report-unused-disable-directives .", + "lint": "lockfile-lint && editorconfig-checker && eslint -f checklist --report-unused-disable-directives .", "lint:fix": "prettier --write \"**/*\" & eslint -f checklist --fix ." }, "devDependencies": { "@cspell/dict-nl-nl": "^2.3.0", "@cspell/eslint-plugin": "^8.3.2", + "editorconfig-checker": "^5.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-formatter-checklist": "^0.1.0", From d703501bbd438d77f915072e0f42ef85f9cbb424 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Sun, 4 Feb 2024 23:42:00 +0100 Subject: [PATCH 150/164] Grammar --- .cspell.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.cspell.json b/.cspell.json index 01c1816..18eacd1 100644 --- a/.cspell.json +++ b/.cspell.json @@ -1,10 +1,13 @@ // cSpell Settings { "version": "0.2", - // language - current active spelling language + // language - current active spelling language. "language": "en,nl", - "import": ["@cspell/dict-nl-nl/cspell-ext.json"], - // words - list of words to be always considered correct + // import - import dictionaries. + "import": [ + "@cspell/dict-nl-nl/cspell-ext.json" + ], + // words - list of words to be always considered correct. "words": [ "absmiddle", "ajax", @@ -13,6 +16,7 @@ "datetime", "GM_xmlhttpRequest", "greasemonkey", + "issuetracker", "jerone", "maxlength", "nofollow", From 5e0755b38df6a3cb57453820221d8353270d50bc Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 5 Feb 2024 23:15:57 +0100 Subject: [PATCH 151/164] VSCode workspace configurations --- .vscode/extensions.json | 16 ++++++++++++++++ .vscode/settings.json | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..b1c6f53 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,16 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "streetsidesoftware.code-spell-checker", + "streetsidesoftware.code-spell-checker-dutch", + "editorconfig.editorconfig", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode" + ], + + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 0967ef4..3dd7b4a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1 +1,35 @@ -{} +{ + /** + * Code language formatting. + */ + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[yaml]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + + /** + * Auto format. + */ + "editor.formatOnPaste": true, + "editor.formatOnSave": true, + "editor.formatOnType": true, + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + }, + // Show ESLint errors in the editor. Languages should match supported files `.eslintrc.js`. + "eslint.validate": [ + "javascript", + "json", + "jsonc", + "yaml", + "markdown" + ] +} From 926f42f664180c16cf121e66d8e31e9bb9c78875 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 5 Feb 2024 23:24:50 +0100 Subject: [PATCH 152/164] Add CI workflow --- .editorconfig | 4 ++++ .github/workflows/ci.yml | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.editorconfig b/.editorconfig index 70072ab..952a18a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,3 +13,7 @@ insert_final_newline = true [*.md] indent_style = space indent_size = 4 + +[*.yml] +indent_style = space +indent_size = 2 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0117420 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,19 @@ +name: CI + +on: + push: + branches: ["master"] + pull_request: + branches: ["master"] + workflow_dispatch: + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: "package.json" + - run: npm ci --no-fund + - run: npm run lint From 1077478ba764e9ba17f40a46d083eeeb7f1a1e83 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 5 Feb 2024 23:41:35 +0100 Subject: [PATCH 153/164] LF line endings for CI --- .editorconfig | 2 +- .gitattributes | 1 + .vscode/settings.json | 8 +------- 3 files changed, 3 insertions(+), 8 deletions(-) create mode 100644 .gitattributes diff --git a/.editorconfig b/.editorconfig index 952a18a..0ff0317 100644 --- a/.editorconfig +++ b/.editorconfig @@ -5,7 +5,7 @@ root = true indent_style = tab indent_size = 4 tab_width = 4 -end_of_line = crlf +end_of_line = lf # To allow compiling code on CI. charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..553b140 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf # To allow compiling code on CI. diff --git a/.vscode/settings.json b/.vscode/settings.json index 3dd7b4a..77637e2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -25,11 +25,5 @@ "source.fixAll": "explicit" }, // Show ESLint errors in the editor. Languages should match supported files `.eslintrc.js`. - "eslint.validate": [ - "javascript", - "json", - "jsonc", - "yaml", - "markdown" - ] + "eslint.validate": ["javascript", "json", "jsonc", "yaml", "markdown"] } From bcd599fb5628ef7082c36377e9c5d4bb555ab8a3 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 5 Feb 2024 23:41:42 +0100 Subject: [PATCH 154/164] Format doc --- .cspell.json | 4 +--- .ecrc | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/.cspell.json b/.cspell.json index 18eacd1..3160e7f 100644 --- a/.cspell.json +++ b/.cspell.json @@ -4,9 +4,7 @@ // language - current active spelling language. "language": "en,nl", // import - import dictionaries. - "import": [ - "@cspell/dict-nl-nl/cspell-ext.json" - ], + "import": ["@cspell/dict-nl-nl/cspell-ext.json"], // words - list of words to be always considered correct. "words": [ "absmiddle", diff --git a/.ecrc b/.ecrc index cd50f8a..ad72bb7 100644 --- a/.ecrc +++ b/.ecrc @@ -1,23 +1,23 @@ { - "Version": "2.8.0", - "Verbose": false, - "Format": "", + "AllowedContentTypes": [], "Debug": false, - "IgnoreDefaults": false, - "SpacesAftertabs": false, - "NoColor": false, + "Disable": { + "EndOfLine": false, + "IndentSize": false, + "Indentation": false, + "InsertFinalNewline": false, + "MaxLineLength": false, + "TrimTrailingWhitespace": false + }, "Exclude": [ "Horizon_TV_Fixer/", "LICENSE.txt" ], - "AllowedContentTypes": [], + "Format": "", + "IgnoreDefaults": false, + "NoColor": false, "PassedFiles": [], - "Disable": { - "EndOfLine": false, - "Indentation": false, - "InsertFinalNewline": false, - "TrimTrailingWhitespace": false, - "IndentSize": false, - "MaxLineLength": false - } + "SpacesAftertabs": false, + "Verbose": false, + "Version": "2.8.0" } From 8d10578f268e24dbb422ee017e1f0930a9d288e3 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 5 Feb 2024 23:48:13 +0100 Subject: [PATCH 155/164] Fix .gitattributes --- .gitattributes | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 553b140..dbbaa91 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ -* text=auto eol=lf # To allow compiling code on CI. +# To allow compiling code on CI. +* text=auto eol=lf From 71295c06585d9ca7c77d7ca586fd0dd50c9ee06d Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 5 Feb 2024 23:57:23 +0100 Subject: [PATCH 156/164] =?UTF-8?q?=F0=9F=93=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 77637e2..fefd502 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,7 +22,7 @@ "editor.formatOnSave": true, "editor.formatOnType": true, "editor.codeActionsOnSave": { - "source.fixAll": "explicit" + "source.fixAll": "explicit" // Fix all fixable errors on explicit save. }, // Show ESLint errors in the editor. Languages should match supported files `.eslintrc.js`. "eslint.validate": ["javascript", "json", "jsonc", "yaml", "markdown"] From 42608eb99e628c578b9db11f656dda8bd5184b86 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Mon, 12 Feb 2024 14:09:37 +0100 Subject: [PATCH 157/164] =?UTF-8?q?=F0=9F=90=9B=20Fix=20broken=20comment?= =?UTF-8?q?=20form.=20Fixes=20#168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Github_Reply_Comments.user.js | 14 +++++++++++--- Github_Reply_Comments/README.md | 4 ++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 646a523..2fcaedc 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -12,7 +12,7 @@ // @updateURL https://github.com/jerone/UserScripts/raw/master/Github_Reply_Comments/Github_Reply_Comments.user.js // @supportURL https://github.com/jerone/UserScripts/issues // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VCYMHWQ7ZMBKW -// @version 1.0.5 +// @version 1.0.6 // @icon https://github.githubassets.com/pinned-octocat.svg // @grant none // @include https://github.com/* @@ -59,7 +59,7 @@ } var textareas = newComment.querySelectorAll( - ":scope > :not(.last-review-thread) .comment-form-textarea:not(.github-writer-ckeditor)", + ":scope > :not(.last-review-thread) .js-comment-field:not(.github-writer-ckeditor)", ); return textareas[textareas.length - 1]; } @@ -68,7 +68,7 @@ var commentText = ""; // Use raw comment when available. - var commentForm = comment.querySelector(".comment-form-textarea"); + var commentForm = comment.querySelector(".js-comment-field"); if (commentForm) { commentText = commentForm.value; } @@ -88,6 +88,14 @@ }, ); + // Refined GitHub adds a small avatar to username mention. See https://github.com/refined-github/refined-github/blob/main/source/features/small-user-avatars.tsx + Array.prototype.forEach.call( + commentBody.querySelectorAll(".rgh-small-user-avatars"), + function (rgh) { + rgh.remove(); + }, + ); + // GitHub add an extra new line, which is converted by Turndown. Array.prototype.forEach.call( commentBody.querySelectorAll("pre code"), diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 110a1de..fe7d51e 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,10 @@ reply button on an comment. ## Version History +- version **1.0.6** + + - 🐛 Fix broken comment form. Fixes ([#168](https://github.com/jerone/UserScripts/issues/168)). + - version **1.0.5** - 🐛 Enable the Comment button. Fixes ([#152](https://github.com/jerone/UserScripts/issues/152)). From 40cfb6e713da71717c11cc25976c8ad647c42483 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 15 Feb 2024 16:01:12 +0100 Subject: [PATCH 158/164] Abandoned notification --- .cspell.json | 4 ++++ April_Fools_CSS/README.md | 2 +- Dakar_Extender/README.md | 2 +- Darts_Data_Enhancer/README.md | 2 +- GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md | 2 +- GitHub_Commit_Compare/README.md | 2 +- Github_Commit_Diff/README.md | 2 +- Github_Commit_Whitespace/README.md | 2 +- Github_Gist_Share/README.md | 2 +- Github_Image_Viewer/README.md | 2 +- Github_JSON_Dependencies_Linker/README.md | 2 +- Github_News_Feed_Filter/README.md | 2 +- Github_Pages_Linker/README.md | 2 +- Github_Pull_Request_From/README.md | 2 +- Github_User_Info/README.md | 2 +- Horizon_TV_Fixer/README.md | 2 +- Marktplaats_Exchanger/README.md | 2 +- Multiple_Windows_Live_IDs/README.md | 2 +- Outlook_Sign_Out_To_Login/README.md | 2 +- PDF_Tools/README.md | 2 +- README.md | 9 ++++++++- Twitter_profile_replies_hider/README.md | 2 +- Twitter_profile_retweets_hider/README.md | 2 +- Userscripts.org_Diff_Extender/README.md | 2 +- Userscripts.org_Extended_Style/README.md | 2 +- Userscripts.org_Scripts_Source_Counter/README.md | 2 +- Userscripts.org_Source_Numbering/README.md | 2 +- Userscripts.org_Timed_Updater/README.md | 2 +- Userscripts.org_Topics_Column/README.md | 2 +- Userscripts.org_Versions_Column/README.md | 2 +- Userscripts.org_Versions_Tab/README.md | 2 +- 31 files changed, 41 insertions(+), 30 deletions(-) diff --git a/.cspell.json b/.cspell.json index 3160e7f..10fbbe7 100644 --- a/.cspell.json +++ b/.cspell.json @@ -10,13 +10,17 @@ "absmiddle", "ajax", "blockquotes", + "Dabblet", "darkred", "datetime", + "Dumpert", "GM_xmlhttpRequest", "greasemonkey", "issuetracker", "jerone", + "Linkify", "maxlength", + "Mottie's", "nofollow", "octicon", "pjax", diff --git a/April_Fools_CSS/README.md b/April_Fools_CSS/README.md index c8f52b2..92bf771 100644 --- a/April_Fools_CSS/README.md +++ b/April_Fools_CSS/README.md @@ -1,4 +1,4 @@ -# [April Fools CSS](https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS) +# [April Fools CSS](https://github.com/jerone/UserScripts/tree/master/April_Fools_CSS) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/April_Fools_CSS/April_Fools_CSS.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/April_Fools_CSS/April_Fools_CSS.user.js) diff --git a/Dakar_Extender/README.md b/Dakar_Extender/README.md index a71a5c6..9353f47 100644 --- a/Dakar_Extender/README.md +++ b/Dakar_Extender/README.md @@ -1,3 +1,3 @@ -# TrackingDakar +# TrackingDakar (deprecated) > This userscript has been deprecated in favour of the more useful [TrackingDakar](http://www.trackingdakar.nl/) site. diff --git a/Darts_Data_Enhancer/README.md b/Darts_Data_Enhancer/README.md index 5a40be5..3f4d289 100644 --- a/Darts_Data_Enhancer/README.md +++ b/Darts_Data_Enhancer/README.md @@ -1,4 +1,4 @@ -# [Darts Data Enhancer](https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer) +# [Darts Data Enhancer](https://github.com/jerone/UserScripts/tree/master/Darts_Data_Enhancer) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Darts_Data_Enhancer/Darts_Data_Enhancer.user.js) diff --git a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md index 8639931..db84d2e 100644 --- a/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md +++ b/GeenStijl_Powned_Dumpert_Comment_Enhancer/README.md @@ -1,4 +1,4 @@ -# [GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer) +# [GeenStijl & Powned & Dumpert Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/GeenStijl_Powned_Dumpert_Comment_Enhancer) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/GeenStijl_Powned_Dumpert_Comment_Enhancer/GeenStijl_Powned_Dumpert_Comment_Enhancer.user.js) diff --git a/GitHub_Commit_Compare/README.md b/GitHub_Commit_Compare/README.md index 5bbd5ca..fb4b0ba 100644 --- a/GitHub_Commit_Compare/README.md +++ b/GitHub_Commit_Compare/README.md @@ -1,4 +1,4 @@ -# [GitHub Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare) +# [GitHub Commit Compare](https://github.com/jerone/UserScripts/tree/master/GitHub_Commit_Compare) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/GitHub_Commit_Compare/GitHub_Commit_Compare.user.js) diff --git a/Github_Commit_Diff/README.md b/Github_Commit_Diff/README.md index fc02e11..d72b87a 100644 --- a/Github_Commit_Diff/README.md +++ b/Github_Commit_Diff/README.md @@ -1,4 +1,4 @@ -# [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff) +# [Github Commit Diff](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Diff) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Diff/Github_Commit_Diff.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Commit_Diff/Github_Commit_Diff.user.js) diff --git a/Github_Commit_Whitespace/README.md b/Github_Commit_Whitespace/README.md index 9652303..cc23d03 100644 --- a/Github_Commit_Whitespace/README.md +++ b/Github_Commit_Whitespace/README.md @@ -1,4 +1,4 @@ -# [Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace) +# [Github Commit Whitespace](https://github.com/jerone/UserScripts/tree/master/Github_Commit_Whitespace) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Commit_Whitespace/Github_Commit_Whitespace.user.js) diff --git a/Github_Gist_Share/README.md b/Github_Gist_Share/README.md index 9019270..ea1664a 100644 --- a/Github_Gist_Share/README.md +++ b/Github_Gist_Share/README.md @@ -1,4 +1,4 @@ -# [Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share) +# [Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Gist_Share/157850.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Gist_Share/157850.user.js) diff --git a/Github_Image_Viewer/README.md b/Github_Image_Viewer/README.md index 267d3e5..28b4fa5 100644 --- a/Github_Image_Viewer/README.md +++ b/Github_Image_Viewer/README.md @@ -1,4 +1,4 @@ -# [Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer) +# [Github Image Viewer](https://github.com/jerone/UserScripts/tree/master/Github_Image_Viewer) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Image_Viewer/Github_Image_Viewer.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Image_Viewer/Github_Image_Viewer.user.js) diff --git a/Github_JSON_Dependencies_Linker/README.md b/Github_JSON_Dependencies_Linker/README.md index a09a1c0..fc992fe 100644 --- a/Github_JSON_Dependencies_Linker/README.md +++ b/Github_JSON_Dependencies_Linker/README.md @@ -1,4 +1,4 @@ -# [Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker) +# [Github JSON Dependencies Linker](https://github.com/jerone/UserScripts/tree/master/Github_JSON_Dependencies_Linker) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_JSON_Dependencies_Linker/Github_JSON_Dependencies_Linker.user.js) diff --git a/Github_News_Feed_Filter/README.md b/Github_News_Feed_Filter/README.md index e820c84..650566c 100644 --- a/Github_News_Feed_Filter/README.md +++ b/Github_News_Feed_Filter/README.md @@ -1,4 +1,4 @@ -# [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter) +# [Github News Feed Filter](https://github.com/jerone/UserScripts/tree/master/Github_News_Feed_Filter) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_News_Feed_Filter/Github_News_Feed_Filter.user.js) diff --git a/Github_Pages_Linker/README.md b/Github_Pages_Linker/README.md index 63fd192..162cd6f 100644 --- a/Github_Pages_Linker/README.md +++ b/Github_Pages_Linker/README.md @@ -1,4 +1,4 @@ -# [Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker) +# [Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Pages_Linker/Github_Pages_Linker.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Pages_Linker/Github_Pages_Linker.user.js) diff --git a/Github_Pull_Request_From/README.md b/Github_Pull_Request_From/README.md index 542e3ef..7de607b 100644 --- a/Github_Pull_Request_From/README.md +++ b/Github_Pull_Request_From/README.md @@ -1,4 +1,4 @@ -# [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From) +# [Github Pull Request From Link](https://github.com/jerone/UserScripts/tree/master/Github_Pull_Request_From) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_Pull_Request_From/Github_Pull_Request_From.user.js) diff --git a/Github_User_Info/README.md b/Github_User_Info/README.md index 07ab493..49eac03 100644 --- a/Github_User_Info/README.md +++ b/Github_User_Info/README.md @@ -1,4 +1,4 @@ -# [Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info) +# [Github User Info](https://github.com/jerone/UserScripts/tree/master/Github_User_Info) (abandoned) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Github_User_Info/Github_User_Info.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Github_User_Info/Github_User_Info.user.js) diff --git a/Horizon_TV_Fixer/README.md b/Horizon_TV_Fixer/README.md index 7d31868..7db22c4 100644 --- a/Horizon_TV_Fixer/README.md +++ b/Horizon_TV_Fixer/README.md @@ -1,4 +1,4 @@ -# [Horizon / Ziggo TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer) +# [Horizon / Ziggo TV Fixer](https://github.com/jerone/UserScripts/tree/master/Horizon_TV_Fixer) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Horizon_TV_Fixer/155147.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Horizon_TV_Fixer/155147.user.js) diff --git a/Marktplaats_Exchanger/README.md b/Marktplaats_Exchanger/README.md index 33b1f9e..2f66312 100644 --- a/Marktplaats_Exchanger/README.md +++ b/Marktplaats_Exchanger/README.md @@ -1,4 +1,4 @@ -# [Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger) +# [Marktplaats Exchanger](https://github.com/jerone/UserScripts/tree/master/Marktplaats_Exchanger) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Marktplaats_Exchanger/Marktplaats_Exchanger.user.js) diff --git a/Multiple_Windows_Live_IDs/README.md b/Multiple_Windows_Live_IDs/README.md index e344053..a60eb61 100644 --- a/Multiple_Windows_Live_IDs/README.md +++ b/Multiple_Windows_Live_IDs/README.md @@ -1,4 +1,4 @@ -# [Multiple Windows Live IDs](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs) +# [Multiple Windows Live IDs](https://github.com/jerone/UserScripts/tree/master/Multiple_Windows_Live_IDs) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Multiple_Windows_Live_IDs/Multiple_Windows_Live_IDs.user.js) diff --git a/Outlook_Sign_Out_To_Login/README.md b/Outlook_Sign_Out_To_Login/README.md index b8adce1..e7de38a 100644 --- a/Outlook_Sign_Out_To_Login/README.md +++ b/Outlook_Sign_Out_To_Login/README.md @@ -1,4 +1,4 @@ -# [Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login) +# [Outlook Sign Out To Login](https://github.com/jerone/UserScripts/tree/master/Outlook_Sign_Out_To_Login) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Outlook_Sign_Out_To_Login/Outlook_Sign_Out_To_Login.user.js) diff --git a/PDF_Tools/README.md b/PDF_Tools/README.md index 349adbb..c7c5e9d 100644 --- a/PDF_Tools/README.md +++ b/PDF_Tools/README.md @@ -1,4 +1,4 @@ -# [PDF Tools](https://github.com/jerone/UserScripts/tree/master/PDF_Tools) +# [PDF Tools](https://github.com/jerone/UserScripts/tree/master/PDF_Tools) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/PDF_Tools/PDF_Tools.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/PDF_Tools/PDF_Tools.user.js) diff --git a/README.md b/README.md index 3f7a5e5..1e60a7a 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,10 @@ This repo contains a few of my UserScripts that I've build since [2007](http://userscripts-mirror.org/users/jerone). +> [!IMPORTANT] +> As of 2024 many of my UserScripts are either abandoned or deprecated.
    +> If you want to revive one of them, send me a PR and I'll be happy to review it. + ### Github - [Github Reply Comments](https://github.com/jerone/UserScripts/tree/master/Github_Reply_Comments#readme) - Easy reply to Github comments. @@ -20,7 +24,10 @@ This repo contains a few of my UserScripts that I've build since [2007](http://u - ~~[Github Pages Linker](https://github.com/jerone/UserScripts/tree/master/Github_Pages_Linker#readme) - Add a link to Github Pages (gh-pages) when available.~~ (abandoned) - ~~[Github Gist Share](https://github.com/jerone/UserScripts/tree/master/Github_Gist_Share#readme) - Share your GitHub Gist to Twitter, Dabblet & as userscript.~~ (abandoned) - ~~[Github Comment Enhancer](https://github.com/jerone/UserScripts/tree/master/Github_Comment_Enhancer#readme) - Add features to enhance comments on Github.~~ (deprecated) -- For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme). + +> [!TIP] +> For more GitHub related UserScripts, check out [Mottie's UserScripts](https://github.com/Mottie/GitHub-userscripts#readme).
    +> Or install [Refined GitHub](https://github.com/refined-github/refined-github/#-refined-github) for lots of GitHub features. ### Twitter diff --git a/Twitter_profile_replies_hider/README.md b/Twitter_profile_replies_hider/README.md index 640bd51..0264bb0 100644 --- a/Twitter_profile_replies_hider/README.md +++ b/Twitter_profile_replies_hider/README.md @@ -1,4 +1,4 @@ -# [Twitter profile replies hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_replies_hider) +# [Twitter profile replies hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_replies_hider) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Twitter_profile_replies_hider/Twitter_profile_replies_hider.user.js) diff --git a/Twitter_profile_retweets_hider/README.md b/Twitter_profile_retweets_hider/README.md index 6fbd7ba..d36d841 100644 --- a/Twitter_profile_retweets_hider/README.md +++ b/Twitter_profile_retweets_hider/README.md @@ -1,4 +1,4 @@ -# [Twitter profile retweets hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_retweets_hider) +# [Twitter profile retweets hider](https://github.com/jerone/UserScripts/tree/master/Twitter_profile_retweets_hider) (deprecated) [![Install](https://raw.github.com/jerone/UserScripts/master/_resources/Install-button.png)](https://github.com/jerone/UserScripts/raw/master/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js) [![Source](https://raw.github.com/jerone/UserScripts/master/_resources/Source-button.png)](https://github.com/jerone/UserScripts/blob/master/Twitter_profile_retweets_hider/Twitter_profile_retweets_hider.user.js) diff --git a/Userscripts.org_Diff_Extender/README.md b/Userscripts.org_Diff_Extender/README.md index c00ee25..7008c80 100644 --- a/Userscripts.org_Diff_Extender/README.md +++ b/Userscripts.org_Diff_Extender/README.md @@ -1 +1 @@ -# [Userscripts.org Diff Extender](http://userscripts.org/scripts/show/38909) +# [Userscripts.org Diff Extender](http://userscripts.org/scripts/show/38909) (deprecated) diff --git a/Userscripts.org_Extended_Style/README.md b/Userscripts.org_Extended_Style/README.md index 0ee40b8..174d771 100644 --- a/Userscripts.org_Extended_Style/README.md +++ b/Userscripts.org_Extended_Style/README.md @@ -1 +1 @@ -# [Userscripts.org Extended Style](http://userscripts.org/scripts/show/37212) +# [Userscripts.org Extended Style](http://userscripts.org/scripts/show/37212) (deprecated) diff --git a/Userscripts.org_Scripts_Source_Counter/README.md b/Userscripts.org_Scripts_Source_Counter/README.md index 3fa0802..482b172 100644 --- a/Userscripts.org_Scripts_Source_Counter/README.md +++ b/Userscripts.org_Scripts_Source_Counter/README.md @@ -1 +1 @@ -# [Userscripts.org Scripts Source Counter](http://userscripts.org/scripts/show/37611) +# [Userscripts.org Scripts Source Counter](http://userscripts.org/scripts/show/37611) (deprecated) diff --git a/Userscripts.org_Source_Numbering/README.md b/Userscripts.org_Source_Numbering/README.md index c214d2d..0a04f77 100644 --- a/Userscripts.org_Source_Numbering/README.md +++ b/Userscripts.org_Source_Numbering/README.md @@ -1 +1 @@ -# [Userscripts.org Source Numbering](http://userscripts.org/scripts/show/38912) +# [Userscripts.org Source Numbering](http://userscripts.org/scripts/show/38912) (deprecated) diff --git a/Userscripts.org_Timed_Updater/README.md b/Userscripts.org_Timed_Updater/README.md index a7c506f..c02bd1b 100644 --- a/Userscripts.org_Timed_Updater/README.md +++ b/Userscripts.org_Timed_Updater/README.md @@ -1 +1 @@ -# [Userscripts.org Timed Updater](http://userscripts.org/scripts/show/37853) +# [Userscripts.org Timed Updater](http://userscripts.org/scripts/show/37853) (deprecated) diff --git a/Userscripts.org_Topics_Column/README.md b/Userscripts.org_Topics_Column/README.md index 84a56f2..8d4dfb7 100644 --- a/Userscripts.org_Topics_Column/README.md +++ b/Userscripts.org_Topics_Column/README.md @@ -1 +1 @@ -# [Userscripts.org Topics Column](http://userscripts.org/scripts/show/38597) +# [Userscripts.org Topics Column](http://userscripts.org/scripts/show/38597) (deprecated) diff --git a/Userscripts.org_Versions_Column/README.md b/Userscripts.org_Versions_Column/README.md index 2d2ed05..a53fb99 100644 --- a/Userscripts.org_Versions_Column/README.md +++ b/Userscripts.org_Versions_Column/README.md @@ -1 +1 @@ -# [Userscripts.org Versions Column](http://userscripts.org/scripts/show/38595) +# [Userscripts.org Versions Column](http://userscripts.org/scripts/show/38595) (deprecated) diff --git a/Userscripts.org_Versions_Tab/README.md b/Userscripts.org_Versions_Tab/README.md index 9eae1a4..dc3de8b 100644 --- a/Userscripts.org_Versions_Tab/README.md +++ b/Userscripts.org_Versions_Tab/README.md @@ -1 +1 @@ -# [Userscripts.org Versions Tab](http://userscripts.org/scripts/show/38594) +# [Userscripts.org Versions Tab](http://userscripts.org/scripts/show/38594) (deprecated) From 70836deb6539a83d42f07703b65281777debc7a6 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 15 Feb 2024 20:35:16 +0100 Subject: [PATCH 159/164] =?UTF-8?q?=F0=9F=90=9B=20Ignore=20"Reference=20ne?= =?UTF-8?q?w=20issue"=20modals=20when=20quoting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_Reply_Comments/Github_Reply_Comments.user.js | 5 ++++- Github_Reply_Comments/README.md | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 2fcaedc..f1a1a5d 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -68,7 +68,10 @@ var commentText = ""; // Use raw comment when available. - var commentForm = comment.querySelector(".js-comment-field"); + // Extra scope is needed to get the correct comment field, which is not an "Reference new issue" modal (with org rights). + var commentForm = comment.querySelector( + ":scope > .js-comment-update .js-comment-field", + ); if (commentForm) { commentText = commentForm.value; } diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index fe7d51e..2f8eab2 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -20,6 +20,10 @@ reply button on an comment. ## Version History +- version **next** + + - 🐛 Ignore "Reference new issue" modals when quoting. + - version **1.0.6** - 🐛 Fix broken comment form. Fixes ([#168](https://github.com/jerone/UserScripts/issues/168)). From 3e4ab777c15c1a036a45fd9ba7c5f8c539817499 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Thu, 15 Feb 2024 20:45:21 +0100 Subject: [PATCH 160/164] =?UTF-8?q?=F0=9F=90=9B=20Skip=20empty=20PR=20desc?= =?UTF-8?q?ription.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Github_Reply_Comments/Github_Reply_Comments.user.js | 9 +++++++++ Github_Reply_Comments/README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index f1a1a5d..5680f4f 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -83,6 +83,15 @@ .querySelector(".comment-body") .cloneNode(true); + // Skip empty PR description. + if ( + commentBody + .querySelector("em") + ?.innerText.includes("No description provided.") + ) { + return ""; + } + // Remove 'Toggle code wrap' buttons from https://greasyfork.org/en/scripts/18789-github-toggle-code-wrap Array.prototype.forEach.call( commentBody.querySelectorAll(".ghd-wrap-toggle"), diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 2f8eab2..16b6c79 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -23,6 +23,7 @@ reply button on an comment. - version **next** - 🐛 Ignore "Reference new issue" modals when quoting. + - 🐛 Skip empty PR description. - version **1.0.6** From bd4b0bb269ab363bc73d35543ff7cf6ba541356c Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Fri, 16 Feb 2024 10:26:15 +0100 Subject: [PATCH 161/164] Add andywang.vscode-scriptmonkey to VSCode extension recommendations list --- .vscode/extensions.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index b1c6f53..6f9a1d2 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,11 +4,12 @@ // List of extensions which should be recommended for users of this workspace. "recommendations": [ - "streetsidesoftware.code-spell-checker", - "streetsidesoftware.code-spell-checker-dutch", - "editorconfig.editorconfig", + "andywang.vscode-scriptmonkey", "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode" + "editorconfig.editorconfig", + "esbenp.prettier-vscode", + "streetsidesoftware.code-spell-checker-dutch", + "streetsidesoftware.code-spell-checker" ], // List of extensions recommended by VS Code that should not be recommended for users of this workspace. From e02e9d897254ae99b8079defdc7ed4084f912002 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Fri, 16 Feb 2024 13:34:45 +0100 Subject: [PATCH 162/164] Add support for GitHub alerts https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts --- .../Github_Reply_Comments.user.js | 24 +++++++++++++++++++ Github_Reply_Comments/README.md | 1 + 2 files changed, 25 insertions(+) diff --git a/Github_Reply_Comments/Github_Reply_Comments.user.js b/Github_Reply_Comments/Github_Reply_Comments.user.js index 5680f4f..bc094ca 100644 --- a/Github_Reply_Comments/Github_Reply_Comments.user.js +++ b/Github_Reply_Comments/Github_Reply_Comments.user.js @@ -34,6 +34,29 @@ }); }; + function turndownPluginGitHubAlert(turndownService) { + turndownService.addRule("gfm-alert", { + filter: function (node, _options) { + return ( + node.nodeName === "DIV" && + node.classList.contains("markdown-alert") + ); + }, + replacement: function (content, node, options) { + const variant = node + .querySelector(".markdown-alert-title") + .innerText.trim(); + content = content.replace(/^\n+|\n+$/g, ""); + content = content.replace( + // eslint-disable-next-line security/detect-non-literal-regexp + new RegExp("^" + variant), + "[!" + variant.toUpperCase() + "]", + ); + return options.rules.blockquote.replacement(content); + }, + }); + } + var turndownService = new TurndownService({ headingStyle: "atx", codeBlockStyle: "fenced", @@ -41,6 +64,7 @@ }); turndownService.use(turndownPluginGfm.gfm); turndownService.use(turndownPluginGithubCodeSnippet); + turndownService.use(turndownPluginGitHubAlert); function getCommentTextarea(replyBtn) { var newComment = replyBtn; diff --git a/Github_Reply_Comments/README.md b/Github_Reply_Comments/README.md index 16b6c79..01659df 100644 --- a/Github_Reply_Comments/README.md +++ b/Github_Reply_Comments/README.md @@ -24,6 +24,7 @@ reply button on an comment. - 🐛 Ignore "Reference new issue" modals when quoting. - 🐛 Skip empty PR description. + - Add support for [GitHub alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts). - version **1.0.6** From 44208b9d9f2df844c25af3b3f8911eab0df79762 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Fri, 16 Feb 2024 13:34:53 +0100 Subject: [PATCH 163/164] Scriptmonkey settings --- .vscode/settings.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index fefd502..592fe36 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -25,5 +25,11 @@ "source.fixAll": "explicit" // Fix all fixable errors on explicit save. }, // Show ESLint errors in the editor. Languages should match supported files `.eslintrc.js`. - "eslint.validate": ["javascript", "json", "jsonc", "yaml", "markdown"] + "eslint.validate": ["javascript", "json", "jsonc", "yaml", "markdown"], + + /** + * Scriptmonkey. + */ + "scriptmonkey.metaData.default.author": "jerone", + "scriptmonkey.metaData.default.namespace": "https://github.com/jerone/UserScripts" } From 37c0b4158e20335f9160b226e1379bafeec43774 Mon Sep 17 00:00:00 2001 From: Jeroen van Warmerdam Date: Fri, 16 Feb 2024 14:34:00 +0100 Subject: [PATCH 164/164] New version of gitignore --- .gitignore | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 161 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 8633370..ec08990 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,163 @@ -*.v12.suo -*.suo -*.bak -*.vs +# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,node +# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,node -.DS_Store +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories node_modules/ -pnpm-lock.yaml +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,node