Скрипт DTF-Superfeeds (бета) v1.0.8
Скрипт совмещает в себе DTF Feeds и фичи нескольких других моих скриптов, плюс новые возможности.
Версия 1.0.8
Ахтунг!!!
- С учётом новостей об изменении/сносе пользовательских подсайтов и непонятночегоикаких изменений, выкладываю бету раньше, чем предполагал, т.к после всего этого, скрипт вероятно придётся переписывать...если DTF не прикроется после таких изменений
- Скрипт не сработает на Greasemonkey. Как и большинство моих скриптов, данный скрипт использует активацию функций при переходе по страницам DTF, которая на Greasemonkey просто не работает.
Violentmonkey/Tampermonkey нормально работают со скриптом - Пока что, не все опции настроек работают
Введение:
Патчлист:
- 1.0.1-1.0.4 - правка багов
- 1.0.5 - теперь скрипт работает и на old.dtf.ru
- 1.0.6-1.0.7 - просмотренные/игнорируемые/заблокированные фиды теперь можно свернуть/скрыть. Управляется в настройках
Фикс CSS - псевдоэлементы лезли во вложенный фид внутри фида - 1.0.8 - обновление карточки подсайта/автора. Правка CSS, замена текста под-имени и комментария на эмодзи
Что изменилось и появилось:
- Настройки, подсайты/авторы/фиды теперь сохраняются в онлайновую базу данных.
Оффлайновая база данных пока что убрана, и возможно не будет добавлена - вместе с хранением подсайтов/авторов/фидов, увеличится как размер хранимых данных, так и их важность. Заодно это решает проблему использования нескольких браузеров и/или устройств, ведь база данных едина - В очередной раз изменён дизайн фидов
- Метки "просмотрено/избранное" и т.п стали "флагами", и расширились в возможностях
- Реализация чс/избранного для подсайтов/авторов/фидов с помощью базы данных и флагов. Это НЕ чс/закладки самого DTF
- Чс/избранное распространяются на подсайты, авторов (статьи, блоги, комментарии). Хотите игнорировать чьи-то блоги/комментарии, но хотите видеть статьи? Не проблема
- Фильтрация по подсайтам/авторам/статьям/блогам никуда не делась, и стала чуть разнообразнее
- Фильтрация комментариев по авторам и тексту
- Замена вложений в фидах и комментариях - видео/youtube. Видео получили возможность отключения автозапуска, а эмбеды Youtube стали быстрее
- Профиль подсайта/автора. Можно узнать информацию о любом подсайте или пользователе - дату создания, рейтинг, кол-во статей, кол-во комментариев и т.п. Можно увидеть состояние подсайта/пользователя - "флаги", под-имена, комментарии.
Используется DTF API - Показ аватарок и поиск сурса - встроено в "профиль подсайта/автора"
- Скрипт получил особое "книжное меню" для навигации и управления тем, что вы сохранили в базу данных. На манер того, что вы видите открыв закладки...ну почти
- Новый режим действия скрипта "теги". "Панели" пока что отсутствует, возможно будет/не будет добавлен позже. Ему на замену пришёл новый режим
- Новый режим действия "теги". Виджет навигации и сортировки фидов
- Фильтрация комментариев в боковой панели комментариев полностью удалена. Оно не всегда срабатывало. Возможно, если очередной редизайн заденет и эту панель, сделав её адекватной (на данный момент времени, панель непонятно как собрана, имеет кучу вложенных элементов, и постоянно переписывает элементы-"комментарии")
Что требуется скрипту:
Скрипты:
Не знаю важно ли, но лучше всего чтобы эти скрипты стояли до DTF-Superfeeds в списке скриптов.
- DTF-Settings-Opener - для показа интерфейса-меню с настройками, данными и справкой
- DTF-Widget-Panel - для показа панели виджетов
Датабаза:
Supabase аккаунт, и таблицы в нём. Инструкция тут.
Таблицы в датабазе:
Значения колонок идут по порядку, т.е Name - Type - Primary (галочка да/нет)
- subsites. Колонки: (id - text - да), (flags - jsonb), (info - jsonb)
- users. Колонки: (id - text - да), (flags - jsonb), (info - jsonb)
- feeds. Колонки: (id - text - да), (flags - jsonb), (info - jsonb)
- settings. Колонки: (id - text - да), (cfg - jsonb)
Затем, прописываете в скрипте полученные данные (id проекта, токены), после чего скрипт сможет работать с базой данных.
Изначально, я хотел использовать чисто закладки DTF, но возникавшие идеи убивали возможность использования встроенных закладок DTF - к примеру, "флаги".
Печально? Возможно, но такие уж закладки, которые не дают прикрепить к себе информацию.
Подробнее о возможностях:
Любой подсайт/пользователя/фид можно сохранить, и при желании проставить ему флаги. Флаги, aka "состояние" подсайта/пользователя/фида.
Флаги:
Флаги дают:
- Визуальное отображение состояния фидов
- Функции чс/избранного для подсайтов/пользователей/фидов
- Помощь при сортировке и поиске подсайтов/пользователей/фидов в "книжном" меню
Виды флагов (их два):
- один показывает состояние фида (readed/planToRead/onHold/dropped)
- второй общий для всех, aka favorite/ignored/blocked
Второй вид флагов выполняет функции как чс, так и избранного. Вы хотели бы, чтобы Апанасик помечался в комментариях, выделяясь на фоне других? Now you can!
Чс в данном случае "двойной" - "игнорируется" и "блокируется" имеют разные уровни блокировки, позволяя визуально помечать пользователя и его статьи/блоги/комментарии, либо и вовсе их не показывать.
Осознав, что когда сохранённых фидов перевалит за сотню (к примеру. Хочу верить, что скрипт будут использовать), они вполне возможно перегрузят страницу, и их будет довольно сложно мотать мышью. Решение нашлось.
Книжное меню:
Показывает ограниченное кол-во элементов, разделённое по страницам. Из него же можно и изменять/удалять итемы.
Поиск в книжном меню:
Сделан максимально обширно - самые разные поля позволяют искать и сортировать по типу (статья/блоги), тегам, дате создания и т.п.
Список фильтров:
- Дата создания
- Время написания
- Дата и время, с которого нужно начать искать
- Заголовок
- Имя/id автора
- Под-имя автора (ваша личная "подпись/метка" для автора)
- Название/id подсайта
- Комментарий (ваш личный комментарий для автора/подсайта/статьи)
- Теги чёрного/белого списка
Режимы действия фидов:
"Обсервер":
- Простейший режим. Находит новые фиды на странице, и обрабатывает их.
"Теги":
- ЛКМ по "кнопке-тегу" скрывает все фиды этого подсайта/типа/автора
- ПКМ по "кнопке-тегу" ставит все фиды этого подсайта/типа/автора в самое начало списка фидов
- Обсервер встроен в этот режим
Загрузка из базы данных:
В местах, где идёт доступ к онлайновой базе данных, можно увидеть элемент "загрузки". Если вы его видите, значит данные ещё не получены.
Фиды:
Возможности:
- Использование ПКМ-меню для получения информации о подсайтах и пользователях, а также управления ими
- Отключение перехода на фид при клике по нему. В панели кнопок фида (справа сверху) располагается кнопка перехода на фид. Настраивается, отключено по-дефолту
- Замена видео/YT вложений в фидах. Отключено по-дефолту
- Метки фидов при отсутствии заголовка/текста
- Флаги фидов
Комментарии:
Возможности:
- Флаги избранное/игнорируется (как чс)/блокируется (как чс) у пользователей
- Игнорируется/блокируется можно использовать как аналог чс для комментариев. Зависит от настроек, по-умолчанию лишь показывает "рамку" вокруг аватарки автора
- "Под-имя" автора - если вы сохранили автора в базу данных, можно дать ему под-имя, которое будет отображаться у комментариев
Карточки авторов/подсайтов:
Вызывается при ПКМ-клике по никнейму в "шапке" фида, или комментария.
Меню аватарки вызывается при ПКМ-клике по аватарке в "карточке" пользователя/подсайта.
Ссылки на скрипт:
Послесловие:
Баги возможны, скрипт понемногу развивается.
Данные для использования датабазы прописываются прямо в скрипте из-за того, что использовать для этого ещё одну базу данных (IndexedDB) было бы странно.
Если использовать "GM" методы Violentmonkey/Tampermonkey - пока не знаю, они тоже используют базы данных браузера для хранения данных.
Если вы заметили баг, у вас есть предложение, или же вы просто хотите поболтать - добро пожаловать в комментарии.