欢迎来到奇葩栖息地!欢迎加入Discord服务器:XfrfHCzfbW。请先至特殊:参数设置验证邮箱后再进行编辑。在特殊:参数设置挑选自己想要使用的小工具!不会编辑?请至这里学习Wikitext语法。
MediaWiki:Gadget-shortURL.js:修订间差异
来自奇葩栖息地
无编辑摘要 |
SkyEye FAST(讨论 | 贡献) 小 (导入1个版本) |
||
(没有差异)
|
2021年5月4日 (二) 16:54的版本
/**
* @name Short URL
* @author 机智的小鱼君
*
* @description Get the "fake" short link provided by MediaWiki.
* Solve the very long link of the pages that name contain non-ASCII words.
*/
// Originated from [https://github.com/Wjghj-Project/wjghj-wiki/blob/master/gadgets/Share-btn/script.js here].
!(function () {
var i18n = {
shareDescription: wgULS('您还可以通过此链接分享页面:','您還可以透過此連結分享頁面:'),
copy: wgULS('复制','複製'),
copied: wgULS('已复制!','已複製!'),
}
// 对周报页面进行特别处理
var isTeahouseWeekly = $('body').hasClass("rootpage-茶馆周报");
if (isTeahouseWeekly) {
console.log("短链接将尝试添加到茶馆周报页眉。");
}
window.shortUrl = window.shortUrl || ''
// 缓存 mw 变量
var config = mw.config.get()
// 判断是否存在文章ID
if (config.wgArticleId > 0) {
shortUrl = config.wgServer + '/-/' + config.wgArticleId
// 插入短链接
var shortURLParagraph = $('<div>', { class: 'shortUrl-block', style: 'margin: 1em;' }).append(
$('<span>', { class: 'shortUrl-description' }).append(
$('<span>', { text: i18n.shareDescription }),
$('<strong>', { text: shortUrl + ' ' }),
$('<br>'),
$('<a>', { text: i18n.copy , href: 'javascript:;' }).click(function () {
// 创建 input 元素,选中复制,然后销毁
var $this = $(this),
surlInput = $('<input>', { id: 'shortUrl-copy', value: shortUrl, style: 'z-index: -1; opacity: 0; position: absolute; left: -200vw;', readonly: 'readonly' })
$this.append(surlInput)
surlInput.select()
document.execCommand('copy')
surlInput.remove()
$this.text(i18n.copied)
setTimeout(function () {
$this.text(i18n.copy)
}, 1500)
})
)
)
// A PopupButtonWidget.
var popupButton = new OO.ui.PopupButtonWidget( {
icon: 'link',
flags: isTeahouseWeekly ? ['progressive'] : [],
framed: false,
label: 'Short URL',
invisibleLabel: true,
popup: {
label: 'Short URL',
$content: shortURLParagraph,
align: 'center'
}
} );
// Append the button to the DOM.
if(isTeahouseWeekly) {
$( '.weekly-header-id' ).after( " |", popupButton.$element );
} else {
$( '#ca-view' ).after( popupButton.$element );
}
}
// 将短链接替换进文章
$('.shortUrl').text(shortUrl)
$('.shortUrl-link').html($('<a>', { href: shortUrl, text: shortUrl }))
})()