注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
?_=1
来访问最新页面。https://zh.moegirl.org.cn/User:%E6%9C%BA%E6%99%BA%E7%9A%84%E5%B0%8F%E9%B1%BC%E5%90%9B/gadget/Waline.js?_=1
mw.hook('wikipage.content').add(($content) =>
(async () => {
const parent = $content.get(0)
const conf = mw.config.values
// filter
if (!conf.wgIsArticle || !conf.wgArticleId) {
return
}
// main
const Waline = await importWaline()
const container = document.createElement('div')
container.id = 'moegirl-comment'
parent.insertAdjacentElement('afterend', container)
Waline.init({
el: container,
serverURL: 'https://moegirl-waline.epb.wiki',
wordLimit: 233,
login: 'force',
path: `${conf.wgDBname}-${conf.wgArticleId}`,
})
// utils
async function importWaline() {
if (window.Waline) {
return window.Waline
}
return Promise.all([
loadScript('https://unpkg.com/@waline/client@2/dist/waline.js'),
loadStyle('https://unpkg.com/@waline/client@2/dist/waline.css'),
]).then(() => {
return window.Waline
})
}
async function loadScript(src = '') {
return new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = src
script.onload = resolve
script.onerror = reject
document.body.appendChild(script)
})
}
async function loadStyle(href = '') {
return new Promise((resolve, reject) => {
const link = document.createElement('link')
link.href = href
link.rel = 'stylesheet'
link.onload = resolve
link.onerror = reject
document.head.appendChild(link)
})
}
})()
)