Pages:
Author

Topic: 📌 Подборка скриптов для форума (Read 1253 times)

hero member
Activity: 714
Merit: 1298
Почему у меня пропали подписи пользователей в гугл браузере? в настройках не отключал. В других браузерах подписи видит.
Блокировщики рекламы, которые устанавливаются в браузер в виде расширений, могут производить такой эффект. Если установлены какие-нибудь AdBlock, uBlock и тому подобное, то надо попробовать их поотключать эксперимента ради

Подтверждаю, подписи пропадают если включено расширений uBlock. Однако  отключать его полностью для всех сайтов я бы не рекомендовал. Для возобновления видимости подписей достаточно отключить екслюзивно для сайта bitcointalk.org а для этого нужно нажать на  пиктограму расширения кнопки вклчено-отключено в то время, когда  браузер с  активным расширением отображает любую страницу форума.

Quote from: satscraper
staff
Activity: 3472
Merit: 4111
Crypto Swap Exchange
Почему у меня пропали подписи пользователей в гугл браузере? в настройках не отключал. В других браузерах подписи видит.
Блокировщики рекламы, которые устанавливаются в браузер в виде расширений, могут производить такой эффект. Если установлены какие-нибудь AdBlock, uBlock и тому подобное, то надо попробовать их поотключать эксперимента ради
legendary
Activity: 1974
Merit: 4715
Почему у меня пропали подписи пользователей в гугл браузере? в настройках не отключал. В других браузерах подписи видит.
copper member
Activity: 588
Merit: 926
Чтобы не ваять новую тему ради одного скрипта запощу здесь. Не совсем скрипт для форума но я уверен что этот скрипт понравится многим. Теперь не нужно использовать именно Yandex.браузер чтобы пользоваться закадровым переводом от Yandex. Умельцы соорудили скрипт который позволяет запускать этот закадровый перевод в любом браузере. Надо только иметь Tampermonkey и установить этот скрипт туда и все. У вас есть закадровый перевод любого ролика.

Страница скрипта https://github.com/Basilevz/voice-over-translation

Там есть список поддерживаемых сайтов, список функционала а также версии для Cloudflare и еще какие то

Проверил на virustotal

Естественно проверил и в действии, работает на ура.



Для особо параноидальных личностей по поводу безопасности использования этого скрипта. Я никого не принуждаю ставить его. Чисто для информационных целей. Решать вам использовать его или нет. Так что не надо тут бросаться помидорами.
staff
Activity: 2436
Merit: 2347
Скрипт, который добавляет возможность оставлять для себя краткие заметки у пользователей форума.

Выглядит вот так:




Нажимаете "Add Note", появляется окно для ввода короткой заметки. Также можно нажать на "Add Note" под аватаром, то же самое, появится окошко для ввода заметки.





Сама заметка отображается под аватаром и в самом профиле пользователя




Сам скрипт

Code:
// ==UserScript==
// @name         BitcoinTalk User Notes
// @version      0.2
// @description  Adds an note field to each user on BitcoinTalk
// @author       TryNinja
// @match        https://bitcointalk.org/index.php?topic=*
// @match        https://bitcointalk.org/index.php?action=profile;u=*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=bitcointalk.org
// @grant GM.setValue
// @grant GM.getValue
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==

(async function() {
    'use strict';

    const getValue = typeof GM_getValue === "undefined" ? GM.getValue : GM_getValue;
    const setValue = typeof GM_setValue === "undefined" ? GM.setValue : GM_setValue;

    const getParentNodeNth = (element, num) => {
        let parent = element;
        for (let i = 0; i < num; i++) {
            if (parent.parentNode) {
                parent = parent.parentNode;
            }
        }
        return parent;
    };

    const getUserNote = async (user) => {
        const notes = JSON.parse(await getValue('notes') ?? '{}');
        if (!notes) {
            return null;
        }
        return notes[user];
    };

    const setUserNote = async (user, note) => {
        const notes = JSON.parse(await getValue('notes') ?? '{}');
        notes[user] = note;
        await setValue('notes', JSON.stringify(notes ?? {}));
    }

    const texts = {
        addNote: `📜 Add Note`,
        withNote: note => `📜 ${note}`
    };

    const addNote = async (user, element) => {
        const note = prompt('Input the note (empty to remove):');
        await setUserNote(user, note);
        if (note) {
            element.innerHTML = texts.withNote(note);
        } else if (note !== null) {
            element.innerHTML = texts.addNote;
        }
    }

    if (window.location.href.match(/topic=\d+/)) {
        const targets = [...document.querySelectorAll('td.poster_info div a:last-child')].filter(e => window.getComputedStyle(getParentNodeNth(e, 11)).display !== 'none');

        targets.map(async target => {
            const [_, userId] = [...target.parentNode.parentNode.childNodes].find(childNode => childNode.innerHTML).innerHTML.match(/u=(\d+)/);
            const noteDiv = document.createElement("div");
            const note = await getUserNote(userId);
            if (!note) {
                noteDiv.innerHTML = texts.addNote;
            } else {
                noteDiv.innerHTML = texts.withNote(note);
            }
            target.before(noteDiv);
            noteDiv.addEventListener("click", () => addNote(userId, noteDiv), false);
        });
    } else if (window.location.href.match(/profile;u=\d+/)) {
        const [_, userId] = window.location.href.match(/u=(\d+)/);
        const target = getParentNodeNth(document.querySelector("#bodyarea table tr td tbody tr:nth-child(2) tr:last-child").parentNode, 1);
        const noteDiv = document.createElement("div");
        const note = await getUserNote(userId);
        if (!note) {
            noteDiv.innerHTML = texts.addNote;
        } else {
            noteDiv.innerHTML = texts.withNote(note);
        }
        target.before(noteDiv);
        noteDiv.addEventListener("click", () => addNote(userId, noteDiv), false);
    }
})();

