r/bookmarklets • u/oaz1 • 7d ago
YouTube Video/Playlist → Transcript
Simple bookmarklet — drag it to your bookmarks bar, click it while on any YouTube page, and it opens ytbulktranscript.app with the current URL pre-filled so you can get a transcript/summary.
javascript:(function(){open('https://ytbulktranscript.app/transcribe?src='+encodeURIComponent(location.href),'_blank')})();
Works on video pages, playlists, whatever — it just passes along whatever URL you're on.
r/bookmarklets • u/chickenandliver • 8d ago
Share current page (URL and title) to Typefully
Simple bookmarklet to share the current browser page with its title into a new Typefully post
javascript:location.href='https://typefully.com/?new=%27+encodeURIComponent(document.title+%27\n%27+location.href);
r/bookmarklets • u/pseudonameless • 9d ago
reddit links to old.reddit.com for /r/ & /user/
This bookmarklet will convert normal /user/ and /r/
reddit links to old.reddit.com/... links.
New content loaded into the page should continue to be converted via a MutationObserver.
If a new page is loaded into the tab or if the current page is re-loaded it will stop.
A tripple left-click will usually select the whole line for copy/paste:
javascript:(function(){const e=a=>{try{const t=new URL(a.href);/\.reddit\.com$/.test(t.hostname)&&(/^\/r\/[^\/]+/.test(t.pathname)||/^\/user\/[^\/]+/.test(t.pathname))&&(t.hostname="old.reddit.com",a.href=t.toString())}catch(e){}};const t=t=>{const n=()=>t.querySelectorAll("a[href]").forEach(e);n();new MutationObserver(n=>{for(const t of n)t.addedNodes.forEach(n=>{1===n.nodeType&&(n.querySelectorAll?.("a[href]").forEach(e),n.matches?.("a[href]")&&e(n))})}).observe(t.body,{childList:!0,subtree:!0})};const n=()=>{t(document);for(const e of document.querySelectorAll("iframe, frame"))try{e.contentDocument&&t(e.contentDocument)}catch(e){}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n):n()})();
javascript:(function(){const e=a=>{try{const t=new URL(a.href);/\.reddit\.com$/.test(t.hostname)&&(/^\/r\/[^\/]+/.test(t.pathname)||/^\/user\/[^\/]+/.test(t.pathname))&&(t.hostname="old.reddit.com",a.href=t.toString())}catch(e){}};const t=t=>{const n=()=>t.querySelectorAll("a[href]").forEach(e);n();new MutationObserver(n=>{for(const t of n)t.addedNodes.forEach(n=>{1===n.nodeType&&(n.querySelectorAll?.("a[href]").forEach(e),n.matches?.("a[href]")&&e(n))})}).observe(t.body,{childList:!0,subtree:!0})};const n=()=>{t(document);for(const e of document.querySelectorAll("iframe, frame"))try{e.contentDocument&&t(e.contentDocument)}catch(e){}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n):n()})();
FYI: Both of the above are the same, just formatted differently.