Ищем разработчика, который без ума от JavaScript и клёвых анимаций
serguun42
327

Cache TJ и Cache DTF от Сергууна

Альтернатива TJ Cache от @qq, в которой, однако, есть тёмная тема, кэширование комментариев, а также три версии для каждого поста.
Под катом – подробности о настоящем и о том, как я это буду встраивать в свои темы в будущем.

В закладки

Чиво б****?! Притормози и объясни нам всё внятно, пожалуйста!

ОК. Несколько месяцев назад пользователь @qq сделал очень крутую весчь – кэшер постов. Всё там было хорошо, кроме нескольких моментов:

  • Кэшировались не все посты, а только определённых пользователей
  • На фронте не было (и нет сейчас) отображения некоторых элементов. Например: твиты, посты из TG и IG, цитаты, врезки, персоны
  • Не кэшировались комментарии
  • Кэшировался только TJournal

Ну я и подумал:

Хватит это терпеть!

Сергуун, circa 2020
Главный в этом блоге

И я сделал свой персональный кэшер. Сначала для TJ, а потом и для DTF.

Насколько долго он работал можете сами посмотреть (столько ссылок на посты пришло всего от бота, постов меньше в три раза) Да, вас всех всё это время считали

Окей, что это такое и откуда взялось – выяснили. Вопрос: зачем?

Когда Агент О. в очередной раз потрёт свой пост с дискассом на три километра под ним, вы поймёте зачем. Ну ещё и посты DELETED'ов смотреть.

А как это работает?

Очень просто: в Telegram сейчас есть два отдельных канала – для Twitter Journal и для Daily TeleFrag. В них бот шлёт сообщения вида

Ссылка на автора, подсайт, оригинальный пост и кэшированную версию. Для удобства есть два кнопащке. Одна ведёт на тот же оригинальный пост, вторая – на ту же кэшированную версию.

Что есть в кэше?

Три версии поста (для просмотра доступны все три)

  • Первая сохраняется при публикации поста
  • Вторая – через 10 минут
  • Третья – через 1 час

Последняя версия комментариев под постом. Сохраняются они так:

  • Через 1 минуту после публикации
  • С 5 до 55 минут после публикации каждые 5 минут
  • В 2, 4, 6, 8, 10 и 12 часов с момента публикации

К сожалению, сохранять отдельно каждую версию тредов – сервер треснет.

Отображаются почти все блоки/модули в постах

  • автор, подсайт, дата публикации
  • карма у поста и количество закладок
  • заголовок, если он есть
  • текстовые блоки (выделения старался)
  • подзаголовки
  • картинки, видео, гифки и галереи с ними
  • Youtube, Coub
  • блоки типов «Врезка» (оба типа), «Цитата» (оба типа), «Персона», «Число»
  • ссылки, идущие как отдельные блоки и как простые ссылки в тексте
  • разделители (***)
  • списки
  • опросы (голоса не отображаются, только варианты)
  • аудио-блоки
  • твиты
  • посты из Telegram
  • посты из Instagram
  • блоки с кодом 👨🏻‍💻
  • все остальные блоки отображаются, если в них есть текст

В комментариях

  • текст комментария
  • аттачи: картинки, видео, гифки, посты из Твиттера, TG, IG
  • автор коммента
  • ответ кому это был (если это был реплай)
  • дата отправки комментария
  • карма у комментария

Что меня, пользователя, ожидает ещё?

Баги классические

К сожалению, после того, как сокеты перенесли на новый url, события стали приходить не на все посты.

К тому же, процесс повторного кэширования поста может остановиться, ведь я постоянно дорабатываю всю вот эту приблуду. Например, будут доступны версия поста при публикации и сделанная через 10 минут, а вот часовой может не быть.

Так, а твои тёмные и светлые темы тут причём вообще?

Недостаточно эпика? Ща буит мясо!

Если вы являетесь счастливым пользователем моих тем (устанавливай, если ещё не установил – там всё просто), то в относительно ближайшем будущем я встрою этот кэш в темы отдельной страницей.

Да-да! После этого, скорее всего, вы не будете видеть ошибку 404, а в левом меню появиться дополнительная вкладка «Кэш». Всё опционально, ясен пень. И никакого кеширования из вашего браузера происходить не будет – всё на стороне сервера.

Но это ещё не всё!

