미디어위키: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);
    });
});