Либо по ссылке, указанной вверху
sr. member
Activity: 728
Merit: 317
Crypto Casino & Sportsbook
Очень полезная возможность, мне помогает, т.к. не люблю яркий экран в ночное время при чтении.
Надеюсь и другим поможет.

Поддерживаю, как человек, который проводит за экраном монитора в среднем по 10 часов в день. Яркий бэкграунд очень здорово насилует глаза,тёмный куда приятнее для чтения Wink
Воистину! Вы оба правы, друзья мои.


Поздравляю Всех с Наступающим Новым Годом!!
hero member
Activity: 1232
Merit: 858
Благодарю Вас.
Вот перевод, добавил его в подборку.


Очень полезная возможность, мне помогает, т.к. не люблю яркий экран в ночное время при чтении.
Надеюсь и другим поможет.
sr. member
Activity: 728
Merit: 317
Crypto Casino & Sportsbook
Скрипт по изменению цвета фона на форуме
Перевод. Оригинальная тема Script to Change Bitcointalk Background Color
Благодарю Вас за эту находку, думаю еще много пользователей в русской локали поблагодарят Вас за возможность не выжигать себе глаза почитывая форум ночью.  Grin

P.S. Добавил в подборку.

Вот еще один полезный способ как "не выжигать глаза ночью".

Благодарю Вас.
Вот перевод, добавил его в подборку.


В соответствии с популярным запросом, я сделал тёмную версию текущего CSS на bitcointalk (если есть интерес, я тоже сделаю мобильный CSS).
Если у вас есть какие-нибудь идеи или предложения, я буду рад подкорректировать и улучшить текущий дизайн.

Скриншоты:

*Нажмите для полного просмотра

Код здесь.  here.
Оригинал темы
hero member
Activity: 1232
Merit: 858
Скрипт по изменению цвета фона на форуме
Перевод. Оригинальная тема Script to Change Bitcointalk Background Color
Благодарю Вас за эту находку, думаю еще много пользователей в русской локали поблагодарят Вас за возможность не выжигать себе глаза почитывая форум ночью.  Grin

P.S. Добавил в подборку.

Вот еще один полезный способ как "не выжигать глаза ночью".
sr. member
Activity: 728
Merit: 317
Crypto Casino & Sportsbook
Скрипт по изменению цвета фона на форуме
Перевод. Оригинальная тема Script to Change Bitcointalk Background Color
Благодарю Вас за эту находку, думаю еще много пользователей в русской локали поблагодарят Вас за возможность не выжигать себе глаза почитывая форум ночью.  Grin

P.S. Добавил в подборку.
sr. member
Activity: 728
Merit: 317
Crypto Casino & Sportsbook
Тяжело разобраться , не особо похоже что ветка для новеньких
Что именно Вам показалось сложным ? Буду благодарен за конструктивную критику, но если до конца года не ответите то расценю Ваш пост как щитпостинг и удалю.
newbie
Activity: 85
Merit: 0
Тяжело разобраться , не особо похоже что ветка для новеньких
legendary
Activity: 2275
Merit: 1180
AI Atelier
Не выбрал ни чего подходящего для себя, но немного меритов ТС отсыпал... Любую операцию, которая повторяется более двух раз, - следует автоматизировать.
Думаю, что тем про автоматизацию чего бы там ни было, на форуме недостаточно. 
legendary
Activity: 2310
Merit: 2073
~snip~

Хоть часто читаю и пишу на форуме с пятидюймового смартфона, но доверять такому скрипту я бы точно не стал. Неизвестно, какую именно информацию может собирать данный скрипт, было бы неплохо если бы код проверили знатоки этого дела.
full member
Activity: 980
Merit: 132
Еще один скрипт который форматирует форум для чтения со смартфона: https://bitcointalksearch.org/topic/bitcointalk-mobile-friendly-app-for-android-4500633

