Widget:ProjectLabel: Difference between revisions
From Makerpedia
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
<script> | <script> | ||
function appStart(){ | function appStart(){ | ||
if(pageParams["page"]){ | if(pageParams["page"]){ | ||
mw.loader.using(['mediawiki.api', 'jquery']).then(()=>{ | mw.loader.using(['mediawiki.api', 'jquery']).then(()=>{ | ||
new mw.Api().get({ | new mw.Api().get({ | ||
action: 'query', | |||
prop: 'revisions', | |||
rvprop: 'content', | |||
titles: pageParams["page"], | |||
format: 'json' | |||
}).done(function (pageData) { | }).done(function (pageData) { | ||
var pageId = Object.keys(pageData.query.pages)[0]; | |||
var content = pageData.query.pages[pageId].revisions[0]['*']; | |||
var pageUrl = mw.util.getUrl(pageParams["page"]); | |||
var badges = []; | |||
const regex = /\[\[Category:(.*?)\]\]/gi; | |||
let cats = content.match(regex); | |||
cats = cats.map(match => /\[\[Category:(.*?)\]\]/i.exec(match)[1]); | |||
console.log(cats); | |||
}); | |||
}); | cats.forEach(cat=>{ | ||
} | makerSkills.forEach(skill=>{ | ||
if(cat == skill.name) badges.push(skill.image); | |||
}); | |||
}); | |||
console.log(badges); | |||
}); | |||
}); | |||
} | |||
} | } | ||
if(!window.widgets) window.widgets = []; | if(!window.widgets) window.widgets = []; | ||
window.widgets.push(appStart); | window.widgets.push(appStart); | ||
</script> | </script> | ||
Revision as of 12:25, 21 March 2025
<script> function appStart(){
if(pageParams["page"]){
mw.loader.using(['mediawiki.api', 'jquery']).then(()=>{
new mw.Api().get({
action: 'query',
prop: 'revisions',
rvprop: 'content',
titles: pageParams["page"],
format: 'json'
}).done(function (pageData) {
var pageId = Object.keys(pageData.query.pages)[0];
var content = pageData.query.pages[pageId].revisions[0]['*'];
var pageUrl = mw.util.getUrl(pageParams["page"]);
var badges = [];
const regex = /\[\[Category:(.*?)\]\]/gi;
let cats = content.match(regex);
cats = cats.map(match => /\[\[Category:(.*?)\]\]/i.exec(match)[1]);
console.log(cats);
cats.forEach(cat=>{
makerSkills.forEach(skill=>{
if(cat == skill.name) badges.push(skill.image);
});
});
console.log(badges);
});
});
}
}
if(!window.widgets) window.widgets = [];
window.widgets.push(appStart);
</script>