LLWiki正在建设中,欢迎加入我们!
MediaWiki:Gadget-code-prettify.js
跳转到导航
跳转到搜索
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
//<nowiki> // 由ResourceLoader直接调用,不可使用ES6语法 // 引自[[moegirl:mediawiki:gadget-code-prettify.js]]和[[moegirl:user:机智的小鱼君/gadget/Highlight.js]] "use strict"; /*global mw, $, hljs */ const acceptLangs = { js: "javascript", javascript: "javascript", json: "json", css: "css", scribunto: "lua", lua: "lua", html: "html" }, contentModel = mw.config.get( "wgPageContentModel" ).toLowerCase(), script = mw.config.get( "wgScript" ); mw.hook( 'wikipage.content' ).add(function($content) { if (contentModel in acceptLangs) { $content.find( '.mw-code' ).addClass( 'hljs linenums ' + acceptLangs[contentModel] ); } $content.find('pre[lang], code[lang]').addClass(function() { const self = $(this), lang = self.attr( "lang" ).toLowerCase(); if (lang in acceptLangs) { return "hljs " + acceptLangs[lang] + (self.is('pre') ? " linenums" : ""); } }); const $block = $content.find( '.hljs:not(.highlighted)' ); if ($block.length) { mw.loader.getScript( 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.3.1/build/highlight.min.js' ) .then(function() { $block.each(function() { hljs.highlightBlock(this); }).addClass( 'highlighted' ) .filter(function() { return $(this).hasClass( 'linenums' ); }) .html(function() { var lines = $(this).html().replace(/\n$/, '').split('\n'); if (mw.config.get( 'wgNamespaceNumber' ) == 274) { lines = lines.slice(1, -1); } return '<ol>' + lines.map(function(ele, i) { return '<li class="L' + (i % 2) + '">' + ele + '</li>'; }).join('') + '</ol>'; }); mw.hook( 'code.prettify' ).fire($block); }, function(reason) { console.error('无法获取highlight.js,错误原因:' + reason); }); } }); //</nowiki> // [[category:作为模块的小工具]] [[category:阅读工具]] [[category:默认开启的小工具]] [[category:桌面版小工具]] [[category:手机版小工具]] // {{DEFAULTSORT:code-prettify.js}}