MediaWiki:Common.js: Difference between revisions
Appearance
FrankMuraca (talk | contribs) No edit summary |
FrankMuraca (talk | contribs) No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
/* | /* Buy Me a Coffee button in sidebar */ | ||
// Find the | function injectBmc() { | ||
var | // Find the placeholder link (works for /Bmc-placeholder and /wiki/Bmc-placeholder) | ||
var link = | |||
document.querySelector('#mw-panel a[href$="Bmc-placeholder"]') || | |||
document.querySelector('#mw-panel a[href*="Bmc-placeholder"]') || | |||
document.querySelector('#mw-panel a[href*="bmc-placeholder"]'); | |||
if (!link) return false; | |||
// Replace the whole <li> contents so we don't keep a bullet link | |||
var li = link.closest('li'); | |||
if (!li) return false; | |||
if ( | // Avoid duplicates | ||
if (li.dataset.loaded === '1') return true; | |||
li.dataset.loaded = '1'; | |||
li.innerHTML = '<div id="bmc-button-container" style="padding:0.25rem 0;"></div>'; | |||
var container = document.getElementById('bmc-button-container'); | |||
if (!container) return false; | |||
var script = document.createElement('script'); | var script = document.createElement('script'); | ||
script.src = 'https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js'; | script.src = 'https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js'; | ||
| Line 35: | Line 36: | ||
script.setAttribute('data-coffee-color', '#ffffff'); | script.setAttribute('data-coffee-color', '#ffffff'); | ||
container.appendChild(script); | |||
return true; | |||
} | |||
document.addEventListener('DOMContentLoaded', function () { | |||
// Try a few times because Vector 2022 can re-render the sidebar | |||
injectBmc(); | |||
setTimeout(injectBmc, 300); | |||
setTimeout(injectBmc, 1200); | |||
}); | }); | ||
Latest revision as of 15:48, 29 January 2026
/* Buy Me a Coffee button in sidebar */
function injectBmc() {
// Find the placeholder link (works for /Bmc-placeholder and /wiki/Bmc-placeholder)
var link =
document.querySelector('#mw-panel a[href$="Bmc-placeholder"]') ||
document.querySelector('#mw-panel a[href*="Bmc-placeholder"]') ||
document.querySelector('#mw-panel a[href*="bmc-placeholder"]');
if (!link) return false;
// Replace the whole <li> contents so we don't keep a bullet link
var li = link.closest('li');
if (!li) return false;
// Avoid duplicates
if (li.dataset.loaded === '1') return true;
li.dataset.loaded = '1';
li.innerHTML = '<div id="bmc-button-container" style="padding:0.25rem 0;"></div>';
var container = document.getElementById('bmc-button-container');
if (!container) return false;
var script = document.createElement('script');
script.src = 'https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js';
script.async = true;
script.setAttribute('data-name', 'bmc-button');
script.setAttribute('data-slug', 'Raleighpedia');
script.setAttribute('data-color', '#FFDD00');
script.setAttribute('data-font', 'Lato');
script.setAttribute('data-text', 'Buy Raleighpedia a coffee');
script.setAttribute('data-outline-color', '#000000');
script.setAttribute('data-font-color', '#000000');
script.setAttribute('data-coffee-color', '#ffffff');
container.appendChild(script);
return true;
}
document.addEventListener('DOMContentLoaded', function () {
// Try a few times because Vector 2022 can re-render the sidebar
injectBmc();
setTimeout(injectBmc, 300);
setTimeout(injectBmc, 1200);
});