您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
code snippets for huiji wiki editors
// ==UserScript== // @name Huiji.Snippets.Coppermind // @namespace Huiji // @version 0.2.1 // @description code snippets for huiji wiki editors // @author lianzhao // @match http://coppermind.huiji.wiki/index.php?title=*&action=edit* // @grant none // ==/UserScript== window.onload = function () { function insertAtCaret(areaId, text) { var txtarea = document.getElementById(areaId); var scrollPos = txtarea.scrollTop; var strPos = 0; var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false)); if (br == "ie") { txtarea.focus(); var range = document.selection.createRange(); range.moveStart('character', -txtarea.value.length); strPos = range.text.length; } else if (br == "ff") strPos = txtarea.selectionStart; var front = (txtarea.value).substring(0, strPos); var back = (txtarea.value).substring(strPos, txtarea.value.length); txtarea.value = front + text + back; strPos = strPos + text.length; if (br == "ie") { txtarea.focus(); var range = document.selection.createRange(); range.moveStart('character', -txtarea.value.length); range.moveStart('character', strPos); range.moveEnd('character', 0); range.select(); } else if (br == "ff") { txtarea.selectionStart = strPos; txtarea.selectionEnd = strPos; txtarea.focus(); } txtarea.scrollTop = scrollPos; } function insertItem(text, displayText) { if (!displayText) { displayText = text; } var tag = $('<button type="button" class="btn btn-default">' + displayText + '</button>').click(function () { insertAtCaret('wpTextbox1', text) }); $('#insertItems').append(tag); } function insertItemToGroup(group, text, displayText) { if (!displayText) { displayText = text; } var tag = $('<li><button type="button" class="btn btn-default btn-xs">' + displayText + '</button></li>').click(function () { insertAtCaret('wpTextbox1', text) }); group.append(tag); } function createGroup(id, displayText) { var group = toMultiLineString(function () {/* <div class="btn-group btn-group-xs" role="group"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> displayTextPlaceHolder <span class="caret"></span> </button> <ul id="idPlaceholder" class="dropdown-menu"> </ul> </div> */}).replace('idPlaceholder', id) .replace('displayTextPlaceHolder', displayText); $('#insertItems').append(group); } function toMultiLineString(raw) { var lines = raw.toString(); return lines.substring(lines.indexOf("/*") + 3, lines.lastIndexOf("*/")); } window.setTimeout(function () { $('.section-advanced > .group-insert').append('<div id="insertItems" class="btn-group btn-group-xs" role="group"></div>'); insertItem('{{正在施工|~~~~}}\n', '{{正在施工}}'); insertItem('{{需要翻译}}\n', '{{需要翻译}}'); insertItem('{{需要帮助}}\n', '{{需要帮助}}'); insertItem('==引用与注释==\n{{reflist|30em}}\n', '引用与注释'); insertItem('{{CmPermission}}\n', '{{CmPermission}}'); insertItem('__TOC__\n', 'TOC'); var infoboxDropDown = createGroup('infoboxDropDown', 'Infobox'); var infoboxCharacter = toMultiLineString(function(){ /* {{Infobox character | 人名 = | 分类 = | 图像 = | 图像信息 = | 发音 = | 别名 = | 其他译名 = | 性别 = | 头衔 = | 出生时间 = | 出生地点 = | 死亡时间 = | 死亡地点 = | 阵营 = | 种族 = | 民族 = | 文化 = | 语言 = | 宗教 = | 职业 = | 发色 = | 瞳色 = | 肤色 = | 服装 = | 饰品 = | 武器 = | 工具 = | 坐骑 = | 其他补充 = | 阶职 = | 体系 = | 能力 = | 契约对象 = | 家族 = | 祖先 = | 父亲 = | 母亲 = | 亲戚 = | 同辈 = | 配偶 = | 子嗣 = | 继承人 = | 后代 = | 恋人 = | 好友 = | 仇敌 = | 上级 = | 下属 = | 师从 = | 学徒 = | 侍从 = | 村镇 = | 城市 = | 国家 = | 大陆 = | 世界 = | 小说 = | 漫画 = | 图画小说 = | 动画 = | 电影 = | 电视剧 = | 电子游戏 = | 桌上游戏 = | 电影演员 = | 电视剧演员 = | 动画配音 = | 游戏配音 = }} */}); var infoboxLocation = toMultiLineString(function(){ /* {{Infobox location | 地名 = | 图像 = | 图像信息 = | 发音 = | 别名 = | 其他译名 = | 世界 = | 星系 = | 宇宙 = | 神瑛 = | 神能 = | 神潭 = | 涉及书目 = | 类型 = | 所属市县 = | 所属公国 = | 所属区域 = | 所属国家 = | 首都 = | 首府 = | 政体 = | 统治者 = | 所有者 = | 执法者 = | 主要民族 = | 主要宗教 = | 官方语言 = | 前身 = | 用途 = | 位置 = | 地形 = | 气候 = | 物产资源 = | 经济 = | 文化 = | 特色饮食 = | 传统服饰 = | 建立年份 = | 毁灭年份 = | 历代统治者 = | 历代执法者 = | 大事记 = }}*/}); var infoboxNobleHouse = toMultiLineString(function(){ /* {{Infobox noble house | 家族名 = | 图像 = | 图像信息 = | 发音 = | 别名 = | 其他译名 = | 类型 = | 世界 = [[斯卡德瑞尔]] | 涉及书目 = [[《执法镕金》]] | 祖先 = | 族长 = | 前任族长 = }}*/}); insertItemToGroup($('#infoboxDropDown'), infoboxCharacter, 'infobox character'); insertItemToGroup($('#infoboxDropDown'), infoboxLocation, 'infobox location'); insertItemToGroup($('#infoboxDropDown'), infoboxNobleHouse, 'infobox noble house'); }, 3000); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址