打开/关闭搜索
搜索
打开/关闭菜单
69
174
8
978
CalcWiki
导航
首页
随机页面
特殊页面
上传文件
打开/关闭外观设置菜单
无法加载偏好设置。请检查您的网络连接并重试。
重试
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁MediaWiki:Gadget-RCSidebar.js”︁的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Gadget-RCSidebar.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:正式成员
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
const RECENT_CHANGES_MAX = 5; const RECENT_CHANGES_NS = 0; const RECENT_CHANGES_TYPES = ['new', 'edit']; const RECENT_CHANGES_PROPS = ['title', 'ids', 'user', 'userid', 'timestamp']; const THUMBNAIL_PLACEHOLDER_HTML = '<span class="cdx-thumbnail__placeholder"><span class="cdx-icon cdx-icon--medium cdx-thumbnail__placeholder__icon--vue"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"><g><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"></path><path d="M19 5H1V3h18zm0 12H1v-2h18z"></path></g></svg></span></span>'; const {timeSince} = mw.loader.require('ext.gadget.Util'); const api = new mw.Api(); Promise.all([ api.get({ action: 'query', list: 'recentchanges', rcprop: RECENT_CHANGES_PROPS, // In case of duplicates, we fetch 10 times more entries than we display rclimit: RECENT_CHANGES_MAX * 10, rcshow: '!bot', rctype: RECENT_CHANGES_TYPES, rcnamespace: RECENT_CHANGES_NS, }), api.get({ action: 'query', generator: 'recentchanges', grcnamespace: RECENT_CHANGES_NS, grclimit: RECENT_CHANGES_MAX * 10, grcshow: '!bot', prop: 'pageimages|info', inprop: 'displaytitle', }), ]).then(([recentChanges, recentChangesPageProps]) => { const seenPages = new Set(); const recentChangeItems = []; for (const recentChange of recentChanges.query.recentchanges) { if (seenPages.size >= RECENT_CHANGES_MAX) { break; } if (seenPages.has(recentChange.pageid)) { continue; } seenPages.add(recentChange.pageid); const pageProps = recentChangesPageProps.query.pages[recentChange.pageid]; const thumbnail = pageProps && pageProps.thumbnail ? $('<span>', { class: 'cdx-thumbnail__image', css: { backgroundImage: `url("${pageProps.thumbnail.source}")`, }, }) : THUMBNAIL_PLACEHOLDER_HTML; const userLink = mw.Title.makeTitle(2, recentChange.user).getUrl(); recentChangeItems.push($('<li>', { class: 'mw-list-item rc-sidebar-item', html: [ $('<span>', { class: 'cdx-thumbnail rc-sidebar-item-thumbnail', html: thumbnail, }), $('<span>', { class: 'rc-sidebar-item-body', html: [ $('<a>', { class: 'rc-sidebar-item-title', href: mw.util.getUrl(recentChange.title), html: $('<span>', { class: 'rc-sidebar-item-title-text', text: pageProps ? pageProps.displaytitle .replace(/<[^>]*>?/gm, ''): recentChange.title, }), }), $('<span>' , { class: 'rc-sidebar-item-description', html: [ $('<a>', { class: 'rc-sidebar-item-description-link', href: mw.util.getUrl(recentChange.title, { diff: recentChange.revid }), text: timeSince(recentChange.timestamp), }), '•', $('<a>', { class: 'rc-sidebar-item-description-link', href: userLink, text: recentChange.user, }), ], }), ], }), ], })); } $('.vector-sticky-pinned-container').append($('<div>', { class: 'vector-menu', html: [ $('<div>', { class: 'vector-menu-heading', html: $('<a>', { href: mw.util.getUrl('Special:RecentChanges'), text: mw.msg('gadget-rcsidebar-title'), }), }), $('<div>', { class: 'vector-menu-content', html: $('<ul>', { class: 'vector-menu-content-list', html: recentChangeItems, }), }), ], })); }).catch(err => console.error('Failed to fetch RC data for RCSidebar:', err));
返回
MediaWiki:Gadget-RCSidebar.js
。
查看“︁MediaWiki:Gadget-RCSidebar.js”︁的源代码
MediaWiki界面页面