User:Irukaza/common.js

H萌娘,万物皆可H的百科全书!
< User:Irukaza
imported>Irukaza2022年2月14日 (一) 14:25的版本
跳到导航 跳到搜索

注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • 按住CTRL+SHIFT+DEL 或 ⌘-Shift-R来清除缓存!
  • 或尝试在地址栏的地址最后添加代码?_=1来访问最新页面。
    添加代码后的本页地址如下:-{R|https://hmoegirl.com/User:Irukaza/common.js?_=1}-
  • 你还可以在设置中勾选小工具在页面右上角添加清除缓存按钮!
mw.loader.load('https://www.hmoegirl.com/index.php?title=User:AT/js/UserStatus.js&action=raw&ctype=text/javascript');
//侧边栏
    function mobilesidebar() {
        var oouiIcon = function (icon, title) {
            return new OO.ui.IconWidget({ icon: icon, title: title }).$element.prop("outerHTML");
        };
        var oouiIndicator = function () {
            return new OO.ui.IndicatorWidget({ indicator: "down" }).$element.prop("outerHTML");
        };
        var generateMenuLi = function (_a) {
            var href = _a.href, text = _a.text, iconName = _a.iconName, className = _a.className;
            return "<li " + (className ? "class=" + className : "") + '><a href="' + href + '" class="mw-ui-icon">' + (iconName ? oouiIcon(iconName, text) : "") + text + (className === "mobilesidebar-caption" ? oouiIndicator() : "") + "</a></li>";
        };
        var mobilesidebartimer = setInterval(function () {
            if ($(".menu ul").length > 0 && $(".mobilesidebar-level1").length === 0) {
                clearInterval(mobilesidebartimer);
                mw.loader.addStyleTag(".mobilesidebar-caption { transition: .5s ease-in-out all; } .mobilesidebar-caption.active { box-shadow: inset 4px 0 0 0 #3366cc; text-decoration: none; } nav ul li.mobilesidebar-caption a { box-shadow: none; padding-right: 12px; } .mw-special-MobileMenu .navigation-drawer { position: static; } .mobilesidebar-level1 .oo-ui-iconElement, .mobilesidebar-level1 .oo-ui-indicatorElement { filter: invert(34%) sepia(4%) saturate(703%) hue-rotate(164deg) brightness(96%) contrast(91%); } .mobilesidebar-level1 .oo-ui-iconElement { width: 1.5em; height: 1.5em; margin-right: 1em; font-size: 16px; } .mobilesidebar-level1 .oo-ui-indicatorElement { float: right; }");
                $(".menu > ul:not(.hlist)").last().before([
                    '<ul class="mobilesidebar-level1" id="mobilesidebar-navigation">',
                    generateMenuLi({ href: "#", text: wgULS("导航工具", "導覽工具"), iconName: "mapPin", className: "mobilesidebar-caption" }),
                    '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                    generateMenuLi({ href: "/Special:Recentchanges", iconName: "recentChanges", text: wgULS("最近更改", "近期變更") }),
                    generateMenuLi({ href: "/Special:Newpages", iconName: "viewDetails", text: wgULS("最新页面", "最新頁面"), className: "patroller-show" }),
                    generateMenuLi({ href: "/cm:Special:新建文件", iconName: "imageGallery", text: wgULS("最新文件", "最新檔案") }),
                    generateMenuLi({ href: "/萌娘百科_talk:讨论版", iconName: "speechBubbles", text: wgULS("讨论版", "討論版") }),
                    generateMenuLi({ href: "/Category:积压工作", iconName: "viewCompact", text: wgULS("积压工作", "積壓工作"), className: "patroller-show" }),
                    "</ul>",
                    "</ul>",
                    '<ul class="mobilesidebar-level1" id="mobilesidebar-help">',
                    generateMenuLi({ href: "#", text: wgULS("帮助文档", "說明文件"), iconName: "journal", className: "mobilesidebar-caption" }),
                    '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                    generateMenuLi({ href: "/Help:沙盒", iconName: "sandbox", text: "沙盒" }),
                    generateMenuLi({ href: "/Help:Wiki入门", iconName: "keyboard", text: wgULS("Wiki入门", "Wiki入門") }),
                    generateMenuLi({ href: "/Help:萌百编辑简明指南/欢迎", iconName: "lightbulb", text: wgULS("编辑简明指南", "萌百編輯教程") }),
                    generateMenuLi({ href: "/萌娘百科:编辑规范", iconName: "articleCheck", text: wgULS("萌百编辑规范", "萌百編輯規範") }),
                    generateMenuLi({ href: "/Template:萌娘百科政策文件", iconName: "unStar", text: "萌百政策文件" }),
                    generateMenuLi({ href: "/萌娘百科:常见问题与解答", iconName: "help", text: "FAQ" }),
                    "</ul>",
                    "</ul>",
                    '<ul class="mobilesidebar-level1" id="mobilesidebar-categoryindex">',
                    generateMenuLi({ href: "#", text: wgULS("分类索引", "分類索引"), iconName: "search", className: "mobilesidebar-caption" }),
                    '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                    generateMenuLi({ href: "/Category:作品", iconName: "doubleChevronEnd", text: "作品" }),
                    generateMenuLi({ href: "/Category:人物", iconName: "doubleChevronEnd", text: "人物" }),
                    generateMenuLi({ href: "/Category:组织", iconName: "doubleChevronEnd", text: wgULS("组织", "組織") }),
                    generateMenuLi({ href: "/Category:概念用语", iconName: "doubleChevronEnd", text: wgULS("概念用语", "概念用語") }),
                    generateMenuLi({ href: "/Category:设定", iconName: "doubleChevronEnd", text: wgULS("设定", "設定") }),
                    generateMenuLi({ href: "/Category:软件", iconName: "doubleChevronEnd", text: wgULS("软件", "軟體") }),
                    generateMenuLi({ href: "/Category:活动", iconName: "doubleChevronEnd", text: wgULS("活动", "活動") }),
                    "</ul>",
                    "</ul>",
                ].join(""));
                //用户页面则在页面工具后插入用户工具
                var wgNamespaceNumber = mw.config.get("wgNamespaceNumber");
                if ([2, 3].includes(wgNamespaceNumber)) {
                    var userName = mw.util.wikiUrlencode(mw.config.get("wgTitle").split("/")[0]);
                    $(".menu > ul:not(.hlist)").last().before([
                        '<ul class="mobilesidebar-level1" id="mobilesidebar-userpage">',
                        generateMenuLi({ href: "#", text: wgULS("用户工具", "使用者工具", null, null, "用戶工具"), iconName: "userAdd", className: "mobilesidebar-caption" }),
                        '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                        generateMenuLi({ href: "/User_talk:" + userName, iconName: "userTalk", text: wgULS("讨论页", "對話頁", null, null, "討論頁") }),
                        generateMenuLi({ href: "/Special:Contributions/" + userName, iconName: "userContributions", text: wgULS("用户贡献", "使用者貢獻", null, null, "用戶貢獻") }),
                        generateMenuLi({ href: "/cm:Special:ViewAvatar/" + userName, iconName: "userAnonymous", text: wgULS("查看头像", "檢視頭像") }),
                        generateMenuLi({ href: "/Special:Block/" + userName, iconName: "block", text: wgULS("封禁用户", "封鎖使用者", null, null, "封鎖用戶"), className: "patroller-show" }),
                        generateMenuLi({ href: "/Special:Userrights/" + userName, iconName: "userGroup", text: wgULS("用户权限", "使用者權限", null, null, "用戶權限") }),
                        generateMenuLi({ href: "/Special:Log/" + userName, iconName: "textFlow", text: wgULS("用户日志", "使用者日誌", null, null, "用戶日誌") }),
                        "</ul>",
                        "</ul>",
                    ].join(""));
                }
                //内容页面则在中间插入页面工具
                if (wgNamespaceNumber >= 0 && mw.config.get("wgUserGroups").includes("autoconfirmed")) {
                    var pageName = mw.util.wikiUrlencode(mw.config.get("wgPageName"));
                    $(".menu > ul:not(.hlist)").last().before([
                        '<ul class="mobilesidebar-level1" id="mobilesidebar-articlepage">',
                        generateMenuLi({ href: "#", text: wgULS("页面工具", "頁面工具"), iconName: "articles", className: "mobilesidebar-caption" }),
                        '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                        generateMenuLi({ href: "/" + pageName + "?action=edit", iconName: "edit", text: wgULS("编辑全文", "編輯全文") }),
                        generateMenuLi({ href: "/Special:Movepage/" + pageName, iconName: "move", text: wgULS("移动页面", "移動頁面") }),
                        generateMenuLi({ href: "/cm:Special:Upload", iconName: "upload", text: wgULS("上传文件", "上傳檔案", null, null, "上載檔案") }),
                        generateMenuLi({ href: "/" + pageName + "?action=delete", iconName: "trash", text: wgULS("删除页面", "刪除頁面"), className: "sysop-show" }),
                        generateMenuLi({ href: "/" + pageName + "?action=protect", iconName: "lock", text: wgULS("保护页面", "保護頁面"), className: "sysop-show" }),
                        generateMenuLi({ href: "/Special:Whatlinkshere/" + pageName, iconName: "link", text: wgULS("链入页面", "連結至此的頁面") }),
                        generateMenuLi({ href: "/" + pageName + "?action=info", iconName: "infoFilled", text: wgULS("页面信息", "頁面資訊") }),
                        "</ul>",
                        "</ul>",
                    ].join("\n"));
                }
                // 登录用户插入参数设置
                if (mw.config.get("wgUserGroups").includes("user")) {
                    $(".menu > ul:not(.hlist)").last().prepend('<li><a href="/index.php?title=Special:Preferences" class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-settings">' + wgULS("参数设置", "偏好設定") + "</a></li>");
                }
                $(".menu .mobilesidebar-level2").hide();
                $(".mobilesidebar-caption").on("click", function (_a) {
                    _a.preventDefault();
                    var target = _a.target;
                    var $ele = $(target).closest(".mobilesidebar-level1");
                    $ele.find(".mobilesidebar-caption").toggleClass("active");
                    $ele.find(".oo-ui-indicatorElement").toggleClass("oo-ui-indicator-down").toggleClass("oo-ui-indicator-up");
                    $ele.find(".mobilesidebar-level2").slideToggle(500);
                });
            }
        }, 700);
    }