User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
(extract the username specifically from user contributions pages) |
(using a regular expression) |
||
Line 7: | Line 7: | ||
// Check if the current page is a user contributions page | // Check if the current page is a user contributions page | ||
if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') { | if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') { | ||
// Extract username from the contributions page | // Extract username from the contributions page using a regular expression | ||
var match = pageTitle.match(/Special:Contributions\/( | var match = pageTitle.match(/Special:Contributions\/([^?]+)/); | ||
username = match ? match[1] : null; | username = match ? match[1] : null; | ||
} else { | } else { |
Revision as of 07:25, 10 November 2023
mw.loader.using(['mediawiki.util'])
.then(function () {
// Extract the username from the current page title
var pageTitle = mw.config.get('wgTitle');
var username;
// Check if the current page is a user contributions page
if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
// Extract username from the contributions page using a regular expression
var match = pageTitle.match(/Special:Contributions\/([^?]+)/);
username = match ? match[1] : null;
} else {
// Extract username from the regular page title
username = pageTitle.split('/')[0];
}
// Check if the current page is a user page, user talk page, or user contributions page
var isUserPage = mw.config.get('wgNamespaceNumber') === 2; // User namespace
var isTalkPage = mw.config.get('wgNamespaceNumber') === 3; // User talk namespace
var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions';
// If the current page is a user page, user talk page, or user contributions page, add the "SUL" link
if (isUserPage || isTalkPage || isContributionsPage) {
var sulLink = mw.util.addPortletLink(
'p-cactions',
mw.util.getUrl('Special:CentralAuth/' + username),
'SUL',
'ca-sul',
'SUL',
null,
'#ca-sul'
);
}
});