Bitcointalk Mobile - это аддон для Firefox под Android, который делает форум bitcointalk.org мобильным. Это приложение не использует удаленную обработку сервера, все выполняется локально в браузере с пользовательским CSS и Javascript.


Особенности:
Open Source
Адаптивный дизайн для смартфона
Удобный пользовательский интерфейс, все функции страницы должны работать плавно
Нет удаленной обработки
Возможность изменить размер шрифта форума

Для установки:
Загружаем последнюю версию https://play.google.com/store/apps/details?id=org.mozilla.firefox Firefox из Google Play
Установить Bitcointalk Mobile Addon с сайта addons.mozilla.org

О безопасности:
При установке будет предложено «Доступ к вашим данным для bitcointalk.org», но это не относится к вашим личным данным, таким как файлы cookie или информация для входа, это сделано для изменению HTML-кода.

Исходный код
https://github.com/ewwink/bitcointalk-mobile


sr. member
Activity: 1120
Merit: 263
Sovryn - 300-500% APY on USDT Deposit
Скрипты это конечно очень хорошо. Главное, чтобы скамеры не начали делать свои, которые будут воровать пароли от аккаунтов, ведь такая практика встречается очень часто именно в теме скриптов. Например в дайсах очень часто такое встречается, где на балансах находится крипта.
staff
Activity: 3472
Merit: 4111
Crypto Swap Exchange
Вот этого в списке не хватает (вроде не писали в разделе про него): https://github.com/mrvuit/BitcointalkExtension

Расширение, которое включает в себя целый набор ранее описанных скриптов, и которое позволяет быстро их выключить/включить. Список функций:
1. Сменить тему оформления.
2. Выключить/включить отображение подписей.
3. Выключить/включить отображение аватарок.
4. Открывать сторонние ссылки в новой вкладке
5. Изменять размер шрифта
6. Встроенный и по умолчанию включенный скрипт "Enhanced Merit UI"
7. Встроенный и включенный скрипт, который отображает общее количество меритов у поста.
8. Включает иконку для перехода наверх страницы.
9. Встроенный скрипт для расширения функции "Report To Moderator"
10. Отображает цену bitcoin и ethereum рядом с адресами кошельков
staff
Activity: 2436
Merit: 2347
Скрипт, который позволяет отсортировать посты в теме по количеству выданных меритов. После установки скрипта в темах появится кнопка "Sort by merit".



Code:
// ==UserScript==
// @name     Bitcointalk Sort By Merit
// @version  1.0
// @grant    none
// @include        https://bitcointalk.org/index.php?topic=*
// @run-at         document-end
// ==/UserScript==

const sortBtn = document.createElement("a")
sortBtn.href = "javascript:void(0)"
sortBtn.textContent = "sort by merit"

const threadButtons = document.querySelector("td.mirrortab_back")

threadButtons.prepend(document.createTextNode(" | "))
threadButtons.prepend(sortBtn)

sortBtn.addEventListener("click", sortByMerit)

function sortByMerit() {
    const table = document.querySelector("#bodyarea .bordercolor > tbody")
    const posts = [...table.rows]
        .map(post => {
            try {
                const merit = [...post.querySelectorAll(".td_headerandpost .smalltext i > a")]
                    .map(e => {
                        return parseInt(e.nextSibling.textContent.match(/\((.*)\)/)[1])
                    })
                    .reduce((acc, e) => acc + e, 0)

                return { merit, post }
            } catch (e) {
                console.error(e)
            }
        })
        .sort(({ merit: merit1 }, { merit: merit2 }) => merit2 - merit1)

    posts.forEach(({ post, merit }) => {
        try {
            table.append(post)
        } catch (e) {}
    })
}

staff
Activity: 2436
Merit: 2347
PageZipper - скрипт для удобного чтения многостраничных топиков. Он автоматически объединяет страницы топика в одну. То есть, чтобы прочитать следующую страницу топика, не нужно нажимать на цифры - достаточно прокрутить первую страницу вниз и там уже будет следующая.




После запуска скрипт отобразит окошко в правом верхнем углу.



Где:

  • стрелки позволяют передвигаться по объединённым страницам;
  • первая цифра показывает номер страницы, на которой вы сейчас находитесь;
  • вторая цифра показывает количество объединённых страниц.

Скрипт реализован:

  • в виде букмарклета - достаточно перетянуть ссылку, указанную на оффсайте на панель закладок и можно пользоваться;
  • в виде расширения для Chrome и Firefox.

Я лично пользуюсь букмарклетом, не люблю расширения устанавливать. Чтобы выключить букмарклет, достаточно перезагрузить страницу.

Что такое букмарклет можно прочитать здесь.
staff
Activity: 2436
Merit: 2347
Маленький скрипт от hatshepsut93, который отображает общее количество меритов у поста.

Pages:
Jump to: