MediaWiki:Timeless.js: Difference between revisions
From The HOA
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
mw.loader.using(['mediawiki.api']).then(function () { | mw.loader.using(['mediawiki.api']).then(function () { | ||
var category = " | var category = "All_pages"; // Try using a category with known pages for debugging | ||
var sidebar = $("#mp-upper"); // Targeting the left sidebar in Timeless | var sidebar = $("#mp-upper"); // Targeting the left sidebar in Timeless | ||
| Line 25: | Line 25: | ||
}).done(function (data) { | }).done(function (data) { | ||
if (data.query && data.query.categorymembers.length > 0) { | if (data.query && data.query.categorymembers.length > 0) { | ||
console.log("Category members found:", data.query.categorymembers); | |||
data.query.categorymembers.forEach(function (page) { | data.query.categorymembers.forEach(function (page) { | ||
$list.append($("<li>").append($("<a>").attr("href", mw.util.getUrl(page.title)).text(page.title))); | $list.append($("<li>").append($("<a>").attr("href", mw.util.getUrl(page.title)).text(page.title))); | ||
Revision as of 06:59, 7 March 2025
mw.loader.using(['mediawiki.api']).then(function () {
var category = "All_pages"; // Try using a category with known pages for debugging
var sidebar = $("#mp-upper"); // Targeting the left sidebar in Timeless
// Log if the sidebar is found
if (sidebar.length === 0) {
console.error("Sidebar container not found");
return;
}
console.log("Sidebar container found, loading menu...");
// Create a new menu using Timeless' built-in styling classes
var $menu = $("<div>").addClass("portal").attr("id", "custom-category-menu"); // Using Timeless' portal class
var $heading = $("<h3>").addClass("portal-heading").text("Pages in " + category);
var $list = $("<ul>").addClass("portal-body");
// Fetch category members from the API
new mw.Api().get({
action: "query",
list: "categorymembers",
cmtitle: "Category:" + category,
cmlimit: 10,
format: "json"
}).done(function (data) {
if (data.query && data.query.categorymembers.length > 0) {
console.log("Category members found:", data.query.categorymembers);
data.query.categorymembers.forEach(function (page) {
$list.append($("<li>").append($("<a>").attr("href", mw.util.getUrl(page.title)).text(page.title)));
});
$menu.append($heading).append($list);
sidebar.append($menu); // Append the menu to the Timeless left sidebar
console.log("Menu added to sidebar.");
} else {
console.log("No pages found in the category.");
}
}).fail(function () {
console.error("API request failed.");
});
});
