您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
AtCoderの提出コードをMonaco Editorを使用した表示にします
当前为
// ==UserScript== // @name AtCoder Beautiful Code View // @namespace http://tampermonkey.net/ // @version 0.1 // @description AtCoderの提出コードをMonaco Editorを使用した表示にします // @author Chippppp // @license MIT // @match https://atcoder.jp/contests/*/submissions/* // @grant none // ==/UserScript== "use strict"; (function() { // Monaco Editor in cdnjs // Copyright (c) 2016 - present Microsoft Corporation let script = document.createElement("script"); script.src = "https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.33.0/min/vs/loader.min.js"; document.head.prepend(script); let header = document.createElement("script"); header.innerHTML = ` document.getElementsByClassName("linenums")[0].style.display = "none"; document.getElementsByClassName("btn-text toggle-btn-text source-code-expand-btn")[0].style.display = "none"; document.getElementsByClassName("btn-copy btn-pre")[0].style.zIndex = "1"; document.getElementsByClassName("btn-copy btn-pre")[0].style.borderRadius = "0"; document.getElementsByClassName("btn-copy btn-pre")[1].style.zIndex = "1"; document.getElementsByClassName("btn-copy btn-pre")[1].style.borderRadius = "0"; ` document.head.prepend(header); let div = document.createElement("div"); div.style.height = "500px"; div.style.marginTop = "10px"; div.style.marginBottom = "30px"; document.getElementById("submission-code").after(div); let arr = new Array; for (let i = 0; i < 10; ++i) { arr.push(document.getElementsByClassName("L" + i.toString())); } let str = "" for (let idx = 0; ; ++idx) { if (Math.floor(idx / 10) < arr[idx % 10].length) { str += arr[idx % 10][Math.floor(idx / 10)].innerText; str += "\n"; } else break; } let lang = document.getElementsByClassName("text-center")[3].innerText; lang = lang.slice(0, lang.indexOf(" ")).toLocaleLowerCase(); if (lang.startsWith("pypy")) lang = "python"; else if (lang == "c++") lang = "cpp"; script.onload = function() { require.config({ paths: { "vs": "https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.33.0/min/vs" } }); require(["vs/editor/editor.main"], function() { monaco.editor.create(div, { value: str, language: lang, theme: "vs-dark", readOnly: true, lineHeight: 21, }); document.getElementsByClassName("monaco-editor")[0].style.paddingTop = "20px"; }); }; })();