미디어위키:Gadget-quickpage.js
참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
mw.loader.using(
['oojs-ui-core', 'oojs-ui.styles.icons-editing'],
function () {
/* ────────── CSS (1회 삽입) ────────── */
if (!document.getElementById('qp-style')) {
mw.util.addCSS(`
.qp-card {
padding:16px;
border:1px solid light-dark(#ccc,#555);
border-radius:8px;
background:light-dark(#f9f9f9,#222);
}
`).id = 'qp-style';
}
/* ────────── UI 주입 ────────── */
mw.hook('wikipage.content').add(function ($content) {
$content.find('.quickpage-container').each(function () {
var $box = $(this);
if ($box.children().length) return;
var input = new OO.ui.TextInputWidget({
placeholder: '문서 제목 입력…'
});
var button = new OO.ui.ButtonWidget({
label: '문서 생성',
icon: 'edit',
flags: ['progressive']
});
var field = new OO.ui.ActionFieldLayout(
input, button, { align: 'top' }
);
$box.append(field.$element);
function go() {
var title = input.getValue().trim();
if (!title) return;
var encoded = mw.util.wikiUrlencode(title);
// MediaWiki는 존재 여부와 상관없이 edit로 가면
// 없으면 생성, 있으면 편집
var url = mw.util.getUrl(encoded, { action: 'edit' });
window.location.href = url;
}
button.on('click', go);
input.on('enter', go);
});
});
}
);