您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
tasksページにおいて、提出した問題に色付けを行います。
// ==UserScript== // @name atcoder-tasks-page-colorizer // @namespace https://twitter.com/kymn_ // @version 1.1.2 // @description tasksページにおいて、提出した問題に色付けを行います。 // @author keymoon // @license MIT // @supportURL https://twitter.com/kymn_ // @match https://atcoder.jp/contests/*/tasks // @require https://greasyforks.org/scripts/437862-atcoder-problems-api/code/atcoder-problems-api.js?version=1004082 // ==/UserScript== if (moment() < endTime) return; $('#main-div thead th:last-child').before('<th width="10%" class="text-center">最終提出</th>'); getSubmissions(userScreenName).then(colorize); function colorize(problems_info) { $('#main-div tbody tr').each((x,y) => { let problem_id = y.querySelector('td:nth-child(2) a').getAttribute('href').split('/').pop(); let trial = problems_info.filter(x => x.problem_id == problem_id); colorize_row(y,trial); }) function colorize_row(row, trial) { var submitted = trial.length != 0; var is_accepted = trial.map(x => x.result).includes('AC'); var last_submit = !submitted ? null : trial.reduce((x,y) => x.epoch_second > y.epoch_second ? x : y); $(row.querySelector('td:last-child')).before(`<td class="text-center">${submitted ? `<a href="https://atcoder.jp/contests/${last_submit.contest_id}/submissions/${last_submit.id}">${moment.unix(last_submit.epoch_second).format("YYYY/MM/DD")}</a>` : '-'}</td>`); if(submitted) row.classList.add(is_accepted ? 'success' : 'warning'); } }