User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
The creatorInfo is now prepended to the $('#content') element. |
No edit summary |
||
Line 62: | Line 62: | ||
}); |
}); |
||
// Append the creator info below the title bar |
|||
$('#bodyContent').prepend(creatorInfo); // Try '#mw-content-text' if '#bodyContent' doesn't work |
|||
} |
} |
||
Revision as of 09:39, 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';
// 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 creatorInfo = $('<div>')
.text('Page created by: ' + creator + ' (' + editCount + ' edits)')
.css({
'font-size': 'small',
'color': '#666',
'margin-top': '5px'
});
// Append the creator info below the title bar
$('#bodyContent').prepend(creatorInfo); // Try '#mw-content-text' if '#bodyContent' doesn't work
}
fetchPageCreator();
});