Интерфейс сайтов Проекта : Автоматика ссылок

script0l0g 10.07.2020 14.10.2020 3885.0

Этот материал дополняет статью "Интерфейс сайтов Проекта : штатный функционал", в которой описаны различные "нестандартные" возможности интерфейса сайтов Проекта и рассказано об основных "неочевидных фичах", добавленных нами к движку сайтов.

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

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

Итак, кроме различных "нестандартных" кнопок, в области основного контента страницы также используется…


Автоматическая обработка ссылок основного контента

На всех сайтах Проекта в этой области для внешних ссылок добавлены следующие дополнительные функции:

  • Анонимизация и добавление "антиследящих" атрибутов – в соответствии с Политикой безопасности. Добавляет к каждой внешней ссылке (кроме сайтов Проекта) атрибуты 'external noopener noreferrer nofollow'.
  • Автоматическое сокращение ссылок (сервис U.TO) – аналогично, подробности в Политике безопасности и в статье по оформлению материалов. При этом конечная ссылка такого перехода отображается во всплывающей подсказке (для каждой сокращённой ссылки).
    На текущий момент автопреобразование отключено. Причины и обсужение смотрим в этом материале.
  • Прямой переход по ссылке, минуя "сокращатель" из предыдущего пункта:
    ALT + щелчок на короткой ссылке = открытие целевой "длинной" ссылки в новом окне (вкладке).
    Работает только в области основного контента и только для сокращённых ссылок, у которых в подсказке присутствует URL конечного перехода (именно по этому адресу и производится переход).
  • Автозапуск сохранения внешней ссылки в сервисе Wayback Machine (веб-архив):
    ALT + щелчок ПКМ на ссылке = запуск сохранения в новом окне (вкладке).
    После окончания процесса сохранения в открывшейся вкладке произойдёт автоматический переход на страницу созданного "скриншота". После этого можно скопировать URL скриншота для дальнейшего использования (например, для вставки в комментарий или в авторскую статью). Зачем это нужно и почему это важно для наших авторов – читаем в этой статье.
  • Поиск самой свежей копии внешней ссылки в веб-архиве:
    ALT + CTRL + щелчок ПКМ на ссылке = вывод последней архивной копии веб-страницы в новом окне (вкладке).
    При этом может оказаться, что архивных копий конкретной страницы нет вообще, значит – создайте такую копию способом, указанным выше.
  • Автозамена http-протокола на https для архивных ссылок – только для ссылок на сервис Wayback Machine (веб-архив). Зачем и почему – смотрим рекомендации в статье по оформлению материалов.
  • Автодобавлениеатрибута открытия в новой вкладке для всех ссылок кроме внутристраничных якорей – с целью повышения удобства оформления (и чтения) текста материалов. Исходя из этого, авторам не требуется вручную задавать атрибуты ссылок, но при желании они могут указывать соответствующий атрибут для принудительного открытия ссылки в текущей вкладке.

Дополнительные возможности автоматической обработки ссылок

