Подготовка поста к печати

в 9:22, , рубрики: greasemonkey, userscript, метки:

Доброго времени суток. Не так давно я вдруг понял, что непрочитанных статей на хабре, отложенных «на потом», скопилось достаточное кол-во, при том, что интересных статей все больше и больше. Мне всегда тяжело давалось чтение больших текстов с экрана, поэтому я подумал, что было бы неплохо эти статьи распечатать.

Поиск решения

Вероятно, я не «продвинутый пользователь» хабра, но версию для печати я не нашел. Полез в гугл, беглый просмотр результатов привел к единственному решению, описанному здесь. Мне это решение несколько не подошло (причины не имеют значения). Вариант через «m.*» из комментария к тому же посту тоже не устроил.

Свой велосипед

Я пользуюсь firefox, к которому прикручен плагин greasemonkey для «улучшения интерфейса» пары сайтов через userscript'ы. Посему, для подготовки поста к печати, я выбрал именно этот путь. Без изобретения целых плагинов или других сложных манипуляций. Вообще, основной идеей стала мысль «Это же не бизнес-приложение, сделать по-быстрому и печатать». Изначально я вообще не предполагал предавать это решение огласке, поэтмоу не думал о таких вещах как «красота решения».

Тем не менее, userscript написан и вот как он выглядит и что умеет:

image

Раскрыть спойлеры

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

Пустые строки

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

Изображения

Здесь вроде бы все понятно, но есть небольшой ньюанс. Из-за изменения внешнего вида страницы, изображения, если они были красиво расставлены с выравниванием по краю, начинают расползаться по тексту, что ломает внешний вид страницы. Решение здесь «в лоб» — всем изображениям убирается выравнивание и обтекание текста.

Комментарии

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

И зачем это все?

Да, действительно, изначально этот инструмент я писал на коленке для личного использования. С другой стороны, может быть кому-то это решение тоже может стать полезным, так почему бы не выложить его в открытый доступ?

Репозитарий скрипта на github

P. S.

Я прошу прощения, если это имеет значение, у Bookin за использования названия habraPrint, ничего другого на момент начала разработки мне в голову не пришло.

Автор: Flatformer

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js