사용자:하늘/moveCategory.js: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
14번째 줄: 14번째 줄:
}).then(function(json) {
}).then(function(json) {
   json.query.categorymembers.forEach(function(data) {
   json.query.categorymembers.forEach(function(data) {
    console.log(data.title + "\n" + originCategoryName + " -> 분류:" + toCategoryName);
   var lowerCase = originCategoryTitle.charAt(0).toLowerCase() + originCategoryTitle.slice(1);
   var lowerCase = originCategoryTitle.charAt(0).toLowerCase() + originCategoryTitle.slice(1);
     var pattern =
     var pattern =
31번째 줄: 30번째 줄:
       console.log(data);
       console.log(data);
     }).fail(function(data) {
     }).fail(function(data) {
       console.log(data);
       alert(data);
     });
     });
   });
   });
});
});
}
}

2022년 5월 31일 (화) 13:42 판

if (confirm('분류를 이전할까요?')) {
var toCategoryName = prompt("새 분류 이름을 입력하세요.");
var originCategoryName = mw.config.get().wgPageName;
var originCategoryTitle = mw.config.get().wgTitle;

//mw.loader.load('/index.php?title=사용자:하늘/page.js&action=raw&ctype=text/javascript');

new mw.Api().get({
  action: 'query',
  list: 'categorymembers',
  cmtitle: originCategoryName,
  cmlimit: 'max',
  format: 'json',
}).then(function(json) {
  json.query.categorymembers.forEach(function(data) {
   	var lowerCase = originCategoryTitle.charAt(0).toLowerCase() + originCategoryTitle.slice(1);
    var pattern =
    new RegExp("\[\[[ ]*분류[ ]*:[ ]*" + originCategoryTitle + "(.*)[ ]*\]\]|\[\[[ ]*분류[ ]*:[ ]*" + lowerCase + "(.*)[ ]*\]\]", "g");
    
    new mw.Api().edit(
      data.title,
      function(revision) {
        return {
          text: revision.content.replaceAll(pattern, "[[분류:" + toCategoryName +
          "$1]]"),
          summary: "분류:" + originCategoryTitle+
          " -> 분류:" + toCategoryName
        };
      }).then(function(data) {
      console.log(data);
    }).fail(function(data) {
      alert(data);
    });
  });
});
}