Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,10 +31,10 @@
"@eslint/js": "^9.32.0",
"@stylistic/eslint-plugin": "^5.2.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.23",
"@types/express": "^5.0.0",
"@types/helmet": "4.0.0",
"@types/morgan": "^1.9.10",
"@types/node": "^22.16.5",
"@types/node": "^24.0.0",
"@types/node-fetch": "^2.6.12",
"@types/node-schedule": "^2.1.8",
"@types/suncalc": "^1.9.2",
Expand Down
58 changes: 28 additions & 30 deletions yarn.lock
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,27 +274,26 @@ __metadata:
languageName: node
linkType: hard

"@types/express-serve-static-core@npm:^4.17.33":
version: 4.19.6
resolution: "@types/express-serve-static-core@npm:4.19.6"
"@types/express-serve-static-core@npm:^5.0.0":
version: 5.1.3
resolution: "@types/express-serve-static-core@npm:5.1.3"
dependencies:
"@types/node": "npm:*"
"@types/qs": "npm:*"
"@types/range-parser": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983
checksum: 10c0/2312bf52f2c299fdaf3b0c60c6058dd102f7bb6ed721b6de94e334feead4a4e4b606717058400436aa841cd9499e6960a4e3d92dd2b00220a6c1435ea5fdb5e1
languageName: node
linkType: hard

"@types/express@npm:^4.17.23":
version: 4.17.24
resolution: "@types/express@npm:4.17.24"
"@types/express@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express@npm:5.0.6"
dependencies:
"@types/body-parser": "npm:*"
"@types/express-serve-static-core": "npm:^4.17.33"
"@types/qs": "npm:*"
"@types/serve-static": "npm:*"
checksum: 10c0/664e1983e47dee6e30c3c3cad84a8e43f9da07e24bd596e8398cf3fb36bc107fc813a9bc90e3da01bc8930dc70c5729a380e4ea54998159ec1b1eba2db6ce933
"@types/express-serve-static-core": "npm:^5.0.0"
"@types/serve-static": "npm:^2"
checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b
languageName: node
linkType: hard

Expand DownExpand Up@@ -365,12 +364,12 @@ __metadata:
languageName: node
linkType: hard

"@types/node@npm:^22.16.5":
version: 22.18.12
resolution: "@types/node@npm:22.18.12"
"@types/node@npm:^24.0.0":
version: 24.13.3
resolution: "@types/node@npm:24.13.3"
dependencies:
undici-types: "npm:~6.21.0"
checksum: 10c0/13a4638f2baba3efba2b8bc369dd6f950dccbfca78f318f9c9f2c7adc11fce14fc119723c38567dada2d57a873c092b7356c024924d5974a08f3c1f93dc706c6
undici-types: "npm:~7.18.0"
checksum: 10c0/a5bc08f49b9581dcdca90e02cd77197a3c799840807664942e5cd5161a553d4d2ae8064f7e3294410d748d7d098b5c1848be7fa50c06f29c4193ab16be4e59eb
languageName: node
linkType: hard

Expand DownExpand Up@@ -398,14 +397,13 @@ __metadata:
languageName: node
linkType: hard

"@types/serve-static@npm:*":
version: 1.15.8
resolution: "@types/serve-static@npm:1.15.8"
"@types/serve-static@npm:^2":
version: 2.2.0
resolution: "@types/serve-static@npm:2.2.0"
dependencies:
"@types/http-errors": "npm:*"
"@types/node": "npm:*"
"@types/send": "npm:*"
checksum: 10c0/8ad86a25b87da5276cb1008c43c74667ff7583904d46d5fcaf0355887869d859d453d7dc4f890788ae04705c23720e9b6b6f3215e2d1d2a4278bbd090a9268dd
checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094
languageName: node
linkType: hard

Expand DownExpand Up@@ -623,10 +621,10 @@ __metadata:
"@eslint/js": "npm:^9.32.0"
"@stylistic/eslint-plugin": "npm:^5.2.2"
"@types/cors": "npm:^2.8.19"
"@types/express": "npm:^4.17.23"
"@types/express": "npm:^5.0.0"
"@types/helmet": "npm:4.0.0"
"@types/morgan": "npm:^1.9.10"
"@types/node": "npm:^22.16.5"
"@types/node": "npm:^24.0.0"
"@types/node-fetch": "npm:^2.6.12"
"@types/node-schedule": "npm:^2.1.8"
"@types/suncalc": "npm:^1.9.2"
Expand DownExpand Up@@ -2364,20 +2362,20 @@ __metadata:
languageName: node
linkType: hard

"undici-types@npm:~6.21.0":
version: 6.21.0
resolution: "undici-types@npm:6.21.0"
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard

"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a
languageName: node
linkType: hard

"undici-types@npm:~7.18.0":
version: 7.18.2
resolution: "undici-types@npm:7.18.2"
checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d
languageName: node
linkType: hard

"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"
Expand Down
Loading