MediaWiki:Common.js
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.
(function () {
if (new URLSearchParams(window.location.search).get('embed') === '1') {
document.body.classList.add('rpgc-embed');
}
function applyWidthMode() {
var narrowWindow = window.matchMedia('(max-width: 950px)').matches;
var mode = localStorage.getItem('rpgc-width-mode') || 'readable';
document.body.classList.remove(
'rpgc-readable-width',
'rpgc-full-width',
'rpgc-narrow-width'
);
if (narrowWindow) {
document.body.classList.add('rpgc-narrow-width');
} else {
document.body.classList.add(
mode === 'full' ? 'rpgc-full-width' : 'rpgc-readable-width'
);
}
var button = document.getElementById('rpgc-width-toggle');
if (button) {
button.textContent =
mode === 'full' ? 'Readable width' : 'Full width';
}
}
function addToggle() {
if (document.getElementById('rpgc-width-toggle')) return;
var title = document.querySelector('.firstHeading, .mw-first-heading');
if (!title) return;
var button = document.createElement('button');
button.id = 'rpgc-width-toggle';
button.type = 'button';
button.addEventListener('click', function () {
var current = localStorage.getItem('rpgc-width-mode') || 'readable';
localStorage.setItem('rpgc-width-mode', current === 'full' ? 'readable' : 'full');
applyWidthMode();
});
title.appendChild(button);
applyWidthMode();
}
$(addToggle);
mw.hook('wikipage.content').add(addToggle);
window.addEventListener('resize', applyWidthMode);
})();