User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
(Images) Tags: Mobile edit Mobile web edit |
(addButtonToSidebar) Tags: Mobile edit Mobile web edit |
||
Line 1: | Line 1: | ||
// ==UserScript== | |||
// @name Find Articles Without Images | |||
// @namespace WikipediaUserScripts | |||
// @description Finds articles in a category that lack images and logs them to the console. | |||
// @include /^https:\/\/en\.wikipedia\.org\/wiki\/Category:.+/ | |||
// @version 1 | |||
// @grant none | |||
// ==/UserScript== | |||
(function() { | (function() { | ||
'use strict'; | 'use strict'; | ||
Line 27: | Line 36: | ||
} | } | ||
// Add a button to the | // Add a button to the sidebar | ||
function | function addButtonToSidebar() { | ||
var sidebar = document.getElementById('mw-panel'); | |||
if (sidebar) { | |||
var button = document.createElement('button'); | |||
button.textContent = 'Find Articles Without Images'; | |||
button.style.margin = '5px'; | |||
button.style.width = '90%'; | |||
button.onclick = findArticlesWithoutImages; | |||
var container = document.createElement('div'); | |||
container.style.textAlign = 'center'; | |||
container.appendChild(button); | |||
sidebar.appendChild(container); | |||
} | |||
} | } | ||
// Add the button when the script loads | // Add the button when the script loads | ||
addButtonToSidebar(); | |||
})(); | })(); |
Revision as of 06:28, 23 December 2023
// ==UserScript==
// @name Find Articles Without Images
// @namespace WikipediaUserScripts
// @description Finds articles in a category that lack images and logs them to the console.
// @include /^https:\/\/en\.wikipedia\.org\/wiki\/Category:.+/
// @version 1
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Function to check if a page has images
async function checkIfPageHasImage(pageTitle) {
const endpoint = `https://en.wikipedia.org/w/api.php?action=query&titles=${encodeURIComponent(pageTitle)}&prop=images&format=json&origin=*`;
const response = await fetch(endpoint);
const data = await response.json();
const page = data.query.pages[Object.keys(data.query.pages)[0]];
return page.hasOwnProperty('images');
}
// Main function to find articles without images
async function findArticlesWithoutImages() {
const categoryTitle = document.getElementById('firstHeading').innerText;
const endpoint = `https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=${encodeURIComponent(categoryTitle)}&cmlimit=max&format=json&origin=*`;
const response = await fetch(endpoint);
const data = await response.json();
const articles = data.query.categorymembers;
for (const article of articles) {
const hasImage = await checkIfPageHasImage(article.title);
if (!hasImage) {
console.log(`Article without image found: ${article.title}`);
}
}
}
// Add a button to the sidebar
function addButtonToSidebar() {
var sidebar = document.getElementById('mw-panel');
if (sidebar) {
var button = document.createElement('button');
button.textContent = 'Find Articles Without Images';
button.style.margin = '5px';
button.style.width = '90%';
button.onclick = findArticlesWithoutImages;
var container = document.createElement('div');
container.style.textAlign = 'center';
container.appendChild(button);
sidebar.appendChild(container);
}
}
// Add the button when the script loads
addButtonToSidebar();
})();