打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Citizen.js

MediaWiki界面页面

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
/* 这里的任何JavaScript将为使用Citizen皮肤的用户加载 */

mw.loader.using(['mediawiki.util']).done(() => {
  // 当点击主页上的假搜索按钮时触发搜索框
  const searchTrigger = document.getElementById('citizen-search-trigger');
  if (searchTrigger) {
    searchTrigger.addEventListener('click', () => {
      const search = document.getElementById('citizen-search-details');
      // HACK:强制显示 sticky header
      const isSearchHidden =
        document.body.classList.contains('citizen-scroll--down') &&
        window.matchMedia('(max-width: 1119px)').matches;
      if (isSearchHidden) {
        document.body.classList.remove('citizen-scroll--down');
        document.body.classList.add('citizen-scroll--up');
      }
      const { prefill } = searchTrigger.dataset;
      if (prefill) {
        const prefillText = mw.html.escape(prefill);
        document.getElementById('searchInput').value = prefillText;
      }
      // Citizen 没有始终可见的搜索框,需要先展开搜索卡片,
      // 展开后 Citizen 会自动聚焦到输入框
      search.open = true;
    });
  }
});

const avatarSpan = document.querySelector(".citizen-userMenu .mw-ui-icon-wikimedia-userAvatar");
if (avatarSpan) {
  const newImg = document.createElement("img");
  newImg.src = `/images/avatars/otomad_wiki_${mw.config.get('wgUserId')||0}_l`;
  newImg.alt = "User Avatar";
  newImg.width = 40;
  newImg.height = 40;
  newImg.classList.add("omw-user-menu-avatar");

  avatarSpan.replaceWith(newImg);
}