misc/greasemonkey/Feed icon link.js

40 lines
1.7 KiB
JavaScript
Raw Normal View History

// ==UserScript==
// @name Feed icon link
// @version 1
// @grant none
// @description youtube does publish rss feeds. But it's not the easiest thing in the world to find.
// @include /^https?://(www\.)?youtube.com\/watch\?/
// @namespace adamrgrey.com
// @license MIT
// ==/UserScript==
//from wikipedia: https://en.wikipedia.org/wiki/File:Feed-icon.svg, but it's gnu.
let svgsrc = `
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32px" height="32px" id="RSSicon" viewBox="0 0 256 256">
<defs>
<linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915" id="RSSg">
<stop offset="0.0" stop-color="#E3702D"/><stop offset="0.1071" stop-color="#EA7D31"/>
<stop offset="0.3503" stop-color="#F69537"/><stop offset="0.5" stop-color="#FB9E3A"/>
<stop offset="0.7016" stop-color="#EA7C31"/><stop offset="0.8866" stop-color="#DE642B"/>
<stop offset="1.0" stop-color="#D95B29"/>
</linearGradient>
</defs>
<rect width="256" height="256" rx="55" ry="55" x="0" y="0" fill="#CC5D15"/>
<rect width="246" height="246" rx="50" ry="50" x="5" y="5" fill="#F49C52"/>
<rect width="236" height="236" rx="47" ry="47" x="10" y="10" fill="url(#RSSg)"/>
<circle cx="68" cy="189" r="24" fill="#FFF"/>
<path d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" fill="#FFF"/>
<path d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" fill="#FFF"/>
</svg>
`.trim();
setTimeout(() => {
let feedLink = document.createElement("a");
feedLink.setAttribute("href", "https://www.youtube.com/feeds/videos.xml?channel_id=" + document.body.querySelector("meta[itemprop=channelId]").content);
feedLink.innerHTML = svgsrc;
document.querySelectorAll(".ytd-subscribe-button-renderer").forEach((elem) => {
elem.parentElement.appendChild(feedLink);
});
}, 1500);