beta.atcoder.jpとatcoder.jpのコンテストサイトを行き来する etc.
当前为
// ==UserScript==
// @name atcoder-traffic
// @namespace
// @description beta.atcoder.jpとatcoder.jpのコンテストサイトを行き来する etc.
// @version 1.1
// @author euglenese
// @match https://beta.atcoder.jp/contests/*
// @match https://*.contest.atcoder.jp/*
// @namespace https://greasyfork.org/users/201019
// ==/UserScript==
function location_match(regex){
return location.href.match(new RegExp(regex));
}
function erase(text, regex){
return text.replace(new RegExp(regex), "");
}
var contest_name, position_name, linked;
function position_name_change(before, after){
if(position_name == before){
position_name = after;
}
}
var beta_contest_URL = "https\:\/\/beta\.atcoder\.jp\/contests\/";
var https = "https\:\/\/";
var contest_URL = "\.contest\.atcoder\.jp\/";
var any_string = "[0-9a-z-_#]+";
var any_string2 = "[0-9a-z-_#]*";
var any_slash = "[0-9a-z-_#/]+";
if(location_match(beta_contest_URL)){
if(location_match(beta_contest_URL + any_string + "\/" + any_slash)){
contest_name = erase(location.href, beta_contest_URL).split("/")[0];
position_name = erase(location.href, beta_contest_URL + contest_name + "/");
position_name_change("tasks", "assignments");
position_name_change("submissions", "submissions/all");
linked = "https://" + contest_name + ".contest.atcoder.jp/" + position_name;
}else{
contest_name = erase(location.href, beta_contest_URL).split("/")[0];
linked = "https://" + contest_name + ".contest.atcoder.jp/";
}
$(".contest-title").attr("href", linked);
}else{
if(location_match(https + any_string + contest_URL + any_slash)){
contest_name = erase(erase(location.href, https), contest_URL + any_slash);
position_name = erase(location.href, https + contest_name + contest_URL);
position_name_change("submissions/all", "submissions");
linked = "https://beta.atcoder.jp/contests/" + contest_name + "/" + position_name;;
}else{
contest_name = erase(erase(location.href, https), contest_URL);
linked = "https://beta.atcoder.jp/contests/" + contest_name;
}
$(".brand").removeAttr("href");
$(".contest-name").replaceWith(function() {
$(this).replaceWith("<span class='contest-name'><a href='" + linked + "'>" + $(this).text() + "</a></span>");
});
$(".contest-name a").css("color", "white");
$(".contest-name a").css("text-decoration", "none");
for(var i in [0, 1]){
$("time").eq(i).replaceWith(function() {
console.log($(this).text());
var url = "https://www.timeanddate.com/worldclock/fixedtime.html?iso=" + $(this).text().substr(0, 4) + $(this).text().substr(5, 2) + $(this).text().substr(8, 2) + "T" + $(this).text().substr(11, 2) + $(this).text().substr(14, 2) + "&p1=248";
$(this).replaceWith("<time class='timezone-fixed'><a href='" + url + "'>" + $(this).text() + "</a></time>");
});
$("time a").eq(i).css("color", "white");
$("time a").css("text-decoration", "none");
}
}