Uh oh!
There was an error while loading. Please reload this page.
') + ')', '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); } })(); })();
There was an error while loading. Please reload this page.
Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.
🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.
Detected Package Files
.gitmodules(git-submodules).github/workflows/CI.yml(github-actions).github/workflows/codeql.yml(github-actions).github/workflows/issues.yml(github-actions).github/workflows/python-flake8.yml(github-actions).github/workflows/release-notifier.yml(github-actions).github/workflows/update-changelog.yml(github-actions).github/workflows/update-docs.yml(github-actions).github/workflows/update-pypi.yml(github-actions).github/workflows/yaml-lint.yml(github-actions)action.yml(github-actions)requirements-action.txt(pip_requirements)requirements-dev.txt(pip_requirements)requirements.txt(pip_requirements)Configuration Summary
Based on the default config's presets, Renovate will:
fixfor dependencies andchorefor all others if semantic commits are in use.node_modules,bower_components,vendorand various test/tests directories.🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to
renovate.jsonin this branch. Renovate will update the Pull Request description the next time it runs.What to Expect
With your current configuration, Renovate will create 18 Pull Requests:
chore(deps): bump dependency tqdm to v4.66.3 [security]
renovate/pypi-tqdm-vulnerabilitymaster==4.66.3chore(deps): bump dependency m2r2 to v0.3.3.post2
renovate/m2r2-0-xmaster==0.3.3.post2chore(deps): bump dependency plexapi-backport to v4.15.10
renovate/plexapimaster==4.15.10chore(deps): bump dependency beautifulsoup4 to v4.12.3
renovate/beautifulsoup4-4-xmaster==4.12.3chore(deps): bump dependency requests-cache to v0.9.8
renovate/requests-cache-0-xmaster==0.9.8chore(deps): bump dependency sphinx-tabs to v1.3.0
renovate/sphinx-tabs-1-xmaster==1.3.0chore(deps): bump dependency feedparser to v6
renovate/feedparser-6-xmaster==6.0.11chore(deps): bump dependency flake8 to v7
renovate/flake8-7-xmaster==7.1.1chore(deps): bump dependency lxml to v5
renovate/lxml-5-xmaster==5.2.2chore(deps): bump dependency numpydoc to v1
renovate/numpydoc-1-xmaster==1.7.0chore(deps): bump dependency pytest to v8
renovate/pytest-8-xmaster==8.3.2chore(deps): bump dependency pytest-cov to v5
renovate/pytest-cov-5-xmaster==5.0.0chore(deps): bump dependency pyyaml to v6
renovate/pyyaml-6-xmaster==6.0.2chore(deps): bump dependency requests-cache to v1
renovate/requests-cache-1-xmaster==1.2.1chore(deps): bump dependency rstcheck to v6
renovate/rstcheck-6-xmaster==6.2.4chore(deps): bump dependency sphinx to v8
renovate/sphinx-8-xmaster==8.0.2chore(deps): bump dependency sphinx-rtd-theme to v2
renovate/sphinx-rtd-theme-2-xmaster==2.0.0chore(deps): bump dependency sphinx-tabs to v3
renovate/sphinx-tabs-3-xmaster==3.4.5🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for
prhourlylimitfor details.❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section.
If you need any further assistance then you can also request help here.
This PR was generated by Mend Renovate. View the repository job log.