匿名
未登录
创建账户
登录
小鱼君和他的朋友们
搜索
正在查找
将来过去时
的官方设定集?不如看看
万界大百科
吧!
《将来过去时》第一部分
现在 魔科纪元的少年少女
即将正式发布!
让我偷偷看一眼
小鱼君的博客
……
服务器已成功迁移到
阿里云(杭州)
!
查看“MediaWiki:Gadget-Highlight.js”的源代码
来自小鱼君和他的朋友们
名字空间
消息
讨论
更多
更多
语言
页面选项
Read
查看源代码
历史
←
MediaWiki:Gadget-Highlight.js
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
此页提供此wiki软件的界面文字,并受到保护以防止滥用。如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/** * @name highlight.js * @description 为页面内的代码块提供语法高亮 */ !(function () { // 为代码页面添加 class var pageName = mw.config.get('wgPageName') if (pageName.substr(pageName.length - 3, 3) === '.js') { $('#mw-content-text pre').addClass('lang-js highlight linenums') } else if (pageName.substr(pageName.length - 4, 4) === '.css') { $('#mw-content-text pre').addClass('lang-css highlight linenums') } else if (mw.config.get('wgNamespaceNumber') === 828) { // Lua $('#mw-content-text pre').addClass('lang-lua highlight linenums') } // 加载主题 mw.loader.load('https://cdn.jsdelivr.net/npm/highlight.js@9.12.0/styles/solarized-light.css', 'text/css') // 加载脚本 $.ajax({ url: 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.3.1/build/highlight.min.js', dataType: 'script', cache: true }).then(function () { // 初始化高亮 $('#mw-content-text pre.highlight').each(function (_, block) { var $block = $(block) if ($block.attr('data-hljs') === 'done') return // 高亮当前块 hljs.highlightBlock(block) $block.attr('data-hljs', 'done') // 行号显示 if ($block.data('line-from')!==undefined || $block.data('line-ping') !== undefined) $block.addClass('linenums') if ($block.hasClass('linenums')) { // 起始行号 var lineNumFrom = Number($block.data('line-from')) if (isNaN(lineNumFrom) || lineNumFrom < 1) lineNumFrom = 1 lineNumFrom = Number(lineNumFrom.toFixed(0)) // 高亮行号 var pingLine = $block.data('line-emphatic') || $block.data('line-ping') if (typeof pingLine === 'number') pingLine = [pingLine] if (typeof pingLine === 'string') pingLine = pingLine.replace(/\s/g, '').split(',') if (typeof pingLine !== 'object') pingLine = [] $block.html(function () { // 创建 jQuery 对象 var $html = $('<div>', { class: 'line-container' }).append( $('<div>', { class: 'line-content' }), $('<div>', { class: 'line-numbers' }) ) // 拆开每一行 var splitHtml = $(this).html().split('\n') $.each(splitHtml, function (lineNum, lineContent) { // 防止最后一行后被添加一行空行 if (lineNum + 1 === splitHtml.length) return // 显示行号为起始行号加当前行号 displayLineNum = lineNum + lineNumFrom // 是否高亮显示 var isPing = '' if (pingLine.includes(lineNum + 1)) { isPing = ' line-ping' } // 添加行号 $html.find('.line-numbers').append( $('<div>', { class: 'line-number-block' + isPing, text: displayLineNum }) ) // 添加内容 $html.find('.line-content').append( $('<div>', { class: 'line-row' + isPing, html: lineContent }) ) }) return $html }) } }) }) })()
返回至
MediaWiki:Gadget-Highlight.js
。
导航
欢迎光临
主页
召唤SILI(求助)
讨论版
关于
关于本站
联系我们
分类导览
创建词条
万界规划局雇员
角色一览
规划局书库
游戏中心
随机页面
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志