Gradescope Dark Mode

Invert color of PDF viewer. Adjust brightness via -/+ keys.

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

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

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

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

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

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

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

Advertisement:

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

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

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

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

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

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

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

Advertisement:

// ==UserScript==
// @name         Gradescope Dark Mode
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Invert color of PDF viewer. Adjust brightness via -/+ keys.
// @author       Erik Demaine
// @match        https://www.gradescope.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gradescope.com
// @grant        none
// @license      MIT
// @website      https://github.com/edemaine/dark-monkey
// ==/UserScript==

(function() {
    let brightness = 1;
    const style = document.createElement('style');
    style.type = 'text/css';
    document.head.appendChild(style);

    const update = () => style.innerText = `.pv--viewer img { filter: invert(1) hue-rotate(180deg) brightness(${brightness}) }`;
    update();

    window.addEventListener('keydown', (e) => {
        if (e.key === '+' || e.key === '=') {
            brightness += 0.1;
            update();
        } else if (e.key === '-' || e.key === '_') {
            brightness -= 0.1;
            if (brightness < 0.1) brightness = 0.1;
            update();
        }
    });
})();