') + ')', 'gi');
if (regex.test(text)) {
found = true;
var frag = document.createDocumentFragment();
var parts = text.split(regex);
parts.forEach(function(part, i) {
if (i % 2 === 0) {
frag.appendChild(document.createTextNode(part));
} else {
var span = document.createElement('span');
span.className = 'userscript-highlight';
span.textContent = part;
frag.appendChild(span);
}
});
node.parentNode.replaceChild(frag, node);
}
});
} else if (node.nodeType === 1 && node.childNodes) { // element
var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];
if (!skipTags.includes(node.tagName)) {
Array.from(node.childNodes).forEach(highlight);
}
}
}
highlight(document.body);
// Re-highlight on dynamic content
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1 || node.nodeType === 3) highlight(node);
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Strip utm_, fbclid, gclid, etc. from all links on page
(function() {
var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',
'ref', 'ref_src', 'source', 'medium', 'campaign'];
function cleanUrl(url) {
try {
var u = new URL(url, window.location.origin);
var changed = false;
trackingParams.forEach(function(p) {
if (u.searchParams.has(p)) {
u.searchParams.delete(p);
changed = true;
}
});
return changed ? u.toString() : url;
} catch (e) {
return url;
}
}
function cleanLinks() {
document.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
cleanLinks();
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'A') cleanLinks();
node.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); }
})();
(function(){
try {
var __m = "youtube.com";
var __re = new RegExp('^' + "youtube\\.com" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Auto-enable theater mode on YouTube
(function() {
function tryTheater() {
var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]');
if (btn && !btn.classList.contains('activated')) {
btn.click();
}
}
// Try immediately
tryTheater();
// Try after navigation (SPA)
var lastUrl = location.href;
setInterval(function() {
if (location.href !== lastUrl) {
lastUrl = location.href;
setTimeout(tryTheater, 500);
}
}, 1000);
// Also try on player load
var observer = new MutationObserver(tryTheater);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Remove or un-stick sticky/fixed headers that block content
(function() {
function unstick() {
document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) {
if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {
el.style.position = 'static';
el.style.top = 'auto';
el.style.zIndex = 'auto';
}
});
}
unstick();
var observer = new MutationObserver(unstick);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });
})();
}
} catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); }
})();
})();
Updating master from upstream repo by tedepstein · Pull Request #2 · RepreZen/OpenAPI-Specification · GitHub
Commits Commits on Aug 25, 2017 Show description for 35de591
Ron
authored
Show description for e30d56c
Ron
authored
Show description for 875ec9a
Ron
authored
Commits on Sep 23, 2017 Show description for 103054f
Commits on Sep 29, 2017 Show description for 9b320b1
Commits on Oct 19, 2017
Ron
authored
Commits on Oct 20, 2017 Show description for 14694db
Ron
authored
Show description for 5b0cf5e
Ron
authored
Show description for c78fcf3
Ron
authored
Ron
authored
Ron
authored
Show description for 7c5532d
Ron
authored
Show description for 2d2fcc4
Ron
authored
Show description for f8f7a14
Ron
authored
Ron
authored
Show description for dfd02eb
Commits on Oct 23, 2017 Show description for f512058
Ron
authored
Commits on Oct 26, 2017
Ron
authored
Show description for 623165e
Commits on Nov 3, 2017 Show description for 71c900b
Commits on Nov 7, 2017 Show description for b9a1fdd
Ron
authored
Commits on Nov 10, 2017
Show description for e47b2cf
Show description for 3b706dd
Show description for 2437792
Show description for ca0ddfc
Show description for 638610f
Ron
authored
Commits on Dec 4, 2017 Show description for d8d586c
Show description for ae2e404
Show description for 5247abc
Show description for 1db1993
Commits on Dec 5, 2017
Show description for c074a5b
Ron
authored
Ron
authored
Show description for 70653dd
Ron
authored
Show description for 6390e8b
Ron
authored
Show description for 75ddd4f
Ron
authored
Commits on Dec 6, 2017 Show description for eee4cf3
Commits on Dec 7, 2017 Show description for c85cff7
Ron
authored
Show description for 0dd79f6
Ron
authored
Show description for 1adcb88
Ron
authored
Commits on Dec 15, 2017
Ron
authored
Show description for 58c83a5
Ron
authored
Show description for 4d5a749
Commits on Jan 5, 2018 Show description for 12b850b
Ron
authored
Ron
authored
Ron
authored
Show description for ba49b59
Ron
authored
Commits on Jan 22, 2018 Show description for 60b17a6
Commits on Jan 26, 2018 Show description for 55a4c6d
Ron
authored
Commits on Feb 2, 2018
Ron
authored
Show description for 316754c
Show description for c0fca86
Ron
authored
Commits on Feb 9, 2018 Show description for 5e91483
Show description for 280bc08
Show description for deca417
Commits on Feb 12, 2018 Show description for 1bd512e
Ron
authored
Commits on Mar 1, 2018 Show description for a961eae
Commits on Mar 7, 2018
Show description for dc40fcd
Ron
authored
Commits on Mar 9, 2018
Show description for b335dda
Ron
authored
Commits on Mar 21, 2018 Show description for 2dd0d79
Ron
authored
Commits on Apr 4, 2018 Show description for f8b3f3d
Commits on Apr 9, 2018 Show description for fbe6200
Ron
authored
You can’t perform that action at this time.