Useful to see what files are uploaded by you
当前为
// ==UserScript==
// @name Wikimedia Commons category page: highlight my files (of the current user)
// @namespace http://greasyfork.org/
// @homepageURL https://gitlab.com/vitaly-zdanevich-userscripts/commonsHighlightMyFiles
// @supportURL https://gitlab.com/vitaly-zdanevich-userscripts/commonsHighlightMyFiles
// @version 1.1
// @author Vitaly Zdanevich
// @match https://commons.wikimedia.org/wiki/Category:*
// @description Useful to see what files are uploaded by you
// @license MIT
// ==/UserScript==
// TODO publish to Commons userscript (userscript of another type)
(function() {
const files = document.querySelectorAll('.galleryfilename')
let fileNames = ''
const pack = []
const m = {};
files.forEach((f, i) => {
fileNames += 'File:' + f.innerText
if (i > 0 && i % 50 === 0 || i+1 === files.length) { // 50 is API limit
pack.push(fileNames)
fileNames = ''
} else {
fileNames += '|'
}
m['File:' + f.innerText] = f
})
pack.forEach(p => {
fetch(`https://commons.wikimedia.org/w/api.php?action=query&titles=${p}&prop=imageinfo&format=json`)
.then(resp => resp.json())
.then(j => {
Object.entries(j['query']['pages']).forEach(([_, p]) => {
if (p['imageinfo'][0]['user'] == mw.user.getName()) {
const li = m[p['title']].parentNode.parentNode
li.style.outline = '4px solid darkgreen'
}
})
})
})
})()