USACO Enhancements

Adds some enhancements to USACO problems.

目前为 2024-01-22 提交的版本。查看 最新版本

// ==UserScript==
// @name         USACO Enhancements
// @namespace    https://connorcode.com
// @version      0.1
// @description  Adds some enhancements to USACO problems.
// @author       Connor Slade
// @match        http://www.usaco.org/index.php?page=viewproblem*
// @grant        none
// @license      GPLv3
// ==/UserScript==

(() => {
    // == Problem year and date in page title ==
    let problemDate = document.querySelector('.panel h2').innerText;
    let problemName = document.querySelector('.panel h2:nth-child(2)').innerText.split('. ')[1];

    let date = problemDate.match(/USACO (\d{4}) (.*) Contest/);
    document.title = `USACO - ${problemName} (${date[2].substring(0, 3)} ${date[1]})`;

    // == Persistent language selector ==
    let selector = document.querySelector("select[name='language']");

    let lastLang = localStorage.getItem('lastLang');
    if (lastLang != null) selector.value = lastLang;

    selector.addEventListener('change', () => {
        console.log(selector.value);
        localStorage.setItem("lastLang", selector.value);
    });
})();