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',
          action: 'query',
    prop: 'revisions',
          prop: 'revisions',
    rvprop: 'content',
          rvprop: 'content',
    titles: pageParams["page"],
          titles: pageParams["page"],
    format: 'json'
          format: 'json'
}).done(function (pageData) {
      }).done(function (pageData) {
    var pageId = Object.keys(pageData.query.pages)[0];
          var pageId = Object.keys(pageData.query.pages)[0];
    var content = pageData.query.pages[pageId].revisions[0]['*'];
          var content = pageData.query.pages[pageId].revisions[0]['*'];
    var pageUrl = mw.util.getUrl(pageParams["page"]);
          var pageUrl = mw.util.getUrl(pageParams["page"]);
          var badges = [];


    const regex = /\[\[Category:(.*?)\]\]/gi;
          const regex = /\[\[Category:(.*?)\]\]/gi;
    let cats = content.match(regex);
          let cats = content.match(regex);
    cats = cats.map(match => /\[\[Category:(.*?)\]\]/i.exec(match)[1]);
          cats = cats.map(match => /\[\[Category:(.*?)\]\]/i.exec(match)[1]);
    console.log(cats);
          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>