atcoder new contest pager

display new contest page at page top

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name     atcoder new contest pager
// @description display new contest page at page top
// @include https://*.contest.atcoder.jp/*
// @version  1
// @namespace https://twitter.com/root_T2
// @grant    none
// ==/UserScript==
var host = location.host;
if ( host.match(".contest.atcoder.jp")) {
  var contest_name = host.split(".contest.atcoder.jp")[0];
  var new_url = "https://atcoder.jp/contests/" + contest_name;
  var a = document.createElement('a');
	a.textContent = '新しいコンテストページ';
  a.setAttribute('href', new_url);
  a.setAttribute('style', "font-size: 30pt;");
  
  var div = document.createElement("div");
  div.setAttribute("style", "text-align:center;margin-bottom:15px;margin-top:20px;");
  div.appendChild(a);
  
  var header = document.getElementsByClassName('navbar navbar-fixed-top')[0];
  header.parentNode.insertBefore(div, header.nextSibling); 
  
}