Greasy Fork is available in English.

AddLinkToNewAtcoder

ja

Από την 24/11/2017. Δείτε την τελευταία έκδοση.

  1. // ==UserScript==
  2. // @name AddLinkToNewAtcoder
  3. // @namespace AddLinkToNewAtcoder
  4. // @version 1.3
  5. // @author Luzhiled
  6. // @description ja
  7. // @include http://*atcoder.jp/*
  8. // @include https://*atcoder.jp/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. function ConvertToNewAtcodersURL() {
  16. let pathName = location.pathname;
  17. let query = location.search;
  18. if (pathName.match(/settings/) || pathName.match(/users/)) {
  19. return 'https://beta.atcoder.jp' + pathName;
  20. }
  21. if (location.href.match(/contest.atcoder.jp/)) {
  22. let contestName = location.href.replace(/^https?:\/\//, '').split('.')[0];
  23. pathName = pathName.replace(/assignments/g, "tasks");
  24. pathName = pathName.replace(/\/all/g, "");
  25. query = query.replace(/user_screen_name/g, "f.User");
  26. pathName = pathName.replace(/editorial/g, "");
  27. pathName = pathName.replace(/statistics/g, "");
  28. return 'https://beta.atcoder.jp/contests/' + contestName + pathName + query;
  29. } else {
  30. console.log(pathName);
  31. console.log(query);
  32. pathName = pathName.replace(/contest/g, "contests");
  33. pathName = pathName.replace(/user/g, "users");
  34. query = query.replace(/categories/g, "category");
  35. query = query.replace(/p=/g, "page=");
  36. return 'https://beta.atcoder.jp' + pathName + query;
  37. }
  38. }
  39.  
  40. function AddLinkToNewAtcoder() {
  41. if (location.href.match(/contest.atcoder.jp/)) {
  42. $('div.nav-collapse').prepend(`
  43. <ul class="nav">
  44. <li class="divider-vertical"></li>
  45. <li><a href="${ConvertToNewAtcodersURL()}"><span class="lang lang-selected"><span class="lang-en lang-child hidden-lang">go to beta.atcoder.jp</span><span class="lang-ja lang-child">Beta版へ</span></span></a></li>
  46. </ul>
  47. `);
  48. }
  49. else {
  50. $('ul.nav.navbar-nav').not('.navbar-right').append(`<li><a href="${ConvertToNewAtcodersURL()}">Beta版へ</a></li>`);
  51. }
  52. }
  53.  
  54. // function AddLinkToAtcoder() {}
  55.  
  56. if (location.href.match(/beta.atcoder.jp/)) {
  57. // AddLinkToAtcoder();
  58. } else {
  59. AddLinkToNewAtcoder();
  60. }
  61.  
  62. })();