MediaWiki:Common.js
Appearance
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
var script = document.createElement("script");
script.setAttribute("async", "");
script.src = "https://www.googletagmanager.com/gtag/js?id=G-7H19MR0RZG";
document.head.appendChild(script);
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-7H19MR0RZG');
// Recently Added Profiles Widget
mw.loader.using('mediawiki.api').then(function () {
var api = new mw.Api();
api.get({
action: 'query',
list: 'recentchanges',
rcnamespace: 0, // Main namespace only
rctype: 'new',
rclimit: 5,
rcprop: 'title|timestamp',
format: 'json'
}).done(function (data) {
var container = document.getElementById('recent-pages');
if (!container) return;
var html = '<ul>';
data.query.recentchanges.forEach(function (page) {
var title = page.title;
var url = mw.util.getUrl(title);
html += '<li><a href="' + url + '">' + title + '</a></li>';
});
html += '</ul>';
container.innerHTML = html;
}).fail(function () {
var container = document.getElementById('recent-pages');
if (container) {
container.innerHTML = 'Unable to load recent pages.';
}
});
});
mw.loader.using('jquery', function () {
$(function () {
if (!$('#promo-banner').length) {
var promoContainer = $('<div id="promo-banner-container"></div>');
var promo = $('<div id="promo-banner">Want to rank your website at the top of Google? Or need expert SEO services to boost your business? <br>🚀 <a href="https://www.upwork.com/freelancers/eliteseoexpert" target="_blank">Hire me on Upwork</a> now and let’s grow your traffic!</div>');
promoContainer.append(promo);
// Add it right under the header in Vector 2022
var headerArea = $('.vector-header-container');
if (headerArea.length) {
headerArea.after(promoContainer);
}
}
});
});
mw.loader.using('mediawiki.api', function () {
$(document).ready(function () {
// Override default search suggestions
var $searchInput = $('#searchInput');
$searchInput.on('input', function () {
var query = $searchInput.val();
if (query.length < 2) return;
new mw.Api().get({
action: 'query',
generator: 'prefixsearch',
gpssearch: query,
gpsnamespace: 0,
gpslimit: 5,
prop: 'pageimages',
piprop: 'thumbnail',
pithumbsize: 50,
format: 'json'
}).done(function (data) {
var $resultsBox = $('#searchResultsBox');
if ($resultsBox.length === 0) {
$resultsBox = $('<div id="searchResultsBox"></div>').css({
'position': 'absolute',
'background': '#fff',
'border': '1px solid #ccc',
'z-index': 1000,
'width': $searchInput.outerWidth()
}).insertAfter($searchInput);
}
$resultsBox.empty();
if (data.query && data.query.pages) {
var pages = Object.values(data.query.pages);
pages.forEach(function (page) {
var thumb = page.thumbnail ? page.thumbnail.source : 'https://upload.wikimedia.org/wikipedia/commons/6/65/No-Image-Placeholder.svg';
var $item = $('<div></div>').css({
'display': 'flex',
'align-items': 'center',
'padding': '5px',
'cursor': 'pointer'
});
var $img = $('<img>').attr('src', thumb).css({
'width': '40px',
'height': '40px',
'margin-right': '8px',
'object-fit': 'cover'
});
var $title = $('<span></span>').text(page.title);
$item.append($img).append($title);
$item.on('click', function () {
window.location.href = mw.util.getUrl(page.title);
});
$resultsBox.append($item);
});
}
});
});
// Hide results when clicking outside
$(document).on('click', function (e) {
if (!$(e.target).closest('#searchInput, #searchResultsBox').length) {
$('#searchResultsBox').remove();
}
});
});
});