Готовим Instant View

· nikoontelegram's blog


Сегодня рассмотрим механизм добавления быстрого просмотра (Instant View) и как написать пост с его использованием в телеграме.

Как добавить Instant View #

Instant View - очень удобная штука. Она позволяет отображать статьи с сайтов прямо в телеграме со всякими удобными плюшками вроде масштабирования текста и запоминания последней открытой позиции. И, оказывается, в телеграме есть возможность добавить такой функционал для любого сайта. К сожалению, данная возможность выглядит довольно заброшенной, и судя по всему не пользуется особой популярностью. Возможно, это связано с тем, что не каждый сайт удобно просматривать в таком режиме. Но для текстовых статей, как в моём случае, она подходит идеально.

Итак, что для этого нужно:

  1. Перейти на https://instantview.telegram.org/
  2. Залогиниться в свой профиль в правом нижнем углу
  3. Добавить новый шаблон и реализовать парсер для вашего сайта

Понимаю, что третий пункт звучит как дорисовать остальную сову из гайда как стать художником, но для простейшего случая вам поможет пример парсера, который автоматически откроется в редакторе.

Вот парсер, который получился у меня:

~version: "2.0"
$header: //header
body:    //article
title:          $body//h1
author:         $header//p/a
author_url:     $author/@href
published_date: $header//p/time/@datetime

@remove: //span[has-class("ln")]

Результат вы либо лицезреете прямо сейчас, либо можете его увидеть открыв мой канал с мобильного устройства и нажав на кнопку Instant View под постом. Здесь задаётся заголовок, название блога, ссылка на блог, дата публикации и, непосредственно, тело поста. Также в последней строке происходит небольшая магия, котрая отрезает нумерацию строк из блоков с кодом, поскольку их телеграм упорно показывает склееными в одну строку с содержательной частью блока с кодом. Синтаксис парсера описан в доке, но для того чтобы получить что-то минимально пригодное для просмотра должно хватить и метода научного тыка. Когда вы получили устраивающий вас результат быстрого просмотра в правом столбце онлайн-редактора, то можете достать публичную ссылку с помощью кнопки View In Telegram в правом верхнем углу. И тут начинается самое интересное...

Оформляем пост с помощью скрытых символов #

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

Чтобы не пугать людей такими ужасами в своих постах можно воспользоваться следующей хитростью:

Что это даёт? Поскольку первой в посте у нас идёт невидимая ссылка на Instant View - для неё внизу поста отобразится превью с нужной нам кнопкой быстрого просмотра! При этом, нажать на скрытую в тексте ссылку нельзя даже случайно, чего нам и не надо. Зато по обычной ссылке можно перейти на неискаженный первоисточник безо всяких проблем.

Пример такого оформления вы можете видеть у меня в канале.

Итоги #

Мы научились добавлять режим быстрого просмотра для любых сайтов и красиво оформлять это в постах в телеграме.

P.S. Выражаю благодарность человеку в нашем чате, который задал вопрос, из которого родилась эта заметка🫶


Мой канал про разработку под телеграм: @NikoOnTelegram