Force GitHub contribution graph variant

This style forces the GitHub contribution graph to be a specific variant, such as Halloween

2025-10-31 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

/* ==UserStyle== 
@name Force GitHub contribution graph variant
@version 1.1.3
@namespace charles25565
@license MIT
@preprocessor less
@var select variant "Variant" ["default", "halloween", "winter"]
@description This style forces the GitHub contribution graph to be a specific variant, such as Halloween
==/UserStyle== */

@-moz-document domain("github.com") {
    .normal-and-not-default() when not (@variant = default) {
      --contribution-default-bgColor-1: var(--contribution-@{variant}-bgColor-1) !important;
      --contribution-default-bgColor-2: var(--contribution-@{variant}-bgColor-2) !important;
      --contribution-default-bgColor-3: var(--contribution-@{variant}-bgColor-3) !important;
      --contribution-default-bgColor-4: var(--contribution-@{variant}-bgColor-4) !important;
    }

    .force-halloween-when-winter() when (@variant = halloween) {
      --contribution-winter-bgColor-1: var(--contribution-halloween-bgColor-1) !important;
      --contribution-winter-bgColor-2: var(--contribution-halloween-bgColor-2) !important;
      --contribution-winter-bgColor-3: var(--contribution-halloween-bgColor-3) !important;
      --contribution-winter-bgColor-4: var(--contribution-halloween-bgColor-4) !important;
    }

    .force-winter-when-halloween() when (@variant = winter) {
      --contribution-halloween-bgColor-1: var(--contribution-winter-bgColor-1) !important;
      --contribution-halloween-bgColor-2: var(--contribution-winter-bgColor-2) !important;
      --contribution-halloween-bgColor-3: var(--contribution-winter-bgColor-3) !important;
      --contribution-halloween-bgColor-4: var(--contribution-winter-bgColor-4) !important;
    }
    
    .force-default-always() when (@variant = default) {
      --contribution-halloween-bgColor-1: var(--contribution-default-bgColor-1) !important;
      --contribution-halloween-bgColor-2: var(--contribution-default-bgColor-2) !important;
      --contribution-halloween-bgColor-3: var(--contribution-default-bgColor-3) !important;
      --contribution-halloween-bgColor-4: var(--contribution-default-bgColor-4) !important;
      --contribution-winter-bgColor-1: var(--contribution-default-bgColor-1) !important;
      --contribution-winter-bgColor-2: var(--contribution-default-bgColor-2) !important;
      --contribution-winter-bgColor-3: var(--contribution-default-bgColor-3) !important;
      --contribution-winter-bgColor-4: var(--contribution-default-bgColor-4) !important;
    }

    .ContributionCalendar-day {
      .normal-and-not-default();
      .force-halloween-when-winter();
      .force-winter-when-halloween();
      .force-default-always();
    }

    span.Progress-item {
      background-color: #808080; /* Ideally we'd want to set the correct color of this too, but since it doesn't use CSS variables, we can't :( */
    }
    
    div.float-left > span.mr-1 {
      display: none; /* Ideally we'd want a better solution than hiding the "Happy Halloween!" text, but CSS can't add it accurately :( */
    }
}