Autor Wątek: Sugestie na temat forum  (Przeczytany 427231 razy)

0 użytkowników i 4 Gości przegląda ten wątek.

Offline komiks

Odp: Sugestie na temat forum
« Odpowiedź #2385 dnia: Wt, 09 Grudzień 2025, 10:59:59 »
Jeżeli ktoś chciałby stracić z pola widzenia
Ja mam poniższe rozwiązanie.
Najpierw trzeba mieć użytkownika dodanego do listy blokowanych na komikspec.

Jeżeli ktoś używa rozszerzenie przeglądarkowe uBlock Origin, to:
Otwórz panel sterowania > Moje filtry, dodaj:
Spoiler: PokażUkryj
! https://forum.komikspec.pl
forum.komikspec.pl##[id*="ignored_prompt"]:upward(.windowbg)
forum.komikspec.pl##[id*="ignored_prompt"]:upward(.windowbg2)

W czystym CSS, który powinien zadziałać dla każdej nowszej wersji przeglądarki, to będzie:
Spoiler: PokażUkryj
.windowbg:has([id*="ignored_prompt"]),
.windowbg2:has([id*="ignored_prompt"]) {
    display: none !important;
}
Xenozoic, Death Dealer, The Maxx, Thrud The Barbarian, Army of Darkness

Offline Horyzont Snu

Odp: Sugestie na temat forum
« Odpowiedź #2386 dnia: Śr, 10 Grudzień 2025, 03:11:25 »
Jeżeli ktoś chciałby stracić z pola widzenia wybranych użyszkodników przeglądając forum bez logowania. To wystarczy pobrać sobie do przeglądarki rozszerzenie Tampermonkey, następnie w Tampermonkey dodać poniższy skrypt:

Spoiler: PokażUkryj
// ==UserScript==
// @name         Forum – Ukrywanie wskazanych użytkowników
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Ukrywa posty wskazanych użytkowników na forum komikspec.pl
// @match        https://forum.komikspec.pl/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // <<< LISTA BLOKOWANYCH UŻYTKOWNIKÓW >>>
    const blocked = [
        "NazwaUżytkownika1",
        "NazwaUżytkownika2"
    ];

    // Funkcja ukrywająca posty
    function hidePosts() {
        // znajdź każdy post
        document.querySelectorAll(".post_wrapper, .post, .message").forEach(post => {

            // znajdź pole z nazwą użytkownika
            let author =
                post.querySelector(".poster h4 a") ||
                post.querySelector(".username") ||
                post.querySelector(".poster_name a");

            if (!author) return;

            // Jeśli nazwa znajduje się na liście blokowanych → ukryj
            if (blocked.includes(author.textContent.trim())) {
                post.style.display = "none";
            }
        });
    }

    // Uruchamiaj na starcie i gdy forum doładuje treść
    hidePosts();
    document.addEventListener("DOMNodeInserted", hidePosts);
})();


W polu "Nazwa użytkownika1", wpisać nazwę użytkownika, jeżeli jest taka potrzeba powtórzyć dodając kolejne linie. Na koniec zapisać zmiany w skrypcie, i voila. Zniknęli.🙂

Skrypt w odróżnieniu od forumowej opcji "ignoruj", całkowicie ukrywa userow. Nie ma tutaj adnotacji "ignorujesz tego użytkownika", z opcją rozwiń wpis. Po dodaniu do skryptu delikwent całkowicie znika, i jego wpisy można zobaczyć jedynie w cytowaniach innych użytkowników. Można to zmienić, ale nie uznałem tego za stosowne.

Wersja poprawiona. Teraz ukrywa, także cytaty ukrytych userow, w wypowiedziach innych użytkowników. Wyświetlając informację o ukrytym cytacie.

Spoiler: PokażUkryj

// ==UserScript==
// @name         Komikspec – ukrywanie użytkowników + ich cytatów
// @namespace    http://tampermonkey.net/
// @version      3.0
// @description  Ukrywa posty wybranych użytkowników oraz cytaty ich wypowiedzi w postach innych osób, zastępując je komunikatem.
// @match        https://forum.komikspec.pl/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // <<< TU WPISZ BLOKOWANYCH UŻYTKOWNIKÓW >>>
    const blocked = [
        "NazwaUżytkownika1"
    ].map(x => x.toLowerCase().trim());


    // --- FUNKCJA: ukrywanie całych postów ---
    function hidePosts() {

        document.querySelectorAll(".post_wrapper, .post, .windowbg, .windowbg2, .message").forEach(post => {

            const author =
                post.querySelector(".poster h4 a") ||
                post.querySelector(".poster a") ||
                post.querySelector(".username a") ||
                post.querySelector(".poster_name a");

            if (!author) return;

            const name = author.textContent.trim().toLowerCase();

            if (blocked.includes(name)) {
                post.style.display = "none";
            }
        });
    }


    // --- FUNKCJA: ukrywanie cytatów i zamiana na komunikat ---
    function hideQuotes() {

        document.querySelectorAll("blockquote, .quote, .bbc_quote").forEach(q => {

            let headerText = "";

            const header = q.previousElementSibling;

            if (header && header.classList.contains("quoteheader")) {
                headerText = header.textContent.toLowerCase();
            }

            if (!headerText) {
                headerText = q.textContent.toLowerCase().slice(0, 200);
            }

            const isBlocked = blocked.some(username =>
                headerText.includes(username)
            );

            if (isBlocked) {

                if (header) header.style.display = "none";

                // Wstawienie komunikatu ZAMIAST cytatu
                q.style.display = "block";
                q.style.padding = "6px 8px";
                q.style.background = "#eee";
                q.style.borderLeft = "3px solid #999";
                q.style.fontStyle = "italic";
                q.textContent = "[Cytat ukrytego użytkownika]";

            }
        });
    }


    // --- URUCHAMIANIE ---
    function main() {
        hidePosts();
        hideQuotes();
    }

    // start
    main();

    // obserwacja zmian (ładowanie dynamiczne)
    const observer = new MutationObserver(main);
    observer.observe(document.body, { childList: true, subtree: true });

})();


