미디어위키:Gadget-autonum.js: 두 판 사이의 차이
새 문서: →* * Auto-number headings * * @source https://www.mediawiki.org/wiki/Snippets/Auto-number_headings * @author Krinkle * @version 2024-07-28: var toc = document.querySelector('#toc'); if (toc) { document.body.classList.add('tpl-autonum-attr'); // Support legacy Parser: <h2><span class=mw-headline id=…> // Support Parsoid: <section><div class=mw-heading><h2 id…> document.querySelectorAll('.mw-parser-output :is(h1,h2,h3,h4,h5,h6) .mw-headline[id], .mw-parser-out... |
편집 요약 없음 태그: 되돌려진 기여 |
||
| 18번째 줄: | 18번째 줄: | ||
document.body.classList.add('tpl-autonum'); | document.body.classList.add('tpl-autonum'); | ||
} | } | ||
mw.loader.using(['mediawiki.util'], function () { | |||
$(function () { | |||
// 검색 특별 문서에서만 동작 | |||
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Search') { | |||
return; | |||
} | |||
var $results = $('.searchresults'); | |||
if (!$results.length) { | |||
return; | |||
} | |||
// OOUI 검색 입력창 (#ooui-php-1)에서 검색어 가져오기 | |||
var $input = $('#ooui-php-1'); | |||
if (!$input.length) { | |||
return; | |||
} | |||
var title = $.trim($input.val()); | |||
if (!title) { | |||
return; | |||
} | |||
// 해당 제목 문서의 URL | |||
var url = mw.util.getUrl(title); | |||
// 박스 생성 | |||
var $box = $('<div>') | |||
.addClass('mw-search-go-box') | |||
.css({ | |||
'border': '1px solid #ccc', | |||
'padding': '0.75em 1em', | |||
'margin-bottom': '1em', | |||
'background': '#f8f9fa' | |||
}); | |||
// 설명 텍스트 | |||
var $text = $('<span>') | |||
.text('검색어와 동일한 제목의 문서로 바로 가기: '); | |||
// 링크 | |||
var $link = $('<a>') | |||
.attr('href', url) | |||
.text('"' + title + '" 문서'); | |||
// 버튼 | |||
var $button = $('<button>') | |||
.text('열기') | |||
.css({ | |||
'margin-left': '0.75em', | |||
'cursor': 'pointer' | |||
}) | |||
.on('click', function () { | |||
location.href = url; | |||
}); | |||
// 조립 | |||
$box.append($text, $link, $button); | |||
// .searchresults 위에 삽입 | |||
$results.first().before($box); | |||
}); | |||
}); | |||
2025년 11월 14일 (금) 14:29 판
/**
* Auto-number headings
*
* @source https://www.mediawiki.org/wiki/Snippets/Auto-number_headings
* @author Krinkle
* @version 2024-07-28
*/
var toc = document.querySelector('#toc');
if (toc) {
document.body.classList.add('tpl-autonum-attr');
// Support legacy Parser: <h2><span class=mw-headline id=…>
// Support Parsoid: <section><div class=mw-heading><h2 id…>
document.querySelectorAll('.mw-parser-output :is(h1,h2,h3,h4,h5,h6) .mw-headline[id], .mw-parser-output .mw-heading [id]:is(h1,h2,h3,h4,h5,h6)').forEach(function (headline) {
var num = toc.querySelector('a[href="#' + CSS.escape(headline.id) + '"] .tocnumber');
if (num) headline.setAttribute('data-autonum', num.textContent);
});
} else {
document.body.classList.add('tpl-autonum');
}
mw.loader.using(['mediawiki.util'], function () {
$(function () {
// 검색 특별 문서에서만 동작
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Search') {
return;
}
var $results = $('.searchresults');
if (!$results.length) {
return;
}
// OOUI 검색 입력창 (#ooui-php-1)에서 검색어 가져오기
var $input = $('#ooui-php-1');
if (!$input.length) {
return;
}
var title = $.trim($input.val());
if (!title) {
return;
}
// 해당 제목 문서의 URL
var url = mw.util.getUrl(title);
// 박스 생성
var $box = $('<div>')
.addClass('mw-search-go-box')
.css({
'border': '1px solid #ccc',
'padding': '0.75em 1em',
'margin-bottom': '1em',
'background': '#f8f9fa'
});
// 설명 텍스트
var $text = $('<span>')
.text('검색어와 동일한 제목의 문서로 바로 가기: ');
// 링크
var $link = $('<a>')
.attr('href', url)
.text('"' + title + '" 문서');
// 버튼
var $button = $('<button>')
.text('열기')
.css({
'margin-left': '0.75em',
'cursor': 'pointer'
})
.on('click', function () {
location.href = url;
});
// 조립
$box.append($text, $link, $button);
// .searchresults 위에 삽입
$results.first().before($box);
});
});