Эти функции доступны на любом из сайтов Проекта только после авторизации пользователя.

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

  • Добавление (в соответствии с Политикой безопасности) "антиследящего" атрибута 'nofollow' к ссылкам, связанным с пользовательскими профилями.
    Следует также отметить, что в целях повышения приватности любые ссылки на профили пользователей будут доступны* только после авторизации на сайте. Это относится ко всем страницам всех наших сайтов, как к основному контенту материалов и комментариев к ним, так и к спискам статей в разделах и категориях.
    * В стандартных шаблонах движка ссылки на профили выводятся всегда, независимо от авторизации пользователя и его прав доступа. Так, конечно, проще, но мы придерживаемся практики ограничения свободного доступа к пользовательским данным.
  • Отправка личного сообщения конкретному пользователю.
    ALT + щелчок ПКМ по ссылке* на профиль пользователя = форма отправки сообщения в новом окне (попап).
    * Ссылкой является ник (или аватар) пользователя в комментариях или ник автора в "подвале" текста материала (в том числе – в списке материалов раздела). При этом для каждой такой ссылки добавляется подсказка "ALT+ПКМ = написать ЛС".
  • Просмотр списка текущих активных пользователей сайта
    Список отображается в нижней части правого вертикального меню ("боковуха") – блок "Сейчас на сайте".
    ALT + щелчок по ссылке на на профиль = отправка* личного сообщения (выводится подсказка "+ALT = ЛС").
    * Функция доступна независимо от группы отправителя, отправка произойдёт если получатель разрешил в настройках своего профиля приём личных сообщений.
  • Переход в архив CRX4Chrome для ссылок на страницы аддонов в Chrome WebStore.
    ALT + щелчок ПКМ по ссылке на страницу расширения в CWS = поиск в архиве в новом окне (вкладке).
    При автообработке для таких ссылок добавляется подсказка "ALT+ПКМ = найти в архиве".
    Главным образом предназначено для быстрого доступа к архиву по "битым" ссылкам* на удалённые расширения. Также может использоваться для загрузки предыдущих версий аддонов (если они есть в архивах).
    * Такие ссылки отмечены специальным стилем (например: CWS). Точно также обрабатываются и все ссылки на страницы ныне "почившего" архива CRX.DAM.IO (независимо от их стилевого оформления).
    Кроме того, в качестве "продвинутой" альтернативы для обработки любых ссылок на CWS можно использовать расширение Get CRX RU, одна из функций которого и послужила прототипом для этой "фичи".)
    К вопросу "а почему бы просто не заменить ссылками на архив": неработающие ссылки на страницы репозитория CWS намеренно оставляются авторами материалов – для сохранения исходного URL "выпиленных" расширений. Кроме того, известны случаи, когда удалённые из CWS аддоны позднее были возвращены в репозиторий под тем же ID. И, наконец, учитывая ситуацию с закрытием в мае 2020 года архива CRX.DAM.IO, мы предпочитаем, всё же, оставлять оригинальную ссылку на источник.
  • Загрузка файлов из архивов Проекта по прямым ссылкам (раздел "Загрузка файлов" и его подразделы).
    Работает в "теле" основных материалов (описание загрузки). Прямой ссылкой на загрузку является специальный линк, указанный автором материала при его публикации. При такой обработке в блоке "Сведения о файле" поле "Имя файла" отображается как "большая зелёная кнопка" (с подсказкой "Скачать по прямой ссылке"). Кнопка работает как ссылка – для неё доступны все стандартные действия для ссылок и добавлен атрибут [download], предотвращающий попытки автоматической установки (открытия) загружаемого файла в браузере.
  • Вызов внешнего просмотрщика исходного кода (онлайн-сервис CRX Viewer).
    Предназначен для быстрого ознакомления с исходным кодом расширений. Применяется на страницах основных материалов файловых архивов ("Загрузка"). Вызывается по щелчку с зажатой клавишей ALT по кнопке прямой загрузки (см.предыдущий пункт). Работает только для файлов, с расширением crx, xpi, oex, nex или zip, при этом к кнопке загрузки добавляется соответствующая подсказка.
  • Загрузка по прямым ссылкам копий файлов из публичных архивов Проекта на Яндекс.Диске.
    ALT + щелчок ПКМ по ссылке на страницу Яндекс.Диска = вывод диалога сохранения файла (его загрузка).
    При автообработке для таких ссылок добавляется подсказка "ALT+ПКМ = скачать напрямую".
    Прямые ссылки формируются динамически (в момент щелчка) и не требуют для загрузки перехода на страницу файла на Яндексе. Такие ссылки являются временными, будут работоспособны в течении нескольких часов.
    Функция работает для любых публичных ссылок на Яндекс.Диск, указанных авторами в "теле" публикации* (статьи, документа, новости). При этом сама ссылка никак не изменяется, для неё остаются доступными все стандартные действия, в том числе – обычный клик с переходом по ссылке. Примерами могут служить ссылки на архивные копии аддонов (обозначаются специальным значком ) и другие файлы, размещаемые авторами на Яндекс.Диске.
    * Прямые ссылки не создаются для зеркал файлов в разделе "Загрузка файлов" и его подразделах. В этом разделе доступ к личным файловым архивам на Яндекс.Диске самостоятельно регулируется авторами материалов путём указания ссылок на такие зеркала непосредственно в тексте описания файла.
  • Изменение способа навигации для ссылок, связанных с профилями пользователей.
    В пределах основного контента такие ссылки по умолчанию* открываются в новых вкладках.
    Сделано* из практических соображений, во избежание случайных переходов со страниц просматриваемых статей на страницы профилей. В частности, так будут открываться ссылки на профили авторов статей (в "подвале" статьи) и все ссылки на профили авторов сообщений в комментариях.
    * Мы в курсе, что в стандартном движке можно включить опцию открытия профилей в попап-окне, но, тем не менее, такая функция, заданная на уровне настроек движка, работает слишком "жёстко" и не позволяет выбрать способ навигации в каждом конкретном случае.
  • Изменение способа навигации по умолчанию для части ссылок в блоках текста комментариев.
    Для авторизованных пользователей щелчки по ссылкам на якоря текущей страницы по умолчанию обрабатываются как переходы в пределах текущей* вкладки (прокрутка до связанного якоря).
    * В стандартном шаблоне движка любые ссылки из комментариев принудительно открываются в новых вкладках. Мы считаем такой подход не совсем правильным – это приводит к лишним затратам времени, ведь внутристраничные ссылки, всё же, проще (и быстрее!) смотреть "не отходя от кассы".)
    К вопросу "а почему бы не сделать этот фикс доступным и для анонимов" – причин две:
    1. Для анонимов всё должно работать максимально стандартно и раз уж создатели движка заложили такое поведение – пусть оно работает для "не-членов профсоюза".)
    2. Несмотря на некоторое увеличение нагрузки в момент открытия страниц, мы считаем, что нашим пользователям так будет гораздо комфортнее работать с материалами и комментариями.

