Site Notice

hello, world

MediaWiki:Gadget-WikiForum/theme.default.js

From Project-EPB Commons
< MediaWiki:Gadget-WikiForum
Revision as of 22:09, 28 December 2020 by 机智的小鱼君 (talk | contribs) ([InPageEdit] 没有编辑摘要)

Invoke this: https://common.wjghj.cn/

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/**
 * @function theme.default 标准的官方主题
 * @param {Object} ctx
 * @param {jQuery<Element>} ctx.fn.newThreadArea
 * @param {jQuery<Element>} ctx.fn.newReplyArea
 * @param {Object} ctx.meta
 *
 * @param {Function} next
 */
mw.hook('WikiForum.theme').add(next => {
  var allForumsContainer = ctx => {
    return $('<div>', { class: 'wiki-forum-all-container' })
  }

  var forumContainer = ctx => {
    return $('<div>', { class: 'wiki-forum', 'data-forumid': ctx.forumid })
  }

  var firstThread = ctx => {
    return $('<div>', { class: 'forum-thread forum-first' }).append(
      $('<div>', { class: 'forum-before' }).append(
        $('<h3>', { class: 'forum-title', text: ctx.title }),
        $('<div>', { class: 'forum-user' }).append(
          $('<span>', { class: 'forum-user-link' }).append(
            $('<a>', {
              text: ctx.meta.userAuthor,
              href: mw.util.getUrl('User:' + ctx.meta.userAuthor),
            })
          )
        )
      ),
      $('<div>', { class: 'forum-content', html: ctx.content }),
      $('<div>', { class: 'forum-after' }).append(
        $('<i>', {
          class: 'post-date',
          text: new Date(ctx.meta.timePublish).toLocaleString(),
        })
      ),
      ctx.fn.newThreadArea
    )
  }

  var normalThread = ctx => {
    return $('<div>', { class: 'forum-thread' }).append(
      $('<div>', { class: 'forum-before' }).append(
        $('<div>', { class: 'forum-user' }).append(
          $('<span>', { class: 'forum-user-link' }).append(
            $('<a>', {
              text: ctx.meta.userAuthor,
              href: mw.util.getUrl('User:' + ctx.meta.userAuthor),
            })
          )
        )
      ),
      $('<div>', { class: 'forum-content', html: ctx.content }),
      $('<div>', { class: 'forum-after' }).append(
        $('<i>', {
          class: 'post-date',
          text: new Date(ctx.meta.timePublish).toLocaleString(),
        }),
        ctx.fn.newReplyArea
      )
    )
  }

  next &&
    next({
      allForumsContainer,
      forumContainer,
      // beforeForum,
      firstThread,
      normalThread,
      // afterForum,
    })
})