USACO Enhancements

Adds some enhancements to USACO problems.

目前為 2024-01-22 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name USACO Enhancements
  3. // @namespace https://connorcode.com
  4. // @version 2024-01-22
  5. // @description Adds some enhancements to USACO problems.
  6. // @author Connor Slade
  7. // @match http://www.usaco.org/index.php?page=viewproblem*
  8. // @grant none
  9. // @license GPLv3
  10. // ==/UserScript==
  11.  
  12. (() => {
  13. // == Problem year and date in page title ==
  14. let problemDate = document.querySelector('.panel h2').innerText;
  15. let problemName = document.querySelector('.panel h2:nth-child(2)').innerText.split('. ')[1];
  16.  
  17. let date = problemDate.match(/USACO (\d{4}) (.*) Contest/);
  18. document.title = `USACO - ${problemName} (${date[2].substring(0, 3)} ${date[1]})`;
  19.  
  20. // == Persistent language selector ==
  21. let selector = document.querySelector("select[name='language']");
  22.  
  23. let lastLang = localStorage.getItem('lastLang');
  24. if (lastLang != null) selector.value = lastLang;
  25.  
  26. selector.addEventListener('change', () => {
  27. console.log(selector.value);
  28. localStorage.setItem("lastLang", selector.value);
  29. });
  30. })();