paste template

paste your template to atcoder

اعتبارا من 15-03-2022. شاهد أحدث إصدار.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

ستحتاج إلى تثبيت إضافة مثل Stylus لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتتمكن من تثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

(لدي بالفعل مثبت أنماط للمستخدم، دعني أقم بتثبيته!)

// ==UserScript==
// @name         paste template
// @namespace    https://github.com/wiiiiam104
// @version      0.3.4
// @description  paste your template to atcoder
// @author       wiiiiam104
// @match        https://atcoder.jp/contests/*/tasks/*
// @match        https://atcoder.jp/contests/*/custom_test*
// ==/UserScript==


(function script() {

  const f=(async ()=>{
    const data=localStorage.ubuneci5$template;
    if(data===undefined)return alert("no saved code found");
    if($(".btn-toggle-editor").click().click(), !document.querySelector("span.cm-variable") || confirm("Your current code will be replaced. Are you sure?")) {
      $(".plain-textarea").val(data);
      $(".editor").data("editor").doc.setValue(data);
    }
  });

  const g=()=>{
    let input=document.getElementById("ubuneci5$textarea").value;
    if(input==="" || input===undefined){
      $("<p>").html("updating your template was canceled").appendTo(".col-sm-3.editor-buttons");
      return;
    }
    localStorage.ubuneci5$template=input;
    document.getElementById("ubuneci5$span").remove();
    $("<p>").html("your template was saved").appendTo(".col-sm-3.editor-buttons");
  }

  const h=()=>{
    let span=$("<span>", {id:"ubuneci5$span"});
    $("<p>").html("paste your template below").appendTo(span);
    $("<textarea>", {id:"ubuneci5$textarea"}).appendTo(span);
    $("<a>").click(g).html("OK").appendTo(span);
    span.appendTo(".col-sm-3.editor-buttons");
  }

  $("<a>", {
    class:"btn btn-danger btn-sm",
    style:"margin:10px 0;display:block;width:128.95px;"
  })
  .html("Paste Your Template")
  .click(f)
  .appendTo(".col-sm-3.editor-buttons");

  $("<a>", {
    class:"glyphicon glyphicon-cog"
  })
  .click(h)
  .appendTo(".col-sm-3.editor-buttons");

})();