Когда я встрою эту фичу в темы, каналов с ссылками на посты уже не будет. Равно как и открытого стороннего сервиса на моём сайте. Ведь за бэкенд будет отвечать @qq! Да, вот такой коллаб грядёт.

Этическая сторона вопроса, исключения и "меня посчитали!!1"

Пишите мне в ЛС или в Telegram, вычеркну вас из списка. Однако у @qq уже есть механизм исключения, поэтому когда бэкенд станет его, будет проще.

Спасибо некоему span id Ditkovskiy span (в первый раз вижу) за закрытый бета-тест! Ему будет выслано за щеку 😘

С вас по классике: шлите баг-репорт, подписывайтесь и бейте в колокольчик, чтобы оставаться в курсе дела

До скорых баг-фиксов

serguun42 (да, я поставил этот ник на ТЖ на какое-то время)

#блог #блоги #serguun42 #разработка #cachetj #тёмнаятема #darktheme #darkmode

Тёмные темы для TJ, DTF и vc.ru 🌑Связаться – @serguun42 ✉Поддержка разработки 👨🏻‍💻💵­ Админ и модератор приличного количества подсайтов. Создатель @Аниме Бота и парочки других. Каллиграфия для аватарки и обложки – Мистер Блондин. В каждом посте ставлю теги по смыслу публикации, чтобы вам было проще фильтровать или скрывать контент.
{ "author_name": "serguun42", "author_type": "editor", "tags": ["\u0442\u0451\u043c\u043d\u0430\u044f\u0442\u0435\u043c\u0430","\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","\u0431\u043b\u043e\u0433\u0438","\u0431\u043b\u043e\u0433","serguun42","darktheme","darkmode","cachetj"], "comments": 12, "likes": 27, "favorites": 5, "is_advertisement": false, "subsite_label": "unknown", "id": 166708, "is_wide": true, "is_ugc": false, "date": "Fri, 08 May 2020 12:23:51 +0300", "is_special": false }
Промо
Киберпанк уже здесь. Что умеют протезы, экзоскелеты и другие устройства для людей с инвалидностью
Как технологии помогают людям с нарушениями здоровья.
Объявление на TJ
0
12 комментариев
Популярные
По порядку
Написать комментарий...
2

haha backup go brrrrrr

Ответить
2

За щеку поймал, спасибо! Как всегда тепло и сладко

Ответить

Трогательный Орзэмэс

0

Все ссылки такие

Ответить
1

Починил!

Ответить

Комментарий удален

0

У тебя Firefox?

Ответить

Привлекательный будильник

0

Ты сделал Аляску доступной всем)

Ответить
1

На мой блог преимущественно подписаны местные, а основой срач происходит именно в аляске
Более того, этот пост увидело не больше 30 человек. Да и у qq тоже посты из Аляски, вроде как, не скрывались

Ответить
0

Если у кого-то не отображалось в браузере, уже пофиксил
Ох уж эти стандарты и версии...

Ответить
0

@qq , слыш, работат

Ответить

Принудительный лолипоп

0

У вас первая линк сломалась

Ответить
Обсуждаемое
Новости
Муфтий Чечни обвинил Макрона в разжигании межнациональной розни из-за акций памяти убитого под Парижем учителя
Он посчитал оскорбительным показ карикатур на правительственных зданиях во Франции.
Новости
Charlie Hebdo выпустил карикатуру на Эрдогана после его совета Макрону «проверить психику» из-за слов об исламе
Отношения между странами ухудшились после выступления президента, где он говорил «кризисе» ислама.
Новости
Роспотребнадзор ввёл всеобщий масочный режим и рекомендовал запретить работу ресторанов ночью
В октябре число новых случаев коронавируса, выявленных за сутки, несколько раз обновляло рекордные значения.
Популярное за три дня
Беларусь
Прямая трансляция: общенациональная забастовка, протесты студентов и марш пенсионеров
Старая трансляция упёрлась в количество возможны блоков в статье, продолжаем тут. По просьбам комментаторов, теперь свежие записи будут в начале.
Новости
В Австралии хозяйка угнанной Tesla издевалась над преступниками — удалённо опускала окна, сигналила и снижала скорость
Угонщики не выдержали и бросили машину.
Новости
В Польше массово заблокировали дороги в знак протеста против запрета на аборты
Массовые акции протеста продолжаются уже пятый день.
null