10

[UserScript] Лента Пикабу

В свете последних изменений в дизайне сделал небольшой пользовательский скрипт по возврату кнопки "Моя лента" в верхнее меню сайта. К сожалению без индикации новых постов.

Для установки использовал greasemonkey (https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/), но тут по желанию можно подобрать аддон под свой браузер.


Сам текст скрипта:

// ==UserScript==

// @name Picabu.Лента

// @VERSION 1

// @GrAnt none

// ==/UserScript==

// @include https://picabu.ru/*


document.getElementsByClassName("header-menu")[0].innerHTML =' <div class="header-menu__item" bis_skin_checked="1"><a href="https://pikabu.ru">Горячее</a></div>'

+'<div class="header-menu__item" bis_skin_checked="1"><a href="/best">Лучшее</a></div>'

+'<div class="header-menu__item" bis_skin_checked="1"><a href="/new/popular">Свежее</a></div>'

+'<div class="header-menu__item" bis_skin_checked="1"><a href="/communities">Сообщества</a></div>'

+'<div class="header-menu__item" bis_skin_checked="1"><a href="https://pikabu.ru/new/subs">Моя лента</a></div>'

+'<div class="header-menu__item" bis_skin_checked="1"><a href="/disputed">Обсуждаемое</a></div>'

+'<div class="header-menu__extra" bis_skin_checked="1"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon--ui__extra"><use xlink:href="#icon--ui__extra"></use></svg></div>';

У кого будут замечания/улучшения - пишите свои варианты скрипта в комментариях ;)
0
Автор поста оценил этот комментарий

А что проверить если он новые не индексирует?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

В смысле? Посты в ленте-то появляются новые, просто сообщений об этом не приходит. Из-за этого и приходится чаще клацать для проверки содержимого, а когда ссылка на виду то оно удобней.

0
Автор поста оценил этот комментарий

Зачем он без новых постов?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Что бы быстрее было проверять, в один клик вместо двух+подгрузка

показать ответы
1
Автор поста оценил этот комментарий

Кстати судя по новостям уже не нужно, таки вернули почти как было: Работа над ошибками: возвращаем счетчик ленты подписок и «Горячее» по времени

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Во, подправил скрипт - теперь возвращает пункт "моя лента" и ставит отметку о наличии новых сообщений:


// ==UserScript==

// @name Picabu.Лента

// @version 1

// @grant none

// ==/UserScript==

// @include https://picabu.ru/*

sc = document.getElementsByClassName("header-menu__subs-counter")


if (sc.length > 0) {

document.getElementsByClassName("header-menu")[0].innerHTML =' <div class="header-menu__item" bis_skin_checked="1"><a href="https://pikabu.ru">Горячее</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/best">Лучшее</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/new/popular">Свежее</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="https://pikabu.ru/new/subs">Моя лента</a>'

+'<a href="/new/subs" class="header-menu__subs-counter">'+document.getElementsByClassName("header-menu__subs-counter")[0].innerHTML+'</a>'+'</div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/communities">Сообщества</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/disputed">Обсуждаемое</a></div>'


+'<div class="header-menu__extra" bis_skin_checked="1"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon--ui__extra"><use xlink:href="#icon--ui__extra"></use></svg></div>';


} else {

document.getElementsByClassName("header-menu")[0].innerHTML =' <div class="header-menu__item" bis_skin_checked="1"><a href="https://pikabu.ru">Горячее</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/best">Лучшее</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/new/popular">Свежее</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="https://pikabu.ru/new/subs">Моя лента</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/communities">Сообщества</a></div>'


+'<div class="header-menu__item" bis_skin_checked="1"><a href="/disputed">Обсуждаемое</a></div>'


+'<div class="header-menu__extra" bis_skin_checked="1"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon--ui__extra"><use xlink:href="#icon--ui__extra"></use></svg></div>';

}

показать ответы
0
САЛАФАНОВЫЙ ПОКЕТИК
Автор поста оценил этот комментарий

Эта кнопка ведет в Подписки Свежего?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Да.

Можно отредактировать в принципе любую кнопку из меню.

Например для подписок горячего нужно подставить ссылку "https://pikabu.ru/hot/subs/time"

0
Автор поста оценил этот комментарий

Непонятно. Смысл был в индикаторе.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ну не только, еще собрать все отслеживания в одном месте. Но без значка печально действительно, посмотрим - вроде обещали что-то придумать.

1
Автор поста оценил этот комментарий

а зачем этот скрипт работает на других сайтах? например на https://dnevnik.ru/feed/ тоже заменяет ленту на пикабушную...  как-то это поправить можно?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

хм, ну я настроил через свойства скрипта в дополнении:

Иллюстрация к комментарию
показать ответы
1
Автор поста оценил этот комментарий

Кстати судя по новостям уже не нужно, таки вернули почти как было: Работа над ошибками: возвращаем счетчик ленты подписок и «Горячее» по времени

показать ответы
0
Автор поста оценил этот комментарий

обновил Waterfox Classic до 2019.12 и Tampermonkey до 4.10 - вообще перестало работать, пишет про 7 строку "'sc' is not defined" и далее 14 строки не выполняется ничего, там "unexpected string concatenation".

USI и Violentmonkey не дают вставить руками скрипт (только с openuserjs или greasyfork), а другие userscript манагеры в waterfox classic не работают...

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Попробовать изменить 7-ю строку на:

var sc = document.getElementsByClassName("header-menu__subs-counter")

или

let sc = document.getElementsByClassName("header-menu__subs-counter")

0
Автор поста оценил этот комментарий

настроил. заработало. но теперь куда-то пропали "сохраненное" и "обсуждаемое", на "..." никакой реакции...

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

ну "обсуждаемое" должно быть, оно у меня всплывает когда навожу на ...

а вот "сохраняемое" (не сохраненное) я действительно убрал, вставив вместо него ленту.

но если оно нужно то можно вернуть вставив в скрипт строчку

+'<div class="header-menu__item" bis_skin_checked="1"><a href="/most-saved">Сохраняемое</a></div>'

вставить её два раза, к примеру после строки с пунктом сообщества. также при желании можно удалить "ненужные" пункты меню.

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества