16,874
个编辑
LLWiki正在建设中,欢迎加入我们!
小 标签:移动版网页编辑 移动版编辑 |
|||
(未显示同一用户的4个中间版本) | |||
"use strict";
/*global wgULS, hljs */
mw.gadgets.codePrettify = $.extend( mw.storage.getObject( 'gadget-codePrettify' ), mw.gadgets.codePrettify );
const acceptLangs = {js: "javascript", javascript: "javascript", json: "json", css: "css", html: "xml",
mw.settingsDialog.addTab({name: 'codePrettify', label: 'gadget-cp-label', items: [
{key: 'wrap', type: 'CheckboxMultiselect', label: 'gadget-cp-wrap',
config: {
}
], help: '代码高亮显示'});
mw.hook( 'wikipage.content' ).add(function($content) {
if ($block.length === 0) { return; }
console.log('Hook: wikipage.content, 开始执行语法高亮');
const path = '//
(window.hljs ? Promise.resolve() : mw.loader.getScript( path )).then(function() { // 不重复下载脚本
// 1. 语法高亮
html: lines.map(function(ele, i) { return $('<li>', {html: ele, id: 'L' + (i + start)}); })
}).css('padding-left', (lines.length + start - 1).toString().length + 2.5 + 'ch');
}).filter( '.mw-code' ).toggleClass('scroll', wrap.length === 0);
mw.hook( 'code.prettify' ).fire( $block );
// 2. 手动跳转
const fragment =
target = document.getElementById( fragment || null ); // 用户输入内容,禁止使用$()
if (/^L\d+$/.test( fragment ) && target) { target.scrollIntoView({ behavior: 'smooth' }); }
|