Greasy Fork

Eliminar Anime Específico + Portada

Borra animes y cambia portada solo a animes (no donghuas) en JKAnime.net 2025 🛠️📷🎞️✅

当前为 2025-05-27 提交的版本,查看 最新版本

// ==UserScript==
// @name         Eliminar Anime Específico + Portada
// @namespace    https://greasyfork.org/es/scripts/537406/
// @version      1.2
// @description  Borra animes y cambia portada solo a animes (no donghuas) en JKAnime.net 2025 🛠️📷🎞️✅
// @author       @tronkeis
// @match        https://jkanime.net/
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Configuración
    const portadaEnEpisodio = true;        // Cambiar portada del episodio por la portada general
    const popularAnimesBanner = true;      // Eliminar sección de animes populares (hero banner)

    const animesBorrados = new Set([
        "nombre del anime que quieres borrar",
        "por ejemplo:",
        "Shirobuta Kizoku desu ga Zense no Kioku ga Haeta node Hiyoko na Otouto Sodatemas"
    ]);

    function normalizarNombre(nombre) {
        return nombre
            .toLowerCase()
            .normalize("NFD").replace(/[\u0300-\u036f]/g, '') // eliminar acentos
            .replace(/(\d+)\.(\d+)/g, '$1$2')                 // eliminar punto entre números (2.0 → 20)
            .replace(/['’]/g, '')                             // eliminar comillas/apóstrofes
            .replace(/[^a-z0-9]+/g, '-')                      // reemplazar no alfanuméricos por guiones
            .replace(/^-+|-+$/g, '');                         // quitar guiones al inicio/fin
    }


    function removeAnime() {
        const cards = document.querySelectorAll('.card');
        cards.forEach(card => {
            const titleElement = card.querySelector('h5.strlimit.card-title');
            const title = titleElement?.textContent?.trim();
            if (!title) return;

            const img = card.querySelector('img.card-img-top');

            // Eliminar animes si están en la lista
            if (animesBorrados.has(title)) {
                card.closest('.dir1')?.remove();
                console.log('Anime eliminado:', title);
                return;
            }

            // Solo si hay imagen
            if (img) {
                // Detectar si es anime por atributo aspect-ratio
                const computedStyle = window.getComputedStyle(img);
                const esAnime = computedStyle.aspectRatio && computedStyle.aspectRatio !== 'auto';

                // Cambiar portada si está habilitado
                if (portadaEnEpisodio) {
                    const slug = normalizarNombre(title);
                    img.src = `https://cdn.jkdesu.com/assets/images/animes/image/${slug}.jpg`;
                }

                // Aplicar aspect ratio si es anime
                if (esAnime) {
                    img.style.aspectRatio = '1 / 1.5';
                    console.log(`Aspect ratio aplicado para anime: ${title}`);
                } else {
                    console.log("No se detectó aspect-ratio aplicado para:", title);
                }
            }
        });

        // Eliminar banner si está activado
        if (popularAnimesBanner) {
            const heroSection = document.querySelector("body > div.page-content > section.hero");
            if (heroSection) {
                heroSection.remove();
                console.log("Banner de animes populares eliminado.");
            }
        }
    }

    // Ejecutar al cargar la página
    removeAnime();

    // También observar cambios dinámicos en la página
    const observer = new MutationObserver(removeAnime);
    observer.observe(document.body, { childList: true, subtree: true });
})();