diff --git a/README.md b/README.md index 35777b6..43fa497 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ # Gitea Blurple -## We have made a nice little script for you to install this. -## `wget -O gitea-blurple.sh https://sop.wtf/tpkauf && bash gitea-blurple.sh` \ No newline at end of file +It's a blurple theme for Gitea. diff --git a/gitea-blurple.sh b/gitea-blurple.sh deleted file mode 100644 index a690c84..0000000 --- a/gitea-blurple.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -log_message() { - local level=$1 - local message=$2 - local timestamp=$(date +"%Y-%m-%d %H:%M:%S") - echo "[$timestamp] [$level] $message" >> /var/log/gitea_blurple.log -} - -handle_error() { - local message=$1 - local level=${2:-"ERROR"} - log_message "$level" "$message" - echo "Error: $message" >&2 - exit 1 -} - -clone_repository() { - local retries=3 - local attempt=1 - until git clone https://git.oldgate.org/OGS/Gitea-Blurple.git; do - ((attempt++)) - if [ $attempt -gt $retries ]; then - handle_error "Failed to clone repository after $retries attempts" - fi - log_message "WARNING" "Failed to clone repository, retrying... (Attempt $attempt)" - sleep 5 - done -} - -backup_file() { - local file=$1 - if [ -e "$file" ]; then - cp "$file" "$file.bak" || handle_error "Failed to backup $file" - log_message "INFO" "Backup created for $file" - else - log_message "WARNING" "File $file does not exist, skipping backup" - fi -} - -append_to_file() { - local content=$1 - local file=$2 - echo "$content" >> "$file" || handle_error "Failed to append content to $file" -} - -main() { - local repository_dir="Gitea-Blurple" - local gitea_service="gitea" - local gitea_config="/etc/gitea/app.ini" - local custom_dir="/var/lib/gitea/custom" - local custom_public_dir="$custom_dir/public" - - cd /tmp || handle_error "Failed to change directory to /tmp" - clone_repository || handle_error "Failed to clone repository" - - sudo systemctl stop "$gitea_service" || handle_error "Failed to stop Gitea service" - - backup_file "$custom_public_dir" - - sudo cp -r "$repository_dir/public/" "$custom_public_dir" || handle_error "Failed to copy new custom/public directory" - - sudo chown -R git:git "$custom_dir" || handle_error "Failed to set ownership" - sudo chmod -R 750 "$custom_dir" || handle_error "Failed to set permissions" - - if grep -q "\[ui\]" "$gitea_config"; then - sudo systemctl restart "$gitea_service" || handle_error "Failed to restart Gitea service" - else - backup_file "$gitea_config" - append_to_file "$(cat "$repository_dir/templates/app.ini")" "$gitea_config" - sudo chown root:git "$gitea_config" || handle_error "Failed to set ownership for app.ini" - sudo chmod 770 "$gitea_config" || handle_error "Failed to set permissions for app.ini" - sudo systemctl restart "$gitea_service" || handle_error "Failed to restart Gitea service" - fi - - echo -e "==================================================================" - echo "Clear your cache for the changes to appear" - echo -e "==================================================================" - - log_message "INFO" "Script execution completed successfully" -} - -main diff --git a/public/assets/css/theme-blurple-dyslexia.css b/public/assets/css/theme-blurple-dyslexia.css index d985cb4..9bceedd 100644 --- a/public/assets/css/theme-blurple-dyslexia.css +++ b/public/assets/css/theme-blurple-dyslexia.css @@ -158,16 +158,18 @@ --color-grey: #505665; --color-grey-light: #8d919b; --color-gold: #b1983b; - --color-white: #fff; - --color-diff-removed-word-bg: #6f3333; - --color-diff-added-word-bg: #3c653c; - --color-diff-removed-row-bg: #3c2626; - --color-diff-moved-row-bg: #818044; - --color-diff-added-row-bg: #283e2d; - --color-diff-removed-row-border: #634343; - --color-diff-moved-row-border: #bcca6f; + --color-white: #ffffff; + --color-diff-added-linenum-bg: #274227; + --color-diff-added-row-bg: #203224; --color-diff-added-row-border: #314a37; - --color-diff-inactive: #353846; + --color-diff-added-word-bg: #3c653c; + --color-diff-moved-row-bg: #818044; + --color-diff-moved-row-border: #bcca6f; + --color-diff-removed-linenum-bg: #482121; + --color-diff-removed-row-bg: #301e1e; + --color-diff-removed-row-border: #634343; + --color-diff-removed-word-bg: #6f3333; + --color-diff-inactive: #22282d; --color-error-border: #a04141; --color-error-bg: #522; --color-error-bg-active: #744; @@ -212,44 +214,53 @@ --color-input-toggle-background: #454a57; --color-input-border: var(--color-secondary); --color-input-border-hover: var(--color-secondary-dark-1); - --color-header-wrapper: #202430; - --color-light: #00000028; - --color-light-mimic-enabled: rgba(0, 0, 0, calc(40/255*222/255/var(--opacity-disabled))); - --color-light-border: #ffffff28; - --color-hover: #ffffff10; - --color-active: #ffffff16; - --color-menu: #2e323e; - --color-card: #2e323e; - --color-markup-table-row: #ffffff06; - --color-markup-code-block: #ffffff0d; - --color-button: #353846; - --color-code-bg: #2a2e3a; - --color-code-sidebar-bg: #2e323e; - --color-shadow: #00000060; - --color-secondary-bg: #2a2e3a; - --color-text-focus: #fff; - --color-expand-button: #3c404d; - --color-placeholder-text: #6a737d; + --color-light: #00001728; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: #e8f3ff28; + --color-hover: #e8f3ff19; + --color-hover-opaque: #21252a; + --color-active: #e8f3ff24; + --color-menu: #2E323E; + --color-card: #2E323E; + --color-markup-table-row: #e8f3ff0f; + --color-markup-code-block: #e8f3ff12; + --color-markup-code-inline: #e8f3ff28; + --color-button: #2E323E; + --color-code-bg: #14171a; + --color-shadow: #00001758; + --color-shadow-opaque: #000017; + --color-secondary-bg: #2a3137; + --color-expand-button: #2f363d; + --color-placeholder-text: var(--color-text-light-3); --color-editor-line-highlight: var(--color-primary-light-5); - --color-project-board-bg: var(--color-secondary-light-2); + --color-project-column-bg: var(--color-secondary-light-2); --color-caret: var(--color-text); - --color-reaction-bg: #ffffff12; + --color-reaction-bg: #e8f3ff12; --color-reaction-hover-bg: var(--color-primary-light-4); --color-reaction-active-bg: var(--color-primary-light-5); - --color-tooltip-text: #fff; - --color-tooltip-bg: #000000f0; + --color-tooltip-text: #f9fafb; + --color-tooltip-bg: #000b17f0; --color-nav-bg: #232834; - --color-nav-hover-bg: #383c47; - --color-label-text: #dfe3ec; - --color-label-bg: #7c84974b; - --color-label-hover-bg: #7c8497a0; - --color-label-active-bg: #7c8497ff; + --color-nav-hover-bg: var(--color-secondary-light-1); + --color-nav-text: var(--color-text); + --color-secondary-nav-bg: #383C4A; + --color-label-text: var(--color-text); + --color-label-bg: #7282924b; + --color-label-hover-bg: #728292a0; + --color-label-active-bg: #728292ff; --color-accent: var(--color-primary-light-1); --color-small-accent: var(--color-primary-light-5); - --color-active-line: #534d1b; + --color-highlight-fg: #87651e; + --color-highlight-bg: #352c1c; --color-overlay-backdrop: #080808c0; accent-color: var(--color-accent); color-scheme: dark; + --color-diff-added-linenum-bg: #1979fd46; + --color-diff-added-row-bg: #1979fd20; + --color-diff-added-word-bg: #1979fd66; + --color-diff-removed-linenum-bg: #c8622146; + --color-diff-removed-row-bg: #c8622120; + --color-diff-removed-word-bg: #c8622166 ; } } /** @@ -517,26 +528,29 @@ DO NOT INCLUEDE ANY :root(s) IN THIS FILE!!! .CodeMirror.cm-s-paper .cm-error { color: #dbdbeb; } - .emoji[aria-label=check\ mark], - .emoji[aria-label=currency\ exchange], - .emoji[aria-label=TOP\ arrow], - .emoji[aria-label=END\ arrow], + gitea-theme-meta-info { + --theme-display-name: "Dark" ; + } + .emoji[aria-label="check mark"], + .emoji[aria-label="currency exchange"], + .emoji[aria-label="TOP arrow"], + .emoji[aria-label="END arrow"], .emoji[aria-label="ON! arrow"], - .emoji[aria-label=SOON\ arrow], + .emoji[aria-label="SOON arrow"], .emoji[aria-label="heavy dollar sign"], .emoji[aria-label=copyright], .emoji[aria-label=registered], - .emoji[aria-label=trade\ mark], + .emoji[aria-label="trade mark"], .emoji[aria-label=multiply], .emoji[aria-label=plus], .emoji[aria-label=minus], .emoji[aria-label=divide], - .emoji[aria-label=curly\ loop], + .emoji[aria-label="curly loop"], .emoji[aria-label="double curly loop"], - .emoji[aria-label=wavy\ dash], - .emoji[aria-label=paw\ prints], - .emoji[aria-label=musical\ note], - .emoji[aria-label=musical\ notes] { + .emoji[aria-label="wavy dash"], + .emoji[aria-label="paw prints"], + .emoji[aria-label="musical note"], + .emoji[aria-label="musical notes"] { filter: invert(100%) hue-rotate(180deg); } } \ No newline at end of file diff --git a/public/assets/css/theme-blurple.css b/public/assets/css/theme-blurple.css index 7e018c9..1ae64a9 100644 --- a/public/assets/css/theme-blurple.css +++ b/public/assets/css/theme-blurple.css @@ -133,16 +133,18 @@ --color-grey: #505665; --color-grey-light: #8d919b; --color-gold: #b1983b; - --color-white: #fff; - --color-diff-removed-word-bg: #6f3333; - --color-diff-added-word-bg: #3c653c; - --color-diff-removed-row-bg: #3c2626; - --color-diff-moved-row-bg: #818044; - --color-diff-added-row-bg: #283e2d; - --color-diff-removed-row-border: #634343; - --color-diff-moved-row-border: #bcca6f; + --color-white: #ffffff; + --color-diff-added-linenum-bg: #274227; + --color-diff-added-row-bg: #203224; --color-diff-added-row-border: #314a37; - --color-diff-inactive: #353846; + --color-diff-added-word-bg: #3c653c; + --color-diff-moved-row-bg: #818044; + --color-diff-moved-row-border: #bcca6f; + --color-diff-removed-linenum-bg: #482121; + --color-diff-removed-row-bg: #301e1e; + --color-diff-removed-row-border: #634343; + --color-diff-removed-word-bg: #6f3333; + --color-diff-inactive: #22282d; --color-error-border: #a04141; --color-error-bg: #522; --color-error-bg-active: #744; @@ -187,44 +189,53 @@ --color-input-toggle-background: #454a57; --color-input-border: var(--color-secondary); --color-input-border-hover: var(--color-secondary-dark-1); - --color-header-wrapper: #202430; - --color-light: #00000028; - --color-light-mimic-enabled: rgba(0, 0, 0, calc(40/255*222/255/var(--opacity-disabled))); - --color-light-border: #ffffff28; - --color-hover: #ffffff10; - --color-active: #ffffff16; - --color-menu: #2e323e; - --color-card: #2e323e; - --color-markup-table-row: #ffffff06; - --color-markup-code-block: #ffffff0d; - --color-button: #353846; - --color-code-bg: #2a2e3a; - --color-code-sidebar-bg: #2e323e; - --color-shadow: #00000060; - --color-secondary-bg: #2a2e3a; - --color-text-focus: #fff; - --color-expand-button: #3c404d; - --color-placeholder-text: #6a737d; + --color-light: #00001728; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: #e8f3ff28; + --color-hover: #e8f3ff19; + --color-hover-opaque: #21252a; + --color-active: #e8f3ff24; + --color-menu: #2E323E; + --color-card: #2E323E; + --color-markup-table-row: #e8f3ff0f; + --color-markup-code-block: #e8f3ff12; + --color-markup-code-inline: #e8f3ff28; + --color-button: #2E323E; + --color-code-bg: #14171a; + --color-shadow: #00001758; + --color-shadow-opaque: #000017; + --color-secondary-bg: #2a3137; + --color-expand-button: #2f363d; + --color-placeholder-text: var(--color-text-light-3); --color-editor-line-highlight: var(--color-primary-light-5); - --color-project-board-bg: var(--color-secondary-light-2); + --color-project-column-bg: var(--color-secondary-light-2); --color-caret: var(--color-text); - --color-reaction-bg: #ffffff12; + --color-reaction-bg: #e8f3ff12; --color-reaction-hover-bg: var(--color-primary-light-4); --color-reaction-active-bg: var(--color-primary-light-5); - --color-tooltip-text: #fff; - --color-tooltip-bg: #000000f0; + --color-tooltip-text: #f9fafb; + --color-tooltip-bg: #000b17f0; --color-nav-bg: #232834; - --color-nav-hover-bg: #383c47; - --color-label-text: #dfe3ec; - --color-label-bg: #7c84974b; - --color-label-hover-bg: #7c8497a0; - --color-label-active-bg: #7c8497ff; + --color-nav-hover-bg: var(--color-secondary-light-1); + --color-nav-text: var(--color-text); + --color-secondary-nav-bg: #383C4A; + --color-label-text: var(--color-text); + --color-label-bg: #7282924b; + --color-label-hover-bg: #728292a0; + --color-label-active-bg: #728292ff; --color-accent: var(--color-primary-light-1); --color-small-accent: var(--color-primary-light-5); - --color-active-line: #534d1b; + --color-highlight-fg: #87651e; + --color-highlight-bg: #352c1c; --color-overlay-backdrop: #080808c0; accent-color: var(--color-accent); color-scheme: dark; + --color-diff-added-linenum-bg: #1979fd46; + --color-diff-added-row-bg: #1979fd20; + --color-diff-added-word-bg: #1979fd66; + --color-diff-removed-linenum-bg: #c8622146; + --color-diff-removed-row-bg: #c8622120; + --color-diff-removed-word-bg: #c8622166 ; } } /** @@ -492,26 +503,29 @@ DO NOT INCLUEDE ANY :root(s) IN THIS FILE!!! .CodeMirror.cm-s-paper .cm-error { color: #dbdbeb; } - .emoji[aria-label=check\ mark], - .emoji[aria-label=currency\ exchange], - .emoji[aria-label=TOP\ arrow], - .emoji[aria-label=END\ arrow], + gitea-theme-meta-info { + --theme-display-name: "Dark" ; + } + .emoji[aria-label="check mark"], + .emoji[aria-label="currency exchange"], + .emoji[aria-label="TOP arrow"], + .emoji[aria-label="END arrow"], .emoji[aria-label="ON! arrow"], - .emoji[aria-label=SOON\ arrow], + .emoji[aria-label="SOON arrow"], .emoji[aria-label="heavy dollar sign"], .emoji[aria-label=copyright], .emoji[aria-label=registered], - .emoji[aria-label=trade\ mark], + .emoji[aria-label="trade mark"], .emoji[aria-label=multiply], .emoji[aria-label=plus], .emoji[aria-label=minus], .emoji[aria-label=divide], - .emoji[aria-label=curly\ loop], + .emoji[aria-label="curly loop"], .emoji[aria-label="double curly loop"], - .emoji[aria-label=wavy\ dash], - .emoji[aria-label=paw\ prints], - .emoji[aria-label=musical\ note], - .emoji[aria-label=musical\ notes] { + .emoji[aria-label="wavy dash"], + .emoji[aria-label="paw prints"], + .emoji[aria-label="musical note"], + .emoji[aria-label="musical notes"] { filter: invert(100%) hue-rotate(180deg); } } \ No newline at end of file diff --git a/templates/app.ini b/templates/app.ini index cb1079a..64815ed 100644 --- a/templates/app.ini +++ b/templates/app.ini @@ -1,3 +1,4 @@ [ui] -DEFAULT_THEME = blurple -THEMES = blurple,blurple-dyslexia,gitea,arc-green \ No newline at end of file +THEME_COLOR_META_TAG = "#7289DA" +DEFAULT_THEME = blurple +THEMES = blurple,blurple-dyslexia,gitea-auto-protanopia-deuteranopia,gitea-dark-protanopia-deuteranopia,gitea-light,gitea-light-protanopia-deuteranopia \ No newline at end of file diff --git a/templates/scss/partials/_blurple_roots.scss b/templates/scss/partials/_blurple_roots.scss index 67ae1f7..86dfb4a 100644 --- a/templates/scss/partials/_blurple_roots.scss +++ b/templates/scss/partials/_blurple_roots.scss @@ -133,16 +133,18 @@ --color-grey: #505665; --color-grey-light: #8d919b; --color-gold: #b1983b; - --color-white: #fff; - --color-diff-removed-word-bg: #6f3333; - --color-diff-added-word-bg: #3c653c; - --color-diff-removed-row-bg: #3c2626; - --color-diff-moved-row-bg: #818044; - --color-diff-added-row-bg: #283e2d; - --color-diff-removed-row-border: #634343; - --color-diff-moved-row-border: #bcca6f; + --color-white: #ffffff; + --color-diff-added-linenum-bg: #274227; + --color-diff-added-row-bg: #203224; --color-diff-added-row-border: #314a37; - --color-diff-inactive: #353846; + --color-diff-added-word-bg: #3c653c; + --color-diff-moved-row-bg: #818044; + --color-diff-moved-row-border: #bcca6f; + --color-diff-removed-linenum-bg: #482121; + --color-diff-removed-row-bg: #301e1e; + --color-diff-removed-row-border: #634343; + --color-diff-removed-word-bg: #6f3333; + --color-diff-inactive: #22282d; --color-error-border: #a04141; --color-error-bg: #522; --color-error-bg-active: #744; @@ -187,43 +189,52 @@ --color-input-toggle-background: #454a57; --color-input-border: var(--color-secondary); --color-input-border-hover: var(--color-secondary-dark-1); - --color-header-wrapper: #202430; - --color-light: #00000028; - --color-light-mimic-enabled: rgba(0, 0, 0, calc(40/255*222/255/var(--opacity-disabled))); - --color-light-border: #ffffff28; - --color-hover: #ffffff10; - --color-active: #ffffff16; - --color-menu: #2e323e; - --color-card: #2e323e; - --color-markup-table-row: #ffffff06; - --color-markup-code-block: #ffffff0d; - --color-button: #353846; - --color-code-bg: #2a2e3a; - --color-code-sidebar-bg: #2e323e; - --color-shadow: #00000060; - --color-secondary-bg: #2a2e3a; - --color-text-focus: #fff; - --color-expand-button: #3c404d; - --color-placeholder-text: #6a737d; + --color-light: #00001728; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: #e8f3ff28; + --color-hover: #e8f3ff19; + --color-hover-opaque: #21252a; + --color-active: #e8f3ff24; + --color-menu: #2E323E; + --color-card: #2E323E; + --color-markup-table-row: #e8f3ff0f; + --color-markup-code-block: #e8f3ff12; + --color-markup-code-inline: #e8f3ff28; + --color-button: #2E323E; + --color-code-bg: #14171a; + --color-shadow: #00001758; + --color-shadow-opaque: #000017; + --color-secondary-bg: #2a3137; + --color-expand-button: #2f363d; + --color-placeholder-text: var(--color-text-light-3); --color-editor-line-highlight: var(--color-primary-light-5); - --color-project-board-bg: var(--color-secondary-light-2); + --color-project-column-bg: var(--color-secondary-light-2); --color-caret: var(--color-text); - --color-reaction-bg: #ffffff12; + --color-reaction-bg: #e8f3ff12; --color-reaction-hover-bg: var(--color-primary-light-4); --color-reaction-active-bg: var(--color-primary-light-5); - --color-tooltip-text: #fff; - --color-tooltip-bg: #000000f0; + --color-tooltip-text: #f9fafb; + --color-tooltip-bg: #000b17f0; --color-nav-bg: #232834; - --color-nav-hover-bg: #383c47; - --color-label-text: #dfe3ec; - --color-label-bg: #7c84974b; - --color-label-hover-bg: #7c8497a0; - --color-label-active-bg: #7c8497ff; + --color-nav-hover-bg: var(--color-secondary-light-1); + --color-nav-text: var(--color-text); + --color-secondary-nav-bg: #383C4A; + --color-label-text: var(--color-text); + --color-label-bg: #7282924b; + --color-label-hover-bg: #728292a0; + --color-label-active-bg: #728292ff; --color-accent: var(--color-primary-light-1); --color-small-accent: var(--color-primary-light-5); - --color-active-line: #534d1b; + --color-highlight-fg: #87651e; + --color-highlight-bg: #352c1c; --color-overlay-backdrop: #080808c0; accent-color: var(--color-accent); - color-scheme: dark + color-scheme: dark; + --color-diff-added-linenum-bg: #1979fd46; + --color-diff-added-row-bg: #1979fd20; + --color-diff-added-word-bg: #1979fd66; + --color-diff-removed-linenum-bg: #c8622146; + --color-diff-removed-row-bg: #c8622120; + --color-diff-removed-word-bg: #c8622166 } } \ No newline at end of file diff --git a/templates/scss/partials/_theme_blurple.scss b/templates/scss/partials/_theme_blurple.scss index d05660b..c1a168d 100644 --- a/templates/scss/partials/_theme_blurple.scss +++ b/templates/scss/partials/_theme_blurple.scss @@ -337,26 +337,30 @@ DO NOT INCLUEDE ANY :root(s) IN THIS FILE!!! color: #dbdbeb } - .emoji[aria-label=check\ mark], - .emoji[aria-label=currency\ exchange], - .emoji[aria-label=TOP\ arrow], - .emoji[aria-label=END\ arrow], + gitea-theme-meta-info { + --theme-display-name: "Dark" + } + + .emoji[aria-label="check mark"], + .emoji[aria-label="currency exchange"], + .emoji[aria-label="TOP arrow"], + .emoji[aria-label="END arrow"], .emoji[aria-label="ON! arrow"], - .emoji[aria-label=SOON\ arrow], + .emoji[aria-label="SOON arrow"], .emoji[aria-label="heavy dollar sign"], .emoji[aria-label=copyright], .emoji[aria-label=registered], - .emoji[aria-label=trade\ mark], + .emoji[aria-label="trade mark"], .emoji[aria-label=multiply], .emoji[aria-label=plus], .emoji[aria-label=minus], .emoji[aria-label=divide], - .emoji[aria-label=curly\ loop], + .emoji[aria-label="curly loop"], .emoji[aria-label="double curly loop"], - .emoji[aria-label=wavy\ dash], - .emoji[aria-label=paw\ prints], - .emoji[aria-label=musical\ note], - .emoji[aria-label=musical\ notes] { - filter: invert(100%)hue-rotate(180deg) - } + .emoji[aria-label="wavy dash"], + .emoji[aria-label="paw prints"], + .emoji[aria-label="musical note"], + .emoji[aria-label="musical notes"] { + filter: invert(100%) hue-rotate(180deg) + } } \ No newline at end of file