MediaWiki:Common.js: Difference between revisions
Appearance
Fixed 3D tag cloud - now auto-rotates continuously, uses Canvas for visibility, clickable tags, proper depth sorting |
Using proven TagCanvas library from CDN for reliable 3D auto-rotating tag cloud |
||
| Line 44: | Line 44: | ||
/** | /** | ||
* | * 3D Rotating Tag Cloud using TagCanvas library | ||
* | * Loads from CDN and initializes on Main Page | ||
*/ | */ | ||
(function() { | (function() { | ||
| Line 54: | Line 54: | ||
$(document).ready(function() { | $(document).ready(function() { | ||
// Check if canvas element exists | |||
if (!document.getElementById('tagcanvas')) { | |||
return; | |||
// | |||
} | } | ||
// | // Load TagCanvas library from CDN | ||
var script = document.createElement('script'); | |||
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery.tagcanvas/2.11/jquery.tagcanvas.min.js'; | |||
// | script.onload = function() { | ||
// Initialize TagCanvas after library loads | |||
try { | |||
$('#tagcanvas').tagcanvas({ | |||
textColour: '#ffffff', | |||
textFont: 'sans-serif, Arial, Helvetica', | |||
outlineColour: 'transparent', | |||
outlineThickness: 0, | |||
maxSpeed: 0.03, | |||
freezeActive: true, | |||
shuffleTags: true, | |||
shape: 'sphere', | |||
zoom: 1.0, | |||
noSelect: true, | |||
textHeight: 20, | |||
wheelZoom: false, | |||
reverse: true, | |||
depth: 0.8, | |||
initial: [0.1, -0.1], | |||
fadeIn: 1000, | |||
clickToFront: 600, | |||
shadow: '#000000', | |||
shadowBlur: 3, | |||
shadowOffset: [0, 2], | |||
weight: true, | |||
weightMode: 'size', | |||
weightFrom: 'font-size', | |||
weightSize: 1.5, | |||
weightGradient: { | |||
0: '#ffffff', | |||
0.5: '#ffffff', | |||
1: '#ffffff' | |||
} | |||
}, 'tagcanvas-wrapper'); | |||
} catch(e) { | |||
// If TagCanvas fails, hide canvas and show fallback | |||
$('#tagcanvas-wrapper').html('<div style="color: white; padding: 40px;">Trending: Satya Nadella • Tim Cook • Elon Musk • Jensen Huang • Mark Zuckerberg • Sundar Pichai • Andy Jassy • Lisa Su • Mary Barra • Jamie Dimon</div>'); | |||
} | } | ||
} | }; | ||
script.onerror = function() { | |||
// If CDN fails, show fallback | |||
$('#tagcanvas-wrapper').html('<div style="color: white; padding: 40px;">Trending: Satya Nadella • Tim Cook • Elon Musk • Jensen Huang • Mark Zuckerberg • Sundar Pichai • Andy Jassy • Lisa Su • Mary Barra • Jamie Dimon</div>'); | |||
}; | |||
document.head.appendChild(script); | |||
}); | }); | ||
})(); | })(); | ||
Revision as of 10:27, 20 October 2025
/**
* Add statistics banner to account creation page
*/
(function() {
// Only run on Special:CreateAccount page
if (mw.config.get('wgCanonicalSpecialPageName') !== 'CreateAccount') {
return;
}
// Get site statistics via API
var api = new mw.Api();
api.get({
action: 'query',
meta: 'siteinfo',
siprop: 'statistics',
format: 'json'
}).done(function(data) {
var stats = data.query.statistics;
// Create statistics banner
var banner = $('<div>').addClass('createaccount-statistics').html(
'<div class="createaccount-statistics-title">CEO.wiki is made by people like you.</div>' +
'<div class="createaccount-statistics-grid">' +
'<div class="createaccount-stat-item">' +
'<div class="createaccount-stat-number">' + stats.edits.toLocaleString() + '</div>' +
'<div class="createaccount-stat-label">Edits</div>' +
'</div>' +
'<div class="createaccount-stat-item">' +
'<div class="createaccount-stat-number">' + stats.pages.toLocaleString() + '</div>' +
'<div class="createaccount-stat-label">Pages</div>' +
'</div>' +
'<div class="createaccount-stat-item">' +
'<div class="createaccount-stat-number">' + stats.activeusers.toLocaleString() + '</div>' +
'<div class="createaccount-stat-label">Recent Contributors</div>' +
'</div>' +
'</div>'
);
// Insert banner before the form
$('#userloginForm').before(banner);
});
})();
/**
* 3D Rotating Tag Cloud using TagCanvas library
* Loads from CDN and initializes on Main Page
*/
(function() {
// Only run on Main Page
if (mw.config.get('wgPageName') !== 'Main_Page') {
return;
}
$(document).ready(function() {
// Check if canvas element exists
if (!document.getElementById('tagcanvas')) {
return;
}
// Load TagCanvas library from CDN
var script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery.tagcanvas/2.11/jquery.tagcanvas.min.js';
script.onload = function() {
// Initialize TagCanvas after library loads
try {
$('#tagcanvas').tagcanvas({
textColour: '#ffffff',
textFont: 'sans-serif, Arial, Helvetica',
outlineColour: 'transparent',
outlineThickness: 0,
maxSpeed: 0.03,
freezeActive: true,
shuffleTags: true,
shape: 'sphere',
zoom: 1.0,
noSelect: true,
textHeight: 20,
wheelZoom: false,
reverse: true,
depth: 0.8,
initial: [0.1, -0.1],
fadeIn: 1000,
clickToFront: 600,
shadow: '#000000',
shadowBlur: 3,
shadowOffset: [0, 2],
weight: true,
weightMode: 'size',
weightFrom: 'font-size',
weightSize: 1.5,
weightGradient: {
0: '#ffffff',
0.5: '#ffffff',
1: '#ffffff'
}
}, 'tagcanvas-wrapper');
} catch(e) {
// If TagCanvas fails, hide canvas and show fallback
$('#tagcanvas-wrapper').html('<div style="color: white; padding: 40px;">Trending: Satya Nadella • Tim Cook • Elon Musk • Jensen Huang • Mark Zuckerberg • Sundar Pichai • Andy Jassy • Lisa Su • Mary Barra • Jamie Dimon</div>');
}
};
script.onerror = function() {
// If CDN fails, show fallback
$('#tagcanvas-wrapper').html('<div style="color: white; padding: 40px;">Trending: Satya Nadella • Tim Cook • Elon Musk • Jensen Huang • Mark Zuckerberg • Sundar Pichai • Andy Jassy • Lisa Su • Mary Barra • Jamie Dimon</div>');
};
document.head.appendChild(script);
});
})();