Skip to content

Instantly share code, notes, and snippets.

@mdashlw
Created December 20, 2024 01:59
Show Gist options
  • Select an option

  • Save mdashlw/59f49adc94dd798d4d24bd2143050fba to your computer and use it in GitHub Desktop.

Select an option

Save mdashlw/59f49adc94dd798d4d24bd2143050fba to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name Philomena Rainbow Theme
// @match https://derpibooru.org/*
// @grant none
// @version 1.0
// @author mdashlw
// @run-at document-start
// @inject-into page
// ==/UserScript==
const themePaths = {
"dark-blue": "/css/dark-blue-d1f33aef6856ea97a9f4786d5c3189ca.css?vsn=d",
"dark-gray": "/css/dark-gray-4af8c77e89dfdb01394c516b7f136020.css?vsn=d",
"dark-green": "/css/dark-green-9353372d3f4d5e6b034c5c94be457771.css?vsn=d",
"dark-orange": "/css/dark-orange-26b7bd28a76c7087fe7d2d1301e1dab5.css?vsn=d",
"dark-pink": "/css/dark-pink-11e2adaed5c0a9152b036cb32447fe79.css?vsn=d",
"dark-purple": "/css/dark-purple-9be0f6fa73d23e00da064870a3171d7e.css?vsn=d",
"dark-red": "/css/dark-red-a073b6bcb684e36771a49b0fe5d8a585.css?vsn=d",
"dark-teal": "/css/dark-teal-892dc45ffac80b6b0219904a531d2b1b.css?vsn=d",
"dark-yellow": "/css/dark-yellow-a8f236f2f72687a6bbc14a55821f4017.css?vsn=d",
"light-blue": "/css/light-blue-bc2777fe7cbfddeb94960fe5712d591d.css?vsn=d",
"light-gray": "/css/light-gray-0b131ba5a61713e6d0414bb4026bf0f3.css?vsn=d",
"light-green": "/css/light-green-0b965b78ceeafa15d8a6348e1bd96acb.css?vsn=d",
"light-orange":
"/css/light-orange-b533f3429c4228f22f84767584da0c69.css?vsn=d",
"light-pink": "/css/light-pink-aea01fe5c8e7730db37134a161d3216b.css?vsn=d",
"light-purple":
"/css/light-purple-6c6cbbc61c29cf38227c37ded21ecc7e.css?vsn=d",
"light-red": "/css/light-red-4d73cd0e93a1c7ea1e2a38219c65e348.css?vsn=d",
"light-teal": "/css/light-teal-35501013e3a19a08d04142dce38c373e.css?vsn=d",
"light-yellow":
"/css/light-yellow-2ba7df993fc0d767d75ca26fef4855e7.css?vsn=d",
};
const dark =
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;
const pool = Object.entries(themePaths)
.filter(([name]) => name.split("-")[0] === (dark ? "dark" : "light"))
.map(([, link]) => link);
const random = pool[Math.floor(Math.random() * pool.length)];
document.querySelector("#js-theme-stylesheet").href = random;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment