From 6549ffa258034d6409ea449a1bd3226573a9ab27 Mon Sep 17 00:00:00 2001 From: deathbybandaid Date: Tue, 21 Sep 2021 17:46:29 +0000 Subject: [PATCH] Upload files to '' --- LICENSE | 42 +-- index.html | 1007 ++++++++++++++++++++++++++++----------------------- themes.json | 402 ++++++++++++++++++++ themes.py | 108 ++++++ 4 files changed, 1087 insertions(+), 472 deletions(-) create mode 100644 themes.json create mode 100644 themes.py diff --git a/LICENSE b/LICENSE index ca9c873a..7aad90b3 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2019 GilbN - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +MIT License + +Copyright (c) 2019 GilbN + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/index.html b/index.html index eca056ad..f1e20abf 100644 --- a/index.html +++ b/index.html @@ -1,451 +1,556 @@ - - - - - - - - - theme.park - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Custom themes for your favorite apps!

-
-
-
-

A collection of themes/skins for over 45 selfhosted - apps! -

- Find Out More -
-
-
-
- -
-
-
-
-

Over 45 themed apps

-
-

theme.park contains 47 themed applications, with css addons on certain themes.

-

Installation methods include custom docker mods - for linuxserver.io containers,

-

custom scripts for select Hotio - containers - and multiple examples of subfiltering using webservers like Nginx and Apache

- Get Started! -
- -
-
- -
- -
-
-

How to get started

-
-
-
-
- -

Theme Docs

-

Head over to the documentation page for more information on each - theme!

-
-
-
-
- -

Find us on Github

-

Having issues with a theme? Let us know on Github!

-
-
-
-
- -

Discord Community

-

Need live support? Head over to our Discord server!

-
-
-
-
- -

Made with Love

-

Is it really open source if it's not made with love?

-
-
-
-
-
- -
- -
- - - - - - - - - - - - - - - + + + + + + + + + theme.park + + + + + + + + + + + + + + + + + + + + +
+
+
+
+

Custom themes for your favorite apps!

+
+
+
+

A collection of themes/skins for over 40 selfhosted + apps! +

+ Find Out More +
+
+
+
+ +
+
+
+
+

Over 40 themed applications!

+
+

theme.park contains 45 themed applications, with css addons on certain themes.

+

Installation methods include custom docker mods + for linuxserver.io containers,

+

custom scripts for select Hotio + containers + and multiple examples of subfiltering using webservers like Nginx and Apache

+

Choose between 9 different + styles! With the possibility to easily create your own themes using the defined variables.

+ Get Started! +
+ +
+
+ +
+ +
+
+

How to get started

+
+
+
+
+ +

Theme Docs

+

Head over to the documentation page for more information on each + theme!

+
+
+
+
+ +

Find us on Github

+

Having issues with a theme? Let us know on Github!

+
+
+
+
+ +

Discord Community

+

Need live support? Head over to our Discord server!

+
+
+
+
+ +

Community Themes!

+

Got a good color scheme you'd like to see added? PR it!

+
+
+
+
+ +

Made with Love

+

Is it really open source if it's not made with love?

+
+
+
+
+
+ +
+
+

Available theme options

