From 6bb49cc16cbf03d4e0980c2343372ff20d0a4b55 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Sun, 17 Nov 2024 22:36:53 -0600 Subject: rename all scripts to have .user.js ext --- youtube/disable-mini-player.js | 31 ------------------ youtube/disable-mini-player.user.js | 31 ++++++++++++++++++ youtube/piped-button.js | 63 ------------------------------------- youtube/piped-button.user.js | 63 +++++++++++++++++++++++++++++++++++++ youtube/remove-home-shorts.js | 62 ------------------------------------ youtube/remove-home-shorts.user.js | 62 ++++++++++++++++++++++++++++++++++++ 6 files changed, 156 insertions(+), 156 deletions(-) delete mode 100644 youtube/disable-mini-player.js create mode 100644 youtube/disable-mini-player.user.js delete mode 100644 youtube/piped-button.js create mode 100644 youtube/piped-button.user.js delete mode 100644 youtube/remove-home-shorts.js create mode 100644 youtube/remove-home-shorts.user.js (limited to 'youtube') diff --git a/youtube/disable-mini-player.js b/youtube/disable-mini-player.js deleted file mode 100644 index 126a6a7..0000000 --- a/youtube/disable-mini-player.js +++ /dev/null @@ -1,31 +0,0 @@ -// ==UserScript== -// @name Disable YouTube Miniplayer -// @author tjkeller.xyz -// @include *youtube.com* -// @grant GM_addStyle -// ==/UserScript== - -// Remove home and shorts button -GM_addStyle(` - ytd-miniplayer, - .ytp-miniplayer-button - { - display: none !important; /* Needs !important flag */ - } -`) - - -// Pause video before navigating -document.body.addEventListener("yt-navigate-start", () => { - if (window.location.pathname == "/watch") - document.querySelector("ytd-player video").pause() -}) - -// Close miniplayer by clicking close button in code -document.body.addEventListener("yt-navigate-finish", () => { - setTimeout(() => { - const miniplayerCloseButton = document.querySelector("button.ytp-miniplayer-close-button") - if (miniplayerCloseButton) - miniplayerCloseButton.click() - }, 500) // Wait 500ms to close consistantly since miniplayer loads a little after this event -}) diff --git a/youtube/disable-mini-player.user.js b/youtube/disable-mini-player.user.js new file mode 100644 index 0000000..126a6a7 --- /dev/null +++ b/youtube/disable-mini-player.user.js @@ -0,0 +1,31 @@ +// ==UserScript== +// @name Disable YouTube Miniplayer +// @author tjkeller.xyz +// @include *youtube.com* +// @grant GM_addStyle +// ==/UserScript== + +// Remove home and shorts button +GM_addStyle(` + ytd-miniplayer, + .ytp-miniplayer-button + { + display: none !important; /* Needs !important flag */ + } +`) + + +// Pause video before navigating +document.body.addEventListener("yt-navigate-start", () => { + if (window.location.pathname == "/watch") + document.querySelector("ytd-player video").pause() +}) + +// Close miniplayer by clicking close button in code +document.body.addEventListener("yt-navigate-finish", () => { + setTimeout(() => { + const miniplayerCloseButton = document.querySelector("button.ytp-miniplayer-close-button") + if (miniplayerCloseButton) + miniplayerCloseButton.click() + }, 500) // Wait 500ms to close consistantly since miniplayer loads a little after this event +}) diff --git a/youtube/piped-button.js b/youtube/piped-button.js deleted file mode 100644 index 60cd7f2..0000000 --- a/youtube/piped-button.js +++ /dev/null @@ -1,63 +0,0 @@ -// ==UserScript== -// @name Piped Button youtube.com -// @namespace Violentmonkey Scripts -// @match https://www.youtube.com/* -// @grant GM_addStyle -// @version 1.0 -// @author - -// @description 3/9/2024, 8:38:47 PM -// ==/UserScript== - -/* Config */ -const instanceHostname = "piped.tjkeller.xyz" -const instanceProtocol = "https:" -const instanceIconLogo = "/img/icons/logo.svg" - -const instanceUrl = `${instanceProtocol}//${instanceHostname}` - -const redirectButtonId = "piped-button" - -GM_addStyle(` - a#${redirectButtonId} button { - background-color: #272727; - border-radius: 18px; - border: none; - color: white; - cursor: pointer; - display: flex; - font-family: "Roboto","Arial",sans-serif; - font-weight: 500; - height: 36px; - padding: .25em 1em .25em .65em; - text-decoration: none; - } - a#${redirectButtonId} button:hover { background-color: #3f3f3f; } - a#${redirectButtonId} button * { align-self: center; max-height: 100%; } -`) - - -function newUrl() { - return `${instanceProtocol}//${instanceHostname}${document.location.pathname}${document.location.search}` -} - -if (!document.getElementById(redirectButtonId)) { - const redirectButton = document.createElement("a") - const redirectButtonC = redirectButton.appendChild(document.createElement("button")) - const redirectButtonImg = redirectButtonC.appendChild(document.createElement("img")) - const redirectButtonTxt = redirectButtonC.appendChild(document.createElement("span")) - redirectButton.id = redirectButtonId - redirectButtonImg.src = instanceUrl + instanceIconLogo - redirectButtonImg.alt = "(Down)" // Logo effectively acts as a test to see whether the instance is up or not as a bonus - redirectButtonTxt.innerText = "Piped" - - redirectButton.addEventListener("mouseover", () => { redirectButton.href = newUrl() }) - - /* Insert */ - document.body.addEventListener("yt-navigate-finish", () => { - - setTimeout(() => { - const headContainer = document.querySelector("#masthead-container #container #start") - headContainer.appendChild(redirectButton) - }, 500) // Wait 500ms for page load to finish after event called - }) -} diff --git a/youtube/piped-button.user.js b/youtube/piped-button.user.js new file mode 100644 index 0000000..60cd7f2 --- /dev/null +++ b/youtube/piped-button.user.js @@ -0,0 +1,63 @@ +// ==UserScript== +// @name Piped Button youtube.com +// @namespace Violentmonkey Scripts +// @match https://www.youtube.com/* +// @grant GM_addStyle +// @version 1.0 +// @author - +// @description 3/9/2024, 8:38:47 PM +// ==/UserScript== + +/* Config */ +const instanceHostname = "piped.tjkeller.xyz" +const instanceProtocol = "https:" +const instanceIconLogo = "/img/icons/logo.svg" + +const instanceUrl = `${instanceProtocol}//${instanceHostname}` + +const redirectButtonId = "piped-button" + +GM_addStyle(` + a#${redirectButtonId} button { + background-color: #272727; + border-radius: 18px; + border: none; + color: white; + cursor: pointer; + display: flex; + font-family: "Roboto","Arial",sans-serif; + font-weight: 500; + height: 36px; + padding: .25em 1em .25em .65em; + text-decoration: none; + } + a#${redirectButtonId} button:hover { background-color: #3f3f3f; } + a#${redirectButtonId} button * { align-self: center; max-height: 100%; } +`) + + +function newUrl() { + return `${instanceProtocol}//${instanceHostname}${document.location.pathname}${document.location.search}` +} + +if (!document.getElementById(redirectButtonId)) { + const redirectButton = document.createElement("a") + const redirectButtonC = redirectButton.appendChild(document.createElement("button")) + const redirectButtonImg = redirectButtonC.appendChild(document.createElement("img")) + const redirectButtonTxt = redirectButtonC.appendChild(document.createElement("span")) + redirectButton.id = redirectButtonId + redirectButtonImg.src = instanceUrl + instanceIconLogo + redirectButtonImg.alt = "(Down)" // Logo effectively acts as a test to see whether the instance is up or not as a bonus + redirectButtonTxt.innerText = "Piped" + + redirectButton.addEventListener("mouseover", () => { redirectButton.href = newUrl() }) + + /* Insert */ + document.body.addEventListener("yt-navigate-finish", () => { + + setTimeout(() => { + const headContainer = document.querySelector("#masthead-container #container #start") + headContainer.appendChild(redirectButton) + }, 500) // Wait 500ms for page load to finish after event called + }) +} diff --git a/youtube/remove-home-shorts.js b/youtube/remove-home-shorts.js deleted file mode 100644 index 42ea0d0..0000000 --- a/youtube/remove-home-shorts.js +++ /dev/null @@ -1,62 +0,0 @@ -// ==UserScript== -// @name Remove youtube home and shorts -// @namespace Violentmonkey Scripts -// @include *youtube.com* -// @grant GM_addStyle -// @version 1.0 -// @author tjk918 -// @description 9/21/2023, 9:44:13 AM -// @license MIT -// ==/UserScript== - - -// Remove home and shorts button -GM_addStyle(` - tp-yt-app-drawer a[title=Home], - tp-yt-app-drawer a[title=Shorts], - ytd-mini-guide-renderer a[title=Home], - ytd-mini-guide-renderer a[title=Shorts] - { - display: none !important; /* Needs !important flag */ - } -`) - - -// Subscriptions page is new homepage -const subscriptionsPath = "/feed/subscriptions" - -function redirectToSubscriptions() { - // Invoke clicking the subscriptions button to use youtube's hot page reloading if possible instead of reloading the whole page - const subscriptionsButton = document.querySelector("tp-yt-app-drawer a[title=Subscriptions]") - if (subscriptionsButton) - subscriptionsButton.click() - else - window.location.replace(subscriptionsPath) -} - - -// Redirect to new homepage -function redirectIfHome() { - if (window.location.pathname === "/") - redirectToSubscriptions() -} - -redirectIfHome() -window.addEventListener("popstate", redirectIfHome) -//document.body.addEventListener("yt-navigate-finish", redirectIfHome) - - -// Youtube logo navigate to subscriptions -/* Needs to be done safely in case youtube changes and also because it throws - * an error otherwise because violentmonkey seems to load the script twice */ - -const logo = document.querySelector("#logo a") -if (logo) { - logo.href = subscriptionsPath - logo.addEventListener("click", e => { - // Seems there is an event listener that forces redirect to site root, so stop that first - e.stopPropagation() - e.preventDefault() - redirectToSubscriptions() - }) -} diff --git a/youtube/remove-home-shorts.user.js b/youtube/remove-home-shorts.user.js new file mode 100644 index 0000000..42ea0d0 --- /dev/null +++ b/youtube/remove-home-shorts.user.js @@ -0,0 +1,62 @@ +// ==UserScript== +// @name Remove youtube home and shorts +// @namespace Violentmonkey Scripts +// @include *youtube.com* +// @grant GM_addStyle +// @version 1.0 +// @author tjk918 +// @description 9/21/2023, 9:44:13 AM +// @license MIT +// ==/UserScript== + + +// Remove home and shorts button +GM_addStyle(` + tp-yt-app-drawer a[title=Home], + tp-yt-app-drawer a[title=Shorts], + ytd-mini-guide-renderer a[title=Home], + ytd-mini-guide-renderer a[title=Shorts] + { + display: none !important; /* Needs !important flag */ + } +`) + + +// Subscriptions page is new homepage +const subscriptionsPath = "/feed/subscriptions" + +function redirectToSubscriptions() { + // Invoke clicking the subscriptions button to use youtube's hot page reloading if possible instead of reloading the whole page + const subscriptionsButton = document.querySelector("tp-yt-app-drawer a[title=Subscriptions]") + if (subscriptionsButton) + subscriptionsButton.click() + else + window.location.replace(subscriptionsPath) +} + + +// Redirect to new homepage +function redirectIfHome() { + if (window.location.pathname === "/") + redirectToSubscriptions() +} + +redirectIfHome() +window.addEventListener("popstate", redirectIfHome) +//document.body.addEventListener("yt-navigate-finish", redirectIfHome) + + +// Youtube logo navigate to subscriptions +/* Needs to be done safely in case youtube changes and also because it throws + * an error otherwise because violentmonkey seems to load the script twice */ + +const logo = document.querySelector("#logo a") +if (logo) { + logo.href = subscriptionsPath + logo.addEventListener("click", e => { + // Seems there is an event listener that forces redirect to site root, so stop that first + e.stopPropagation() + e.preventDefault() + redirectToSubscriptions() + }) +} -- cgit v1.2.3