На этом по "ссылочной автоматике" пока всё, спасибо за внимание и потраченное время.

С уважением, Скриптолог.


См.также: Рабочий вариант этой статьи в "Песочнице".

Так держать! :)
Официальные документы

URLПоделиться

Всего комментариев: 15
1
15 script0l0g 14.10.2020 • 14:23
Добавил функцию прямой загрузки файлов с Яндекс.Диска, работает для "членов профсоюза".
Во избежание вопросов про раздел "Загрузок" – контент этого раздела полностью на совести авторов.)
1
11 script0l0g 10.10.2020 • 09:47
Добавил автоустановку атрибута target="_blank" для всех ссылок блока основного материала.
Исходил из опыта эксплуатации и удобства юзания – ЛКМ, всё же, привычнее.))
0
13 Бармалей 11.10.2020 • 07:57
вот за это = большое человеческое спасибо! thumb 
сам натыкался, приходится гадать, как оно откроется, если забыл "в новой" указать..)
сопссно, привык уже к скм, но принудительно левой, согласен, удобнее..
0
14 script0l0g 11.10.2020 • 18:26
СКМ тяжелее нажимается, у ЛКМ микрик помягше будет… smile 
Мы ведь всё для народа делаем, чтобы "тяжкий труд" сёрферов хоть как-то облегчить…)
1
10 script0l0g 09.10.2020 • 08:51
Переделал фичу поиска в архивах CRX4Chrome: теперь по Alt+ПКМ можно переходить со всех ссылок на CWS.
Сделано чисто для оперативности проверки ссылок, а то гуглозин стал "без спросу" выпиливать аддоны.)
0
12 Бармалей 11.10.2020 • 07:54
однако, если ещё и "скачать" прикрутить, так и воровайка у нас не нужна будет..))