+
+
+
+
+ +
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes.json b/themes.json new file mode 100644 index 00000000..b2adb9e8 --- /dev/null +++ b/themes.json @@ -0,0 +1,402 @@ +{ + "applications": { + "moviematch": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/moviematch/moviematch-base.css?sha=ce16cf06ce7007810a4077316303abbb790c3c55", + "addons": {} + }, + "lazylibrarian": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/lazylibrarian/lazylibrarian-base.css?sha=addaa5fd6fce97b0fb8729480a3897674aa73f7a", + "addons": {} + }, + "logarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/logarr/logarr-base.css?sha=8adf9708cc47be777c3d83754c2a9c0866800e26", + "addons": {} + }, + "uptime-kuma": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/uptime-kuma/uptime-kuma-base.css?sha=bcf38b9b623836dce7277446a02cbb40cd670a55", + "addons": {} + }, + "prowlarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/prowlarr/prowlarr-base.css?sha=bcd4651e697f670e336654dfbe1289a5de29f942", + "addons": { + "prowlarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/prowlarr/prowlarr-darker/prowlarr-darker.css?sha=5b36960c9c385ae5f40b22919af1ad93d581afdc" + } + }, + "webtools": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/webtools/webtools-base.css?sha=2f9297f922e16d469f4077e0e4f687046bec8168", + "addons": {} + }, + "bitwarden": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/bitwarden/bitwarden-base.css?sha=3a40abf5a37026cf993526040ce09e7e27024050", + "addons": {} + }, + "resilio-sync": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/resilio-sync/resilio-sync-base.css?sha=d86f22aef07e66485e297735e5943cfbb21382b1", + "addons": {} + }, + "organizr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/organizr/organizr-base.css?sha=5ddcc53663879d0efa099b392da9519a1c6af381", + "addons": { + "glass": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/organizr/glass/glass-base.css?sha=056e0c4e097462b9d0ef236f40dde99453c332fa", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/organizr/glass/glass-login.css?sha=0200383709509139874da6540d8a7fc07030f172" + ] + } + } + }, + "deluge": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/deluge/deluge-base.css?sha=89331d30f04a3988ebcb42d8404d26954778afe0", + "addons": {} + }, + "flood": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/flood/flood-base.css?sha=c63f5330ca711d9769f51ce7259673f6a81f4d28", + "addons": {} + }, + "rutorrent": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/rutorrent/rutorrent-base.css?sha=0305f651d4ca24f9aaa13d49689e9540e15d6c2f", + "addons": {} + }, + "sonarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/sonarr/sonarr-base.css?sha=68c17914289e7ec4036fe94a40dbaea648c61a32", + "addons": { + "sonarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/sonarr/sonarr-darker/sonarr-darker.css?sha=b1eb1ff0827684361ad596fb49baa6362cc23036", + "sonarr-4k-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/sonarr/sonarr-4k-logo/sonarr-4k-logo.css?sha=0f0f47f170531ab1020c6211f4610e9f96c19395" + } + }, + "ombi": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/ombi/ombi-base.css?sha=c6bd6a4e5989433989a43828da761e1dc829d77a", + "addons": {} + }, + "netdata": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/netdata/netdata-base.css?sha=1946f5e6b338abda98a3617632f3f7bd14a8bae4", + "addons": {} + }, + "vuetorrent": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/vuetorrent/vuetorrent-base.css?sha=15b70559a57ea5f334728b9b11425da26614814b", + "addons": {} + }, + "unraid": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/unraid/unraid-base.css?sha=3d449282bc91581b13f580bde41fd50958b884af", + "addons": { + "login-page": { + "fallout": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/dirty_terminal2.css?sha=09ab0765e89df3081abfa3229d725884cc44f7ef", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/custom.css?sha=a2f4b06d3816bf875f861b12d7f07252c2862d82", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/dirty_terminal.css?sha=1f318dd614edb2a2cd3f5fb1dbdb04cd412af9d1", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/fallout_video.css?sha=ad5db68decc504f5b920f19d65481322c97b4db3", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/terminal.css?sha=8d924fbaba139bef37c1156c3c5b32ba959bb3a5", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/fallout_base.css?sha=3a79171bff7252461e4ff5e76b507640bffcf5e1", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/terminal2.css?sha=0cdbad30781b4e56b3ed7db820a7c1e8d9da2627" + ] + }, + "retro-terminal": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/white.css?sha=7616e7d06646356a0d99b3c7cd7db8fbd5cfe94d", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/retro-terminal-base.css?sha=860f370f1b8e25b26ab9bc45a73632de58c799ce", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/custom.css?sha=a2f4b06d3816bf875f861b12d7f07252c2862d82", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/red.css?sha=7d250ac647db0ade37a389f59a295213d6d286b1", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/green.css?sha=5fa51725eccdeb604387b5d9078325c7419b06ec", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/amber.css?sha=ce3d2ec61e4d228dbf369eb9892fe4ba59814303", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/blue.css?sha=11ba12dd12e7079ac6c48805db70dec0a8fe751e" + ] + }, + "alien": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/alien_base.css?sha=7e310e223692a1169d19ad0eec747488ece7ca4e", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway4.css?sha=f747496cb1de0be4f39710bb1ee245602d6446a4", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/nightmare.css?sha=a75b65cad0455b260b1e6209b23ffc2389615b2a", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway.css?sha=a0724cde5e5afaddb956eba76523dccef9515f91", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway3.css?sha=85719c35385fb0589d5a18a86b6c519cbaf1f220", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/isolation_video.css?sha=7f1f89ab6d60182910b4ecf5b162057742f2b5a0", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway2.css?sha=38ec4a1aa6c275d67c0c1ce35d79ca52027eb545", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/isolation.css?sha=0417009581d1933ada92ba746db761f9496d8774", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/custom.css?sha=a2f4b06d3816bf875f861b12d7f07252c2862d82", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/scanner.css?sha=73f97cb8aac3a4f3c0894e404ce7c9ef7b0c17b8" + ] + } + } + } + }, + "xbackbone": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/xbackbone/xbackbone-base.css?sha=bd6ab5680a088afc78747b7e90323daac96986a1", + "addons": {} + }, + "duplicacy": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/duplicacy/duplicacy-base.css?sha=00a671f67fde4f1f50308c283dbb29ff7c67965b", + "addons": {} + }, + "petio": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/petio/petio-base.css?sha=98fe48edde91b9f8714918d9f6f63ea3c148dc49", + "addons": {} + }, + "gaps": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/gaps/gaps-base.css?sha=a7bd7773f6be5ba45f092b3a8e2bc3da809359b3", + "addons": {} + }, + "calibreweb": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/calibreweb/calibreweb-base.css?sha=1a2ed7e841069a1fa84616fb2aa66822a9f322f2", + "addons": {} + }, + "lidarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/lidarr/lidarr-base.css?sha=7b465f6ce5761682d5d70b6a3048cf612fb65b03", + "addons": { + "lidarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/lidarr/lidarr-darker/lidarr-darker.css?sha=fc479d221c05b5232d720f1c32d9cb1717f7b60b" + } + }, + "gitea": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/gitea/gitea-base.css?sha=b333aea4e550afb6ba1532f26d3fa26edd0116d4", + "addons": {} + }, + "plpp": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/plpp/plpp-base.css?sha=eb81cc7a36197d253ac833b9c544a87ff7e50baf", + "addons": {} + }, + "librespeed": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/librespeed/librespeed-base.css?sha=880784b97872cf34ceb2689ec8e3d2534908c4fd", + "addons": {} + }, + "nzbget": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/nzbget/nzbget-base.css?sha=ad3517abd49ab7313d754a77f2a61162f2872bf7", + "addons": {} + }, + "tautulli": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/tautulli/tautulli-base.css?sha=00901e8d86a6bc1e3f5348bba0167af2c412603d", + "addons": {} + }, + "grafana": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/grafana/grafana-base.css?sha=337e80575b9634e3058de8eaf6367816b7827fa5", + "addons": {} + }, + "filebrowser": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/filebrowser/filebrowser-base.css?sha=a4dd3a49bb749bd819e8bdc2a3f202a121626cb0", + "addons": {} + }, + "transmission": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/transmission/transmission-base.css?sha=988de2341b35e9830e0c32e3633b37a89b63d538", + "addons": {} + }, + "thelounge": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/thelounge/thelounge-base.css?sha=efb54f17c4d381e7566f5b44017b8e4eb17754a8", + "addons": {} + }, + "emby": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/emby/emby-base.css?sha=f41f2a0ee94c353ae470912e4af4b599434293c1", + "addons": {} + }, + "bazarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/bazarr/bazarr-base.css?sha=b5b5ad3a8ed18b2fa6c0cea8fc46d6dd75d8bed9", + "addons": { + "bazarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/bazarr/bazarr-darker/bazarr-darker.css?sha=29ece53bbee1995e502f54eda3bfb166448918bd", + "bazarr-4k-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/bazarr/bazarr-4k-logo/bazarr-4k-logo.css?sha=81c8e54d0ba80c741f0f3168892c5fd8111e9bbb" + } + }, + "plex": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/plex/plex-base.css?sha=54866b7b853135e6762653b60f93f519289345d2", + "addons": { + "overseerr-side-menu": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/plex/overseerr-side-menu/overseerr-side-menu.css?sha=b14fcec4d4226f766e3f3931b073b4b45ea416ff", + "plex-alt-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/plex/plex-alt-logo/plex-alt-logo.css?sha=3e9bc7c76e836f8eb335431058241fe49906aa8f" + } + }, + "monitorr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/monitorr/monitorr-base.css?sha=04fe97f2fb536ded9c23dbc52813f74f9ed4e5b2", + "addons": {} + }, + "jackett": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/jackett/jackett-base.css?sha=da57858a0806974e652a41ad730d0d153575d75c", + "addons": {} + }, + "guacamole": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/guacamole/guacamole-base.css?sha=dbcdb8516d0c245edc0a8dff22e763ae90f0b16c", + "addons": {} + }, + "pihole": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/pihole/pihole-base.css?sha=1d5290da2a5cf98fe5b63da558336036883775f7", + "addons": {} + }, + "readarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/readarr/readarr-base.css?sha=cbdaeb841bc34531698f30739d6b32f98029cb99", + "addons": { + "readarr-alt-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/readarr/readarr-alt-logo/readarr-alt-logo.css?sha=ca63018567194349619240a1257fcccd52fa4827", + "readarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/readarr/readarr-darker/readarr-darker.css?sha=415a258cc9d1e40bf094f6f20350225c06120825" + } + }, + "requestrr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/requestrr/requestrr-base.css?sha=06aac76f7132b12eeb8ae6ec0ed38aece480791d", + "addons": {} + }, + "dozzle": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/dozzle/dozzle-base.css?sha=c109aa34f0087e46b115d5ad0f80cbabca231c95", + "addons": {} + }, + "jellyfin": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/jellyfin/jellyfin-base.css?sha=d2cbca28a9cd542f40dace2cf5eacc58b4b77479", + "addons": {} + }, + "portainer": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/portainer/portainer-base.css?sha=5e6a400db0677dff26a75f2d4c55136c746e441a", + "addons": {} + }, + "qbittorrent": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/qbittorrent/qbittorrent-base.css?sha=5b7b5aa50c4474d74128694512a38a8aa054c610", + "addons": {} + }, + "sabnzbd": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/sabnzbd/sabnzbd-base.css?sha=82b95d7f894b86088ae69f47ca9253b447d155ef", + "addons": {} + }, + "adguard": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/adguard/adguard-base.css?sha=179fda81ddf0007fe063e4324a3e314de7551c29", + "addons": {} + }, + "nzbhydra2": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/nzbhydra2/nzbhydra2-base.css?sha=a3129d59147064229dda312179908e6431b32620", + "addons": {} + }, + "kitana": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/kitana/kitana-base.css?sha=08b2376a93e373c37bbc77c974f8881bad762a9d", + "addons": {} + }, + "synclounge": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/synclounge/synclounge-base.css?sha=14434e2cb3dfeb726226a5a8c2d2adf81e7bbd43", + "addons": {} + }, + "radarr": { + "base_css": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/themes/radarr/radarr-base.css?sha=93373eb0c5cd67fbe7f601d6c5e0dcc4d37b2b91", + "addons": { + "radarr-4k-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/radarr/radarr-4k-logo/radarr-4k-logo.css?sha=bedc13f37e392d0b17a4443c88a64ca76dff9b1a", + "radarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/radarr/radarr-darker/radarr-darker.css?sha=317432984f97518011463ef62af84b04420e524d" + } + } + }, + "addons": { + "prowlarr": { + "prowlarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/prowlarr/prowlarr-darker/prowlarr-darker.css?sha=5b36960c9c385ae5f40b22919af1ad93d581afdc" + }, + "organizr": { + "glass": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/organizr/glass/glass-base.css?sha=056e0c4e097462b9d0ef236f40dde99453c332fa", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/organizr/glass/glass-login.css?sha=0200383709509139874da6540d8a7fc07030f172" + ] + } + }, + "sonarr": { + "sonarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/sonarr/sonarr-darker/sonarr-darker.css?sha=b1eb1ff0827684361ad596fb49baa6362cc23036", + "sonarr-4k-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/sonarr/sonarr-4k-logo/sonarr-4k-logo.css?sha=0f0f47f170531ab1020c6211f4610e9f96c19395" + }, + "unraid": { + "login-page": { + "fallout": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/dirty_terminal2.css?sha=09ab0765e89df3081abfa3229d725884cc44f7ef", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/custom.css?sha=a2f4b06d3816bf875f861b12d7f07252c2862d82", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/dirty_terminal.css?sha=1f318dd614edb2a2cd3f5fb1dbdb04cd412af9d1", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/fallout_video.css?sha=ad5db68decc504f5b920f19d65481322c97b4db3", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/terminal.css?sha=8d924fbaba139bef37c1156c3c5b32ba959bb3a5", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/fallout_base.css?sha=3a79171bff7252461e4ff5e76b507640bffcf5e1", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/fallout/terminal2.css?sha=0cdbad30781b4e56b3ed7db820a7c1e8d9da2627" + ] + }, + "retro-terminal": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/white.css?sha=7616e7d06646356a0d99b3c7cd7db8fbd5cfe94d", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/retro-terminal-base.css?sha=860f370f1b8e25b26ab9bc45a73632de58c799ce", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/custom.css?sha=a2f4b06d3816bf875f861b12d7f07252c2862d82", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/red.css?sha=7d250ac647db0ade37a389f59a295213d6d286b1", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/green.css?sha=5fa51725eccdeb604387b5d9078325c7419b06ec", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/amber.css?sha=ce3d2ec61e4d228dbf369eb9892fe4ba59814303", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/retro-terminal/blue.css?sha=11ba12dd12e7079ac6c48805db70dec0a8fe751e" + ] + }, + "alien": { + "css": [ + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/alien_base.css?sha=7e310e223692a1169d19ad0eec747488ece7ca4e", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway4.css?sha=f747496cb1de0be4f39710bb1ee245602d6446a4", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/nightmare.css?sha=a75b65cad0455b260b1e6209b23ffc2389615b2a", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway.css?sha=a0724cde5e5afaddb956eba76523dccef9515f91", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway3.css?sha=85719c35385fb0589d5a18a86b6c519cbaf1f220", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/isolation_video.css?sha=7f1f89ab6d60182910b4ecf5b162057742f2b5a0", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/hallway2.css?sha=38ec4a1aa6c275d67c0c1ce35d79ca52027eb545", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/isolation.css?sha=0417009581d1933ada92ba746db761f9496d8774", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/custom.css?sha=a2f4b06d3816bf875f861b12d7f07252c2862d82", + "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/unraid/login-page/alien/scanner.css?sha=73f97cb8aac3a4f3c0894e404ce7c9ef7b0c17b8" + ] + } + } + }, + "lidarr": { + "lidarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/lidarr/lidarr-darker/lidarr-darker.css?sha=fc479d221c05b5232d720f1c32d9cb1717f7b60b" + }, + "bazarr": { + "bazarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/bazarr/bazarr-darker/bazarr-darker.css?sha=29ece53bbee1995e502f54eda3bfb166448918bd", + "bazarr-4k-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/bazarr/bazarr-4k-logo/bazarr-4k-logo.css?sha=81c8e54d0ba80c741f0f3168892c5fd8111e9bbb" + }, + "plex": { + "overseerr-side-menu": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/plex/overseerr-side-menu/overseerr-side-menu.css?sha=b14fcec4d4226f766e3f3931b073b4b45ea416ff", + "plex-alt-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/plex/plex-alt-logo/plex-alt-logo.css?sha=3e9bc7c76e836f8eb335431058241fe49906aa8f" + }, + "readarr": { + "readarr-alt-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/readarr/readarr-alt-logo/readarr-alt-logo.css?sha=ca63018567194349619240a1257fcccd52fa4827", + "readarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/readarr/readarr-darker/readarr-darker.css?sha=415a258cc9d1e40bf094f6f20350225c06120825" + }, + "radarr": { + "radarr-4k-logo": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/radarr/radarr-4k-logo/radarr-4k-logo.css?sha=bedc13f37e392d0b17a4443c88a64ca76dff9b1a", + "radarr-darker": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/addons/radarr/radarr-darker/radarr-darker.css?sha=317432984f97518011463ef62af84b04420e524d" + } + }, + "themes": { + "Soul": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/soul.css?sha=1ce095e4b03920af4bbd70b6fa8776614b3536db" + }, + "Overseerr": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/overseerr.css?sha=7e3a8e3ca21dd82641113cf53f071a89252c7235" + }, + "Dark": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/dark.css?sha=dc21605e303d094fed0564a15fb983d81bcd33dd" + }, + "Hotpink": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/hotpink.css?sha=55999afb133b62cdc067c1ce91b6dc9bd9b10102" + }, + "Mind": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/mind.css?sha=7e39faa6f0b23f9be3e920a8edffcf600e5e555c" + }, + "Space-gray": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/space-gray.css?sha=566e5616a8e48be2d0670d3f4d1ce106d2616ea2" + }, + "Hotline": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/hotline.css?sha=e027feaeea0f623144af4c45b61e332a0757f5fb" + }, + "Space": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/space.css?sha=cbd0b8beca2a4afe74d1daf4ade332d3f842ee96" + }, + "Organizr-dark": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/organizr-dark.css?sha=6d9165e0b0208ccabd404bded0e5570c7cf129e1" + }, + "Power": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/power.css?sha=d1be419eb6a4ae18102794ea0445f89eb2bd3734" + }, + "Dracula": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/dracula.css?sha=5abf85508d87243007cf5f4fda34a60340583466" + }, + "Plex": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/plex.css?sha=54a3677e798eb4d7fe331fd0887894b9b19e8978" + }, + "Aquamarine": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/aquamarine.css?sha=5cdf3f13a57669f3732b64a7573580bcaa9ac6fc" + }, + "Reality": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/reality.css?sha=2a5c00f303bdc8ec33f9c0f250bd03779257e504" + }, + "Onedark": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/onedark.css?sha=cbccbf4366ab59bd2b9253c221b1f093c2e85118" + }, + "Hotline-old": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/hotline-old.css?sha=73fce8f3f316c64b864e8b0502de0005f3883df4" + }, + "Time": { + "url": "https://htpc.deathbybandaid.net/assets/theme.park/CSS/variables/time.css?sha=d7dd3e5ff6601ac1325218a24dc0f49944aa9a61" + } + } +} \ No newline at end of file diff --git a/themes.py b/themes.py new file mode 100644 index 00000000..32d4a207 --- /dev/null +++ b/themes.py @@ -0,0 +1,108 @@ +from os import listdir +from os.path import isdir, isfile, join +from json import dump, dumps, loads +import subprocess + + +def get_shas(output): + """Returns a dict of CSS files and SHAs""" + output_lines = output.splitlines() + sha_dict = {} + for line in output_lines: + line = line.decode('utf-8').replace("\t", "").split(" ") + sha = line[1] + css_file = [file for file in line[2].split("/") if "css" in file][0] + sha_dict.update({css_file: sha}) + return(sha_dict) + + +def create_addons_json(): + addon_shas = subprocess.check_output( + ["git", "ls-files", "-s", "./CSS/addons/*.css"]) + SHAS = get_shas(addon_shas) + ADDONS = {"addons": {}} + addon_root = './CSS/addons' + addon_folders = [name for name in listdir( + addon_root) if isdir(join(addon_root, name))] + for app in addon_folders: + app_addons = [addon for addon in listdir(f"{addon_root}/{app}")] + ADDONS["addons"].update({ + app: { + addon: {} for addon in app_addons + } + }) + for addon in app_addons: + files = [file for file in listdir( + f"{addon_root}/{app}/{addon}") if isfile(join(f"{addon_root}/{app}/{addon}", file))] + if len([f for f in files if f.endswith('.css')]) > 1: + ADDONS["addons"][app][addon].update({ + "css": [f"https://{DOMAIN}/CSS/addons/{app}/{addon}/{file}?sha={SHAS.get(file)}" for file in files if file.split(".")[1] == "css"] + } + ) + else: + ADDONS["addons"][app].update({ + addon: f"https://{DOMAIN}/CSS/addons/{app}/{addon}/{file}?sha={SHAS.get(file)}" for file in files if file.split(".")[1] == "css" + } + ) + extra_dirs = [dir for dir in listdir( + f"{addon_root}/{app}/{addon}") if isdir(join(f"{addon_root}/{app}/{addon}", dir))] + if extra_dirs: + for dir in extra_dirs: + extra_dir_files = [file for file in listdir( + f"{addon_root}/{app}/{addon}/{dir}") if isfile(join(f"{addon_root}/{app}/{addon}/{dir}", file))] + ADDONS["addons"][app][addon].update({ + dir: { + "css": [f"https://{DOMAIN}/CSS/addons/{app}/{addon}/{dir}/{extra_file}?sha={SHAS.get(extra_file)}" for extra_file in extra_dir_files if extra_file.split(".")[1] == "css"] + } + } + ) + return dumps(ADDONS) + + +def create_json(app_folders: list = None, themes: list = None, no_sub_folders=False): + if no_sub_folders: + THEMES = {} + theme_shas = subprocess.check_output( + ["git", "ls-files", "-s", "./CSS/variables/*.css"]) + SHAS = get_shas(theme_shas) + for theme in themes: + THEMES.update({ + "themes": { + theme.split(".")[0].capitalize(): { + "url": f"https://{DOMAIN}/CSS/variables/{theme}?sha={SHAS.get(theme)}" + }for theme in themes + } + }) + return dumps(THEMES) + else: + ADDONS = loads(create_addons_json()) + APPS = {"applications": {}} + app_shas = subprocess.check_output( + ["git", "ls-files", "-s", "./CSS/themes/*base.css"]) + SHAS = get_shas(app_shas) + for app in app_folders: + APPS.update({ + "applications": { + app: { + "base_css": f"https://{DOMAIN}/CSS/themes/{app}/{app}-base.css?sha={SHAS.get(f'{app}-base.css')}", + "addons": ADDONS["addons"][app] if app in ADDONS["addons"] else {} + } for app in app_folders + } + } + ) + THEMES = loads(create_json(themes=themes, no_sub_folders=True)) + APPS.update(ADDONS) + APPS.update(THEMES) + return dumps(APPS) + + +if __name__ == "__main__": + app_folders = [name for name in listdir( + './CSS/themes') if isdir(join('./CSS/themes', name))] + themes = [name for name in listdir( + './CSS/variables') if isfile(join('./CSS/variables', name))] + DOMAIN = open("CNAME", "rt", closefd=True).readline() + apps = loads(create_json(app_folders, themes)) + + with open("themes.json", "w") as outfile: + dump(apps, outfile, indent=2)