편집 요약 없음 |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
/** | /** | ||
* 분류 자동 이동 도구 | * 분류 자동 이동 도구 | ||
* 분류 문서에서 버튼이 활성화됩니다. | |||
* | |||
* 리버티 스킨에서만 작동됩니다. | |||
* | |||
* 몇몇 의존성 스크립트가 있으니 토론으로 물어보세요. | |||
* | |||
* 저작자: 하늘 | * 저작자: 하늘 | ||
* 100개 정도 되는 문서가 있다면 다른 도구를 사용하세요. | * 100개 정도 되는 문서가 있다면 다른 도구를 사용하세요. |
2022년 5월 31일 (화) 13:47 판
/**
* 분류 자동 이동 도구
* 분류 문서에서 버튼이 활성화됩니다.
*
* 리버티 스킨에서만 작동됩니다.
*
* 몇몇 의존성 스크립트가 있으니 토론으로 물어보세요.
*
* 저작자: 하늘
* 100개 정도 되는 문서가 있다면 다른 도구를 사용하세요.
*/
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);
});
});
});
}