Działa z rozszerzeniami przeglądarek tampermonkey, violentmonkey, greasmonkey i innymi. W Brave mobile nie działa, bo ta przegladarka nie obsługuje rozszerzeń.
« Ostatnia zmiana: Śr, 10 Grudzień 2025, 03:17:48 wysłana przez Horyzont Snu »

Offline Dracos

Odp: Sugestie na temat forum
« Odpowiedź #2387 dnia: Śr, 10 Grudzień 2025, 09:56:44 »
@Mateusz Myślę że te dwa posty @komiks i @Horyzont Snu warto by przykleić, co i raz ktoś się pyta czy się da kogoś permanentnie ignorować.

Offline szulig

Odp: Sugestie na temat forum
« Odpowiedź #2388 dnia: Śr, 10 Grudzień 2025, 15:22:58 »
Wersja poprawiona. Teraz ukrywa, także cytaty ukrytych userow, w wypowiedziach innych użytkowników. Wyświetlając informację o ukrytym cytacie.

Spoiler: PokażUkryj

// ==UserScript==
// @name         Komikspec – ukrywanie użytkowników + ich cytatów
// @namespace    http://tampermonkey.net/
// @version      3.0
// @description  Ukrywa posty wybranych użytkowników oraz cytaty ich wypowiedzi w postach innych osób, zastępując je komunikatem.
// @match        https://forum.komikspec.pl/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // <<< TU WPISZ BLOKOWANYCH UŻYTKOWNIKÓW >>>
    const blocked = [
        "NazwaUżytkownika1"
    ].map(x => x.toLowerCase().trim());


    // --- FUNKCJA: ukrywanie całych postów ---
    function hidePosts() {

        document.querySelectorAll(".post_wrapper, .post, .windowbg, .windowbg2, .message").forEach(post => {

            const author =
                post.querySelector(".poster h4 a") ||
                post.querySelector(".poster a") ||
                post.querySelector(".username a") ||
                post.querySelector(".poster_name a");

            if (!author) return;

            const name = author.textContent.trim().toLowerCase();

            if (blocked.includes(name)) {
                post.style.display = "none";
            }
        });
    }


    // --- FUNKCJA: ukrywanie cytatów i zamiana na komunikat ---
    function hideQuotes() {

        document.querySelectorAll("blockquote, .quote, .bbc_quote").forEach(q => {

            let headerText = "";

            const header = q.previousElementSibling;

            if (header && header.classList.contains("quoteheader")) {
                headerText = header.textContent.toLowerCase();
            }

            if (!headerText) {
                headerText = q.textContent.toLowerCase().slice(0, 200);
            }

            const isBlocked = blocked.some(username =>
                headerText.includes(username)
            );

            if (isBlocked) {

                if (header) header.style.display = "none";

                // Wstawienie komunikatu ZAMIAST cytatu
                q.style.display = "block";
                q.style.padding = "6px 8px";
                q.style.background = "#eee";
                q.style.borderLeft = "3px solid #999";
                q.style.fontStyle = "italic";
                q.textContent = "[Cytat ukrytego użytkownika]";

            }
        });
    }


    // --- URUCHAMIANIE ---
    function main() {
        hidePosts();
        hideQuotes();
    }

    // start
    main();

    // obserwacja zmian (ładowanie dynamiczne)
    const observer = new MutationObserver(main);
    observer.observe(document.body, { childList: true, subtree: true });

})();


Działa z rozszerzeniami przeglądarek tampermonkey, violentmonkey, greasmonkey i innymi. W Brave mobile nie działa, bo ta przegladarka nie obsługuje rozszerzeń.

a czy mozna zrobic skrypt, który bedzie pozwalał na zaznaczanie tematów na forum, ktorych nie chce widziec ze cos sie pojawiło nowego? dla przykladu Studio Lain (akurat ten mi przyszedł do głowy) cos ktos nowego napisal, wiec fik, zaznaczam "ptaszka" przy poście żeby wiecej nie było powiadomień odnośnie tego tematu. Po jakimś czasie pokazują się tylko te ktore mnie interesują

Offline Horyzont Snu

Odp: Sugestie na temat forum
« Odpowiedź #2389 dnia: Cz, 11 Grudzień 2025, 07:22:54 »
a czy mozna zrobic skrypt, który bedzie pozwalał na zaznaczanie tematów na forum, ktorych nie chce widziec ze cos sie pojawiło nowego? dla przykladu Studio Lain (akurat ten mi przyszedł do głowy) cos ktos nowego napisal, wiec fik, zaznaczam "ptaszka" przy poście żeby wiecej nie było powiadomień odnośnie tego tematu. Po jakimś czasie pokazują się tylko te ktore mnie interesują

Pewnie można zrobić skrypt, który ukryje wybrane tematy, tak jak ukrywa użytkowników. Mam na myśli opcję przeglądania bez logowania. Jeżeli chodzi o logowanie, to najlepiej byłoby gdyby admin dodał możliwość ignorowania tematów.

Filtr wydaje mi się chyba lepszym rozwiązaniem od skryptu, więc teraz zrobię sobie własne reguły do Adguarda, które oprócz ukrywania użytkowników i cytatów ich wypowiedzi u innych userow, będą także ukrywać ich wpisy w sekcji ostatnie wiadomości na stronie głównej.

Niektórych trzeba całkowicie zutylizować, tak jak reklamy i spam.