미디어위키:Common.js: 두 판 사이의 차이

아카디아(AKADIA)
(로고 워드마크 "아카디아 위키"로 변경 + 포럼 버튼 위치 조정)
(포럼 버튼: vector-header-end 첫 자식으로 흐름 배치 (절대 위치 제거))
4번째 줄: 4번째 줄:
(function() {
(function() {
     function applyLogo() {
     function applyLogo() {
         var $wm = $('.mw-logo-wordmark');
         var wm = document.querySelector('.mw-logo-wordmark');
         if ($wm.length && $wm.text().indexOf('위키') === -1) {
         if (wm && wm.textContent.indexOf('위키') === -1) {
             $wm.text('아카디아 위키');
             wm.textContent = '아카디아 위키';
         }
         }
     }
     }
    if (window.jQuery) {
        jQuery(function() { applyLogo(); });
    }
    // Also try once immediately in case DOM is already ready
     if (document.readyState !== 'loading') {
     if (document.readyState !== 'loading') {
         var wm = document.querySelector('.mw-logo-wordmark');
         applyLogo();
        if (wm && wm.textContent.indexOf('위키') === -1) wm.textContent = '아카디아 위키';
     } else {
     } else {
         document.addEventListener('DOMContentLoaded', function() {
         document.addEventListener('DOMContentLoaded', applyLogo);
            var wm = document.querySelector('.mw-logo-wordmark');
            if (wm && wm.textContent.indexOf('위키') === -1) wm.textContent = '아카디아 위키';
        });
     }
     }
    if (window.jQuery) { jQuery(applyLogo); }
})();
})();


29번째 줄: 22번째 줄:
     var $portal = $('<div class="akadia-portal-links"></div>');
     var $portal = $('<div class="akadia-portal-links"></div>');
     $portal.append('<a href="https://forum.akadia.kr/" class="akadia-portal-link" title="아카디아 포럼">아카디아 포럼</a>');
     $portal.append('<a href="https://forum.akadia.kr/" class="akadia-portal-link" title="아카디아 포럼">아카디아 포럼</a>');
     var $header = $('header.mw-header, .mw-header').first();
    /* .vector-header-end 첫 자식으로 삽입 -> [포럼][검색][사용자] 순으로 flex 배치 */
     if ($header.length) {
     var $end = $('.vector-header-end').first();
         $header.append($portal);
     if ($end.length) {
         $end.prepend($portal);
     } else {
     } else {
         var $userLinks = $('.vector-user-links').first();
         var $userLinks = $('.vector-user-links').first();

2026년 5월 12일 (화) 08:45 판

/* 아카디아 위키 - 사용자 정의 JS */

/* 로고 워드마크 텍스트 변경 */
(function() {
    function applyLogo() {
        var wm = document.querySelector('.mw-logo-wordmark');
        if (wm && wm.textContent.indexOf('위키') === -1) {
            wm.textContent = '아카디아 위키';
        }
    }
    if (document.readyState !== 'loading') {
        applyLogo();
    } else {
        document.addEventListener('DOMContentLoaded', applyLogo);
    }
    if (window.jQuery) { jQuery(applyLogo); }
})();

/* 아카디아 포럼 - 헤더 알약 탭 삽입 */
$(function() {
    if ($('.akadia-portal-links').length) return;
    var $portal = $('<div class="akadia-portal-links"></div>');
    $portal.append('<a href="https://forum.akadia.kr/" class="akadia-portal-link" title="아카디아 포럼">아카디아 포럼</a>');
    /* .vector-header-end 첫 자식으로 삽입 -> [포럼][검색][사용자] 순으로 flex 배치 */
    var $end = $('.vector-header-end').first();
    if ($end.length) {
        $end.prepend($portal);
    } else {
        var $userLinks = $('.vector-user-links').first();
        if ($userLinks.length) { $userLinks.before($portal); }
        else { $('#p-personal').before($portal); }
    }
});

/* 모바일 viewport 대응 */
(function() {
    var screenW = window.screen && window.screen.width;
    if (screenW && screenW <= 720) {
        var meta = document.querySelector('meta[name="viewport"]');
        var content = 'width=device-width, initial-scale=1, shrink-to-fit=no';
        if (meta) {
            meta.setAttribute('content', content);
        } else {
            meta = document.createElement('meta');
            meta.setAttribute('name', 'viewport');
            meta.setAttribute('content', content);
            document.head.appendChild(meta);
        }
    }
})();

/* 외부 링크 새 탭 열기 */
mw.hook('wikipage.content').add(function($content) {
    $content.find('a.external').not('[href^="#"]').not('.mw-editsection a').each(function() {
        var $a = $(this);
        if (!$a.attr('target')) {
            $a.attr('target', '_blank').attr('rel', 'noopener noreferrer');
        }
    });
});