User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
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: | ||
}); | }); | ||
$('#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();
});