vjudge+

啥都没优化,就是让vjudge变得更好看了

目前為 2022-08-05 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

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

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         vjudge+
// @namespace    https://github.com/dffxd-suntra/vjudge-plus
// @version      1.0
// @description  啥都没优化,就是让vjudge变得更好看了
// @author       Suntra
// @homepageURL  https://github.com/dffxd-suntra/vjudge-plus
// @supportURL   https://github.com/dffxd-suntra/vjudge-plus
// @match        https://vjudge.net
// @match        https://vjudge.net/*
// @icon         data:image/x-icon;base64,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
// @require      https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js
// @run-at       document-body
// @license      MIT
// @grant        GM_addStyle
// ==/UserScript==

(function() {
    // 对于-1,有两种情况,一种是404,一种是主页
    var regList = [
        // 0 题目列表
        /\/problem$/,
        // 1 题目详情
        /\/problem\/[^\/]+$/,
        // 2 跳转到原oj的原题
        /\/problem\/[^\/]+\/origin$/,
        // 3 题目详情的iframe
        /\/problem\/description\/[^\/]+$/,


        // 4 提交状态列表
        /\/status$/,
        // 5 跳转到原oj这次提交的页面
        /\/solution\/[^\/]+\/origin$/,
        // 6 如果打开分享文字(Share text)的页面
        /\/solution\/[^\/]+\/[^\/]+$/,


        // 7 赛事列表
        /\/contest$/,
        // 8 赛事详情
        /\/contest\/[^\/]+$/,
        // 9 好像是赛事统计(不知道怎么用)
        /\/contest\/statistic$/,


        // 10 题单列表
        /\/workbook$/,
        // 11 创建题单,创建讨论
        /\/article\/create$/,
        // 12 题单详情
        /\/article\/[^\/]+$/,


        // 13 用户列表
        /\/user$/,
        // 14 用户详情
        /\/user\/[^\/]+$/,


        // 15 小组列表
        /\/group$/,
        // 16 小组详情
        /\/group\/[^\/]+$/,


        // 17 社区(论坛)
        /\/comment$/,


        // 18 发消息(如果要发消息就要先找到它的用户界面,就是14,然后点击信封图标就可
        /\/message$/,
    ];

    function getPage() {
        for(var key in regList) {
            if(regList[key].test(pathName)) {
                return key;
            }
        }
        return -1;
    }

    $("head").append("<script src=\"https://github.com/ajaxorg/ace-builds/raw/master/src-noconflict/ace.js\" type=\"application/javascript\" charset=\"utf-8\"></script>");
    var pathName = location.pathname;
    while(pathName[pathName.length-1] == "/") {
        pathName = pathName.substr(0,pathName.length-1);
    }
    var pageId = getPage();
    // 特判404
    if(pageId == -1&&/(.*)404(.*)/.test($("head > title").html())) {
        console.log("404");
    }
    else {
        console.log(pageId);
    }

    if(pageId==-1) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==0) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }if(pageId==1) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==2) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==3) {
        GM_addStyle(
            "dd {background-color: rgba(255,255,255,70%) !important;border-radius: 0.25rem !important;}"
        );
    }
    if(pageId==4) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==5) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==6) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==7) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==8) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==9) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==10) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==11) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==12) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==13) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==14) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==15) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==16) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==17) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }
    if(pageId==18) {
        GM_addStyle("body {background: #f0f0f0 url(http://static.rqnoj.cn/images/bg.jpg) no-repeat center top fixed;background-size: 100% 100%;-moz-background-size: 100% 100%;}");
        $("body").prepend("<nav style='height: 60px'></nav>");
    }

    // 对于所有页面
    GM_addStyle(
        ".navbar {border-radius:0rem;background-color: rgba(0,0,0,65%) !important;position: fixed;top: 0;left: 0;z-index: 1000;width: 100%;}"+
        "::-webkit-scrollbar {display: none;}"+
        "#prob-ads {display: none;}"+
        "#img-support {display: none;}"+
        ".card, .list-group-item, .btn-secondary, .page-link, .page-item.disabled .page-link, .dropdown-menu {background-color: rgba(255,255,255,65%);}"+
        ".modal-content {background-color: rgba(255,255,255,90%);}"+
        ".form-control {background-color: rgba(255,255,255,50%);}"+
        ".tab-content {background-color: rgba(255,255,255,50%);border: 2px solid #eceeef;border-radius: 0.25rem;padding: 20px;}"
    );
    $("body > div.body-footer").append("<p>Theme powered by <a href=\"https://github.com/dffxd-suntra/vjudge-plus\">vjudge+</a></p>");
})();