по существу переделки - плюсанул, я и сам заманался проверять воровайкой дохлые.. thumb
0
9 script0l0g 01.10.2020 • 13:52
Добавил отправку ЛС в списке текущих активных юзеров (блок "Сейчас на сайте" в боковом меню).
Попутно: окно профиля по ссылкам в этом блоке теперь тоже открывается в новой вкладке.
2
4 script0l0g 28.09.2020 • 11:24
Попутно с текущими изменениями и доработками общих шаблонов добавил следующие фичи:
1. Вывод окна отправки ЛС в попапе (по Alt+ПКМ на ссылке профиля, было – в новой вкладке)
2. Открытие ссылок на профили в новой вкладке (было – где как, в основном – в текущей)
3. Открытие ссылок на якоря текущей страницы в текущей вкладке (в комментариях) (было – всегда в новой)

Вроде как всё ровно должно работать, но если что – кройте матом пишите не стесняясь… wink
1
5 Бармалей 28.09.2020 • 13:07
плюсанул за всё в куче, особенно - за якоря, гемор с новой вкладкой шибко напрягал..))
вопчем, "от профкома и завкома" - пивасику!

про п.1 - может, дефольтное окошко попапа чуть поменьше сделать, не?
не настаиваю, но - можно запилить что-то типа автовсплывающего фрейма..
тогда и окна не нужно и всё в пределах видимости, копипастить дрыг-дропом можно..)
само окошко отправки можно сделать фиксированным и "прибить" поверх боковухи..
ну, это так, навскидку идейка.. стиль фейса/кнопок, понятно, можно допилить..
0
7 script0l0g 28.09.2020 • 15:31
Окошко можно сделать любым, я исходил из текущего дизайна, размер кнопок шибко большой..)
К тому же при нынешних диагоналях мониторов 900х640 вполне нормально смотрится.
Когда у нас все стили окончательно оформятся, тогда посмотрим и на размеры окон.

А вот насчёт фрейма – да, хорошая идея, надо будет помараковать на досуге.
Можно ведь по-всякому сделать, главное чтобы оно не выбивалось из общего стиля.
0
6 Бармалей 28.09.2020 • 13:11
..вдогонку - окно чатика = готовый фрейм, заменить контент и поправить стиль.. wink
0
8 script0l0g 28.09.2020 • 15:38
Трудно сказать, надо смотреть, как будет в сочетании со стандартными скриптами чатика, я пока не готов ломать всё подряд, но сама мысля (с учётом твоего предложения по его сворачиванию в кнопку) мне нравится, чатик пока всё равно как "бедный родственник" болтается, так что его с ЛС вполне разумно объединить.

Можно ещё подумать над переключением приват/паблик, т.е. вместо ЛС в этом фрейме сделать именно чатик, но – между конкретными юзерами, по аналогии с аськами/жаберами.

В общем-то, планов можно настроить туеву хучу, вот только пока у нас "напряга" с юзерами нету…)
2
2 script0l0g 14.09.2020 • 07:33
Добавил фичу поиска в архиве для дохлых ссылок из репозитория гугла и по всем ссылкам на crx.dam.io.
Работает в пределах основного контента страниц, перенаправляет в архив crx4chrome (если оно там есть).
Сделано "по мотивам" бармалейского Get CRX RU и по его личной просьбе.)
0
3 Бармалей 14.09.2020 • 08:05
..сопссно, "кому надо" - и так найдут, но во избежание лишних "предъяв" по дохлым ссылкам - фича достаточно востребована..
опять же - мы ведь ориентируемся на пользователей, лишняя штатная удобняшка им не помешает..)
вопчем, плюсанул за прикрутку и пива налил.. wink
0
1 script0l0g 10.07.2020 • 19:21
Перенесено из статьи "Интерфейс сайтов Проекта : штатный функционал".
"Туда" уже не лезет "по габаритам", чтоб их, эти лимиты, через колено! :)
close