잔글 (Chirho님이 사용자:Cerulean/moveCategory.js 문서를 넘겨주기를 만들지 않고 사용자:하늘/moveCategory.js 문서로 이동했습니다: "Cerulean" 사용자의 이름을 "하늘"(으)로 바꿀 때 문서를 자동으로 이동했습니다) |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
var toCategoryName = prompt("새 분류 이름을 입력하세요.") | var toCategoryName = prompt("새 분류 이름을 입력하세요."); | ||
var originCategoryName = mw.config.get().wgPageName | var originCategoryName = mw.config.get().wgPageName; | ||
var originCategoryTitle = mw.config.get().wgTitle | var originCategoryTitle = mw.config.get().wgTitle; | ||
//mw.loader.load('/index.php?title=사용자:하늘/page.js&action=raw&ctype=text/javascript'); | |||
new mw.Api().get({ | new mw.Api().get({ | ||
11번째 줄: | 13번째 줄: | ||
cmtype: 'page' | cmtype: 'page' | ||
}).then(function(json) { | }).then(function(json) { | ||
json | json.query.categorymembers.forEach(function(data) { | ||
console.log(data.title + "\n" + originCategoryName + " -> 분류:" + toCategoryName); | console.log(data.title + "\n" + originCategoryName + " -> 분류:" + toCategoryName); | ||
new mw.Api().edit( | new mw.Api().edit( | ||
data.title, | data.title, | ||
function(revision) { | function(revision) { | ||
var pattern = new RegExp("\[\[[ ]*분류[ ]*:[ ]*" + originCategoryTitle + "[ ]*\]\]") | var pattern = new RegExp("\[\[[ ]*분류[ ]*:[ ]*" + originCategoryTitle + "[ ]*\]\]"); | ||
var pattern2 = new RegExp("\[\[[ ]*분류[ ]*:[ ]*" + | var pattern2 = new RegExp("\[\[[ ]*분류[ ]*:[ ]*" + | ||
originCategoryTitle.charAt(0).toLowerCase() + originCategoryTitle.slice(1) + | originCategoryTitle.charAt(0).toLowerCase() + originCategoryTitle.slice(1) + | ||
"[ ]*\]\]") | "[ ]*\]\]"); | ||
var replaced = revision.content.replace(pattern, "[[분류:" + toCategoryName + | var replaced = revision.content.replace(pattern, "[[분류:" + toCategoryName + | ||
29번째 줄: | 31번째 줄: | ||
}; | }; | ||
}).then(function(data) { | }).then(function(data) { | ||
console.log(data) | console.log(data); | ||
}).fail(function(data) { | }).fail(function(data) { | ||
console.log(data) | console.log(data); | ||
}) | }) | ||
}); | }); | ||
}); | }); |
2022년 5월 13일 (금) 15:35 판
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',
cmtype: 'page'
}).then(function(json) {
json.query.categorymembers.forEach(function(data) {
console.log(data.title + "\n" + originCategoryName + " -> 분류:" + toCategoryName);
new mw.Api().edit(
data.title,
function(revision) {
var pattern = new RegExp("\[\[[ ]*분류[ ]*:[ ]*" + originCategoryTitle + "[ ]*\]\]");
var pattern2 = new RegExp("\[\[[ ]*분류[ ]*:[ ]*" +
originCategoryTitle.charAt(0).toLowerCase() + originCategoryTitle.slice(1) +
"[ ]*\]\]");
var replaced = revision.content.replace(pattern, "[[분류:" + toCategoryName +
"]]").replace(pattern2, "[[분류:" + toCategoryName +
"]]");
return {
text: replaced
};
}).then(function(data) {
console.log(data);
}).fail(function(data) {
console.log(data);
})
});
});