User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
var pageTitle = mw.config.get('wgPageName'); // Get the current page title |
var pageTitle = mw.config.get('wgPageName'); // Get the current page title |
||
var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php'; |
var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php'; |
||
var wikiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath'); |
|||
// Function to fetch page creator |
// Function to fetch page creator |
||
Line 54: | Line 55: | ||
// Function to display the creator with edit count |
// Function to display the creator with edit count |
||
function displayCreator(creator, editCount) { |
function displayCreator(creator, editCount) { |
||
var userPageURL = wikiURL + '/wiki/User:' + encodeURIComponent(creator); |
|||
var userContribsURL = wikiURL + '/wiki/Special:Contributions/' + encodeURIComponent(creator); |
|||
var creatorLink = $('<a>') |
|||
.attr('href', userPageURL) |
|||
.text(creator) |
|||
.css({'color': '#0645ad'}); |
|||
var contribsLink = $('<a>') |
|||
.attr('href', userContribsURL) |
|||
.text(editCount + ' edits') |
|||
.css({'color': '#0645ad'}); |
|||
var creatorInfo = $('<div>') |
var creatorInfo = $('<div>') |
||
. |
.append('Page created by: ') |
||
.append(creatorLink) |
|||
.append(' (') |
|||
.append(contribsLink) |
|||
.append(')') |
|||
.css({ |
.css({ |
||
'font-size': 'small', |
'font-size': 'small', |
||
Line 62: | Line 80: | ||
}); |
}); |
||
// Append the creator info below the title bar |
|||
$('#bodyContent').prepend(creatorInfo); // Try '#mw-content-text' if '#bodyContent' doesn't work |
$('#bodyContent').prepend(creatorInfo); // Try '#mw-content-text' if '#bodyContent' doesn't work |
||
} |
} |
Revision as of 09:43, 26 December 2023
// This script assumes you are on a Wikimedia page and have jQuery available
$(document).ready(function() {
var pageTitle = mw.config.get('wgPageName'); // Get the current page title
var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
var wikiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath');
// Function to fetch page creator
function fetchPageCreator() {
$.ajax({
url: apiURL,
data: {
action: 'query',
format: 'json',
titles: pageTitle,
prop: 'revisions',
rvlimit: 1,
rvdir: 'newer',
rvprop: 'user'
},
dataType: 'json',
success: function(response) {
if (response.query && response.query.pages) {
var pages = response.query.pages;
var pageId = Object.keys(pages)[0];
if (pages[pageId].revisions && pages[pageId].revisions[0]) {
var creator = pages[pageId].revisions[0].user;
fetchUserEditCount(creator);
}
}
}
});
}
// Function to fetch user's edit count
function fetchUserEditCount(username) {
$.ajax({
url: apiURL,
data: {
action: 'query',
format: 'json',
list: 'users',
ususers: username,
usprop: 'editcount'
},
dataType: 'json',
success: function(response) {
if (response.query && response.query.users && response.query.users[0]) {
var editCount = response.query.users[0].editcount;
displayCreator(username, editCount);
}
}
});
}
// Function to display the creator with edit count
function displayCreator(creator, editCount) {
var userPageURL = wikiURL + '/wiki/User:' + encodeURIComponent(creator);
var userContribsURL = wikiURL + '/wiki/Special:Contributions/' + encodeURIComponent(creator);
var creatorLink = $('<a>')
.attr('href', userPageURL)
.text(creator)
.css({'color': '#0645ad'});
var contribsLink = $('<a>')
.attr('href', userContribsURL)
.text(editCount + ' edits')
.css({'color': '#0645ad'});
var creatorInfo = $('<div>')
.append('Page created by: ')
.append(creatorLink)
.append(' (')
.append(contribsLink)
.append(')')
.css({
'font-size': 'small',
'color': '#666',
'margin-top': '5px'
});
$('#bodyContent').prepend(creatorInfo); // Try '#mw-content-text' if '#bodyContent' doesn't work
}
fetchPageCreator();
});