MediaWiki:Common.js:修订间差异

Baneq留言 | 贡献
无编辑摘要
Baneq留言 | 贡献
无编辑摘要
 
(未显示同一用户的6个中间版本)
第14行: 第14行:
label: 'Noblecraft 格式',
label: 'Noblecraft 格式',
pages: {
pages: {
colors: { layout: 'characters', label: '颜色 / 强调', characters: [
colors: { layout: 'characters', label: '颜色', characters: [
btn('{{红|','文字','}}','红','nc-红'),
btn('{{红|','文字','}}','红','nc-红'),
btn('{{绿|','文字','}}','绿','nc-绿'),
btn('{{绿|','文字','}}','绿','nc-绿'),
btn('{{蓝|','文字','}}','蓝','nc-蓝'),
btn('{{蓝|','文字','}}','蓝','nc-蓝'),
btn('{{橙|','文字','}}','橙','nc-橙'),
btn('{{橙|','文字','}}','橙','nc-橙'),
btn('{{高亮|','文字','}}','高亮','nc-高亮'),
btn('{{紫|','文字','}}','紫','nc-紫'),
btn('{{青|','文字','}}','青','nc-青'),
btn('{{粉|','文字','}}','粉','nc-粉'),
btn('{{灰|','文字','}}','灰','nc-灰'),
btn('{{金|','文字','}}','金','nc-金'),
btn('{{高亮|','文字','}}','高亮','nc-高亮')
] },
callouts: { layout: 'characters', label: '提示框', characters: [
btn('{{提示|','提示内容','}}','提示'),
btn('{{提示|','提示内容','}}','提示'),
btn('{{警告|','警告内容','}}','警告'),
btn('{{警告|','警告内容','}}','警告'),
btn('{{成功|','内容','}}','成功')
btn('{{成功|','内容','}}','成功'),
btn('{{注释|','内容','}}','注释'),
btn('{{重要|','内容','}}','重要'),
btn('{{失败|','内容','}}','失败'),
btn('{{例子|','内容','}}','例子'),
btn('{{引用|','内容','}}','引用'),
btn('{{新手|','内容','}}','新手'),
btn('{{进阶|','内容','}}','进阶'),
btn('{{彩蛋|','内容','}}','彩蛋'),
btn('{{奖励|','内容','}}','奖励'),
btn('{{更新|','内容','}}','更新'),
btn('{{过时|','内容','}}','过时')
] },
] },
game: { layout: 'characters', label: '游戏元素', characters: [
game: { layout: 'characters', label: '游戏元素', characters: [
第41行: 第59行:
btn('{{对话|角色=角色名|','台词','}}','对话'),
btn('{{对话|角色=角色名|','台词','}}','对话'),
btn('{{视频|标题=|链接=|平台=}}','','','视频')
btn('{{视频|标题=|链接=|平台=}}','','','视频')
] },
infobox: { layout: 'characters', label: '信息框', characters: [
btn(`{{信息框|类型=npc|标题=角色名|图片=|图注=|内容=
{{信息框行|头衔|}}
{{信息框行|所属势力|}}
{{信息框行|所在地|}}
{{信息框行|身份|}}
{{信息框行|登场|}}
}}`,'','','NPC'),
btn(`{{信息框|类型=place|标题=地点名|图片=|图注=|内容=
{{信息框行|类型|}}
{{信息框行|所在世界|}}
{{信息框行|坐标|}}
{{信息框行|如何到达|}}
{{信息框行|管理者|}}
}}`,'','','地点'),
btn(`{{信息框|类型=player|标题=玩家ID|图片=|图注=|内容=
{{信息框行|加入时间|}}
{{信息框行|权限组|}}
{{信息框行|所在聚落|}}
{{信息框行|擅长|}}
}}`,'','','玩家'),
btn(`{{信息框|颜色=#1a6b7d|标题=|图片=|图注=|内容=
{{信息框行||}}
{{信息框行||}}
{{信息框行||}}
}}`,'','','纯色'),
btn(`{{信息框|颜色=linear-gradient(120deg,#7a5c9a,#9a6fae)|标题=|图片=|图注=|内容=
{{信息框行||}}
{{信息框行||}}
{{信息框行||}}
}}`,'','','渐变')
] },
] },
blocks: { layout: 'characters', label: '区块 / 标记', characters: [
blocks: { layout: 'characters', label: '区块 / 标记', characters: [
第78行: 第128行:
{ pre: '{{色|' + hex + '|', peri: '文字', post: '}}', selectPeri: true } );
{ pre: '{{色|' + hex + '|', peri: '文字', post: '}}', selectPeri: true } );
ncClosePanel();
ncClosePanel();
}
function ncCopyHex( hex, $btn ) {
try { localStorage.setItem( 'nc-last-color', hex ); } catch ( e ) {}
function flash() {
var orig = $btn.html();
$btn.html( '✓ ' + hex ).css( 'background', '#d4edda' );
setTimeout( function () { $btn.html( orig ).css( 'background', '#fff' ); }, 1200 );
}
if ( navigator.clipboard && navigator.clipboard.writeText ) {
navigator.clipboard.writeText( hex ).then( flash, fallback );
} else { fallback(); }
function fallback() {
var $tmp = $( '<input>' ).val( hex ).appendTo( document.body );
$tmp[0].select();
try { document.execCommand( 'copy' ); } catch ( e ) {}
$tmp.remove();
flash();
}
}
}
function ncClosePanel() {
function ncClosePanel() {
第98行: 第166行:
$( '<button type="button" class="nc-colorpop-ok">应用</button>' )
$( '<button type="button" class="nc-colorpop-ok">应用</button>' )
.on( 'click', function () { ncApplyColor( $native.val() ); } ).appendTo( $row );
.on( 'click', function () { ncApplyColor( $native.val() ); } ).appendTo( $row );
var $copyBtn = $( '<button type="button" class="nc-colorpop-copy" title="复制色值(粘到 {{信息框|颜色=}} 等参数里)">📋</button>' )
.css( {
padding: '3px 10px', border: '1px solid #c8c2b4', background: '#fff',
borderRadius: '4px', cursor: 'pointer', marginLeft: '4px', fontSize: '13px', minWidth: '40px'
} );
$copyBtn.on( 'click', function () { ncCopyHex( $native.val(), $copyBtn ); } );
$copyBtn.appendTo( $row );
$( '<div class="nc-colorpop-hint">' )
.html( '💡 点上方取色器先选好颜色,再点 <b>📋</b> 即可复制色值,可粘到 <code>{{信息框|颜色=...}}</code> 等参数里使用。' )
.css( {
marginTop: '8px', paddingTop: '8px', borderTop: '1px solid #eee',
fontSize: '11px', color: '#666', lineHeight: '1.5', maxWidth: '220px'
} )
.appendTo( $ncPanel );
$ncPanel.appendTo( document.body );
$ncPanel.appendTo( document.body );
var $btn = $( '.tool[rel="nccolorpicker"]' );
var $btn = $( '.tool[rel="nccolorpicker"]' );