편집 요약 없음 |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
/* Xtools */ | /* Xtools */ | ||
mw. | /** | ||
* XTools ArticleInfo gadget | |||
* Based on meta.wikimedia.org/wiki/User:Hedonil/XTools | |||
* Documentation: mediawiki.org/wiki/XTools/ArticleInfo_gadget | |||
* Released under GPL 3.0+ license | |||
* For updates, please copy and paste from https://xtools.wmflabs.org/articleinfo-gadget.js | |||
*/ | |||
$(function () { | |||
if (mw.config.get('wgArticleId') === 0 || // no deleted articles, no special pages | |||
mw.config.get('wgCurRevisionId') !== mw.config.get('wgRevisionId') || // only current revision | |||
mw.config.get('wgAction') !== 'view') { // only when viewing a page, not editing | |||
return; | |||
} | |||
var $result, | |||
markup = "<div id='xtools' style='font-size:84%; line-height:1.2em;" + | |||
"width:auto;'><span id='xtools_result'>.</span></div>"; | |||
$(markup).insertBefore('#contentSub'); | |||
$result = $('#xtools_result'); | |||
var loadinganimation = window.setInterval(function () { | |||
if ($result.html() === '. ') { | |||
$result.html(' . '); | |||
} else if ($result.html() === ' . ') { | |||
$result.html(' .'); | |||
} else { | |||
$result.html('. '); | |||
} | |||
}, 300); | |||
$.get( | |||
'https://xtools.wmflabs.org/api/page/articleinfo/' + | |||
mw.config.get('wgServerName') + '/' + | |||
mw.config.get('wgPageName').replace(/["?%&+\\]/g, escape) + '?format=html' + | |||
'&uselang=' + mw.config.get('wgUserLanguage') | |||
).done(function (result) { | |||
$result.html(result); | |||
clearInterval(loadinganimation); | |||
}); | |||
}); | |||
/*** | /*** |
2022년 7월 21일 (목) 19:47 판
/* Xtools */
/**
* XTools ArticleInfo gadget
* Based on meta.wikimedia.org/wiki/User:Hedonil/XTools
* Documentation: mediawiki.org/wiki/XTools/ArticleInfo_gadget
* Released under GPL 3.0+ license
* For updates, please copy and paste from https://xtools.wmflabs.org/articleinfo-gadget.js
*/
$(function () {
if (mw.config.get('wgArticleId') === 0 || // no deleted articles, no special pages
mw.config.get('wgCurRevisionId') !== mw.config.get('wgRevisionId') || // only current revision
mw.config.get('wgAction') !== 'view') { // only when viewing a page, not editing
return;
}
var $result,
markup = "<div id='xtools' style='font-size:84%; line-height:1.2em;" +
"width:auto;'><span id='xtools_result'>.</span></div>";
$(markup).insertBefore('#contentSub');
$result = $('#xtools_result');
var loadinganimation = window.setInterval(function () {
if ($result.html() === '. ') {
$result.html(' . ');
} else if ($result.html() === ' . ') {
$result.html(' .');
} else {
$result.html('. ');
}
}, 300);
$.get(
'https://xtools.wmflabs.org/api/page/articleinfo/' +
mw.config.get('wgServerName') + '/' +
mw.config.get('wgPageName').replace(/["?%&+\\]/g, escape) + '?format=html' +
'&uselang=' + mw.config.get('wgUserLanguage')
).done(function (result) {
$result.html(result);
clearInterval(loadinganimation);
});
});
/***
* 편집요약 상용구
*
* 설명:
* 편집 요약 입력란 아래에, 클릭하면 요약에 정해진 문구를 입력하는 버튼을 추가
*
* 환경설정용 변수:
* window.esSummaries: object, 추가될 버튼 혹은 텍스트
***/
// 주 함수: 페이지 로드 완료 시 버튼 생성
function esEditSummary() {
var editform = document.getElementById('editform');
// 편집 화면(미리보기 포함)이면서 새 주제 덧붙이기가 아닌 경우
// (#wpSummary가 제목으로 사용되는 경우)에만 동작
// 요약창이 없는 경우에는 미동작
if (($.inArray( mw.config.get('wgAction'), ['edit', 'submit']) !== -1 && editform && editform.wpSection) &&
editform.wpSection.value !== 'new' && $('#wpSummary').length !== 0) {
// esCanBeMinor: esInsSummary 함수에서 사용
window.esCanBeMinor = 1;
// 레거시
if (typeof window.esSummaries === 'undefined' && typeof esEditSummaries === 'object') {
window.esSummaries = esEditSummaries;
}
// 컨테이너
$('#wpSummaryLabel').after($('<div></div>').attr('id', 'esBtns'));
// 레이블 추가
var label = $('<span></span>');
label.addClass('esLabel');
label.text('편집요약 상용구: ');
$("#esBtns").prepend(label);
$("#esBtns").append($('<br>'));
// 요약 비우기 버튼 추가
var clrBtn = $("<span></span>").attr('title', '편집 요약 비우기');
clrBtn.addClass('esClrBtn');
clrBtn.text('❌');
clrBtn.click(function () {
$('#wpMinoredit').prop('checked', mw.user.options.get('minordefault'));
$('#wpSummary')[0].value = '';
window.esCanBeMinor = 1;
});
$("#esBtns").append(clrBtn);
// 설정 배열의 각 요소에 대해 버튼 추가 함수 실행
for (var id in window.esSummaries) {
esAppendBtn(id);
}
}
}
// 버튼 추가 함수
function esAppendBtn(id) {
if (typeof window.esSummaries[id] === 'object') {
var btn = $("<span></span>").attr({
'class': 'esBtn',
'title': window.esSummaries[id][2]});
btn.text(window.esSummaries[id][0]);
btn.click(function () {esInsSummary(window.esSummaries[id][1],
window.esSummaries[id][3], window.esSummaries[id][4])});
$("#esBtns").append(btn);
}
// 줄바꿈 및 소제목
else if (typeof window.esSummaries[id] === 'string') {
if (window.esSummaries[id] === 'br') {
$('#esBtns').append($('<br>'));
}
else {
var sTitle = $("<span></span>").attr({
'class': 'esSTitle'});
sTitle.text(window.esSummaries[id]);
$('#esBtns').append(sTitle);
}
}
}
// 편집 요약 수정 함수: 버튼이 눌리면 동작
function esInsSummary(text, isMinor, clear) {
var wpSummary = $('#wpSummary')[0];
// 사소한 편집 여부 체크박스 조작
if (typeof isMinor !== 'undefined') {
// 사소한 편집이 명시적으로 아닌 요약이 한 번이라도 추가되면
// 다른 요약 버튼에 의해 사소한 편집이 체크되지 않음
if (isMinor === 0 ) window.esCanBeMinor = 0;
$('#wpMinoredit').prop('checked', (window.esCanBeMinor && isMinor));
}
if (typeof clear === 'undefined') clear = 0;
// 요약 비우기
if (clear) wpSummary.value = text;
// 요약 덧붙이기
else if (wpSummary.value.indexOf(text) === -1) {
if (wpSummary.value.match(/[^,; \/]$/)) wpSummary.value += ', ';
wpSummary.value = wpSummary.value.replace(/\s+$/, " ") + text;
}
}
jQuery( document ).ready(esEditSummary);
window.esSummaries = [
/*
['버튼 이름', '입력될 편집 요약', '툴팁으로 뜨는 설명', '사소한 편집 여부(0/1/undefined)', '상용구 넣기 전에 요약 지우기(0/1, 생략 가능)']
위와 같은 형식으로 새로운 버튼을 추가할 수 있습니다.
마지막 줄을 제외한 줄 끝에 쉼표가 들어가 있는지 확인해 주세요.
위의 형식 대신 '텍스트'의 형태로 임의의 글을 입력하면 그 글이 그대로, 'br'을 입력하면 줄바꿈이 삽입됩니다.
*/
['훼손', '[[백:문서 훼손|문서 훼손]]을 [[백:되돌리기|복구]]함 ', '문서 훼손을 복구함', 0, 1],
'br',
['위치', '위치를 변경하고 ', '위치를 변경하고'],
' | ',
['분류÷', '공통된 분류만을 남기고 ', '공통된 분류만을 남기고'],
' | ',
['링+', '링크를 추가하고 ', '링크를 추가하고'],
['링fix', '링크를 수정하고 ', '링크를 수정하고'],
['링±', '링크를 변경하고 ', '링크를 변경하고'],
['링-', '링크를 제거하고 ', '링크를 제거하고'],
['링×', '링크를 삭제하고 ', '링크를 삭제하고'],
' | ',
['오타', '오타를 수정하고 ', '오타를 수정하고'],
['맞춤', '맞춤법 오류를 수정하고 ', '맞춤법 오류를 수정하고'],
' | ',
['항+', '항목을 추가하고 ', '링크를 추가하고'],
['항fix', '항목을 수정하고 ', '링크를 수정하고'],
['항±', '항목을 변경하고 ', '링크를 변경하고'],
['항-', '항목을 제거하고 ', '링크를 제거하고'],
['항×', '항목을 삭제하고 ', '링크를 삭제하고'],
' | ',
['내+', '내용을 추가하고 ', '내용을 추가하고'],
['내fix', '내용을 수정하고 ', '내용을 수정하고'],
['내±', '내용을 변경하고 ', '내용을 변경하고'],
['내÷', '내용을 정리하고 ', '내용을 정리하고'],
['내×', '내용을 삭제하고 ', '내용을 삭제하고'],
' | ',
['틀+', '틀을 추가하고 ', '틀을 추가하고'],
['틀fix', '틀을 수정하고 ', '틀을 수정하고'],
['틀±', '틀을 변경하고 ', '틀을 변경하고'],
['틀-', '틀을 제거하고 ', '틀을 제거하고'],
' | ',
['파일+', '파일을 추가하고 ', '파일을 추가하고'],
['파일fix', '파일을 수정하고 ', '파일을 수정하고'],
['파일±', '파일을 변경하고 ', '파일을 변경하고'],
['파일×', '파일을 삭제하고 ', '파일을 삭제하고'],
' | ',
['분류×', '분류를 삭제하고 ', '분류를 삭제하고'],
'br',
['위치', '위치를 변경함 ', '위치를 변경함'],
' | ',
['분류÷', '공통된 분류만을 남김 ', '공통된 분류만을 남김'],
' | ',
['링+', '링크를 추가함 ', '링크를 추가함'],
['링fix', '링크를 수정함 ', '링크를 수정함'],
['링±', '링크를 변경함 ', '링크를 변경함'],
['링-', '링크를 제거함 ', '링크를 제거함'],
['링×', '링크를 삭제함 ', '링크를 삭제함'],
' | ',
['오타', '오타를 수정함 ', '오타를 수정함'],
['맞춤', '맞춤법 오류를 수정함 ', '맞춤법 오류를 수정함'],
' | ',
['항+', '항목을 추가함 ', '링크를 추가함'],
['항fix', '항목을 수정함 ', '링크를 수정함'],
['항±', '항목을 변경함 ', '링크를 변경함'],
['항-', '항목을 제거함 ', '링크를 제거함'],
['항×', '항목을 삭제함 ', '링크를 삭제함'],
' | ',
['내+', '내용을 추가함 ', '내용을 추가함'],
['내fix', '내용을 수정함 ', '내용을 수정함'],
['내±', '내용을 변경함 ', '내용을 변경함'],
['내÷', '내용을 정리함 ', '내용을 정리함'],
['내×', '내용을 삭제함 ', '내용을 삭제함'],
' | ',
['틀+', '틀을 추가함 ', '틀을 추가함'],
['틀fix', '틀을 수정함 ', '틀을 수정함'],
['틀±', '틀을 변경함 ', '틀을 변경함'],
['틀-', '틀을 제거함 ', '틀을 제거함'],
' | ',
['파일+', '파일을 추가함 ', '파일을 추가함'],
['파일fix', '파일을 수정함 ', '파일을 수정함'],
['파일±', '파일을 변경함 ', '파일을 변경함'],
['파일×', '파일을 삭제함 ', '파일을 삭제함'],
' | ',
['분류×', '분류를 삭제함 ', '분류를 삭제함'],
'br',
['모호', '[[백:모호|모호한]] ', '모호한'],
['not중립', '[[백:중립|중립]]적이지 않은 ', '중립적이지 않은'],
'br',
['—', '— ', '—'],
['잘못되었다면 이유를…', '— 이 편집이 잘못되었다면 이유를 알려주세요! 😃', '— 이 편집이 잘못되었다면 이유를 알려주세요! 😃']
];