Brevier: браузер без JavaScript и CSS, который превращает веб в Markdown
Разработчик-фронтендер представил Brevier — браузер, созданный исключительно для чтения текстов. Он не запускает JavaScript, игнорирует CSS сайтов и конвертирует страницы в Markdown прямо на устройстве пользователя.
Фронтенд-разработчик с многолетним опытом опубликовал проект Brevier — браузер, главная и единственная задача которого состоит в чтении текста. Идея, по словам автора, давно лежала в списке задумок и всплывала каждый раз при встрече с очередным сайтом, где контент трудно читать из-за плохой вёрстки или навязчивой рекламы. Реализация заняла ограниченное время в рамках недельного лимита токенов: часть работы выполнена в связке с ИИ-ассистентом Клодом, а профессиональный опыт в фронтенде позволил пойти на радикальный шаг — полностью отказаться от JavaScript и CSS.
Ключевой принцип Brevier сформулирован как отказ от запуска JavaScript в любом виде: ни для конкретного сайта, ни для отдельного меню, ни при каких условиях. Браузер загружает страницу, извлекает из неё основной текст статьи, преобразует его в Markdown на компьютере пользователя и отображает в соответствии с заданными типографическими настройками. Тем самым роли распределяются чётко: сайт определяет содержание текста, а читатель — то, как этот текст будет выглядеть. Внешний вид при этом унифицирован для всех ресурсов: доступны шрифт Noto Sans, книжный Book и ещё два готовых стиля, а также точная настройка шрифта, размера, длины строки и межстрочного интервала, задаваемая один раз для всех сайтов.
Среди продуктовых особенностей выделяется оформление читального зала: бумага цвета слоновой кости, тёплая тёмная палитра для ночного чтения, внимание к переносу текста и масштабированию макета, при котором в строке сохраняется около 65 символов. Стихи сохраняют строки и строфы. Отдельно реализована работа с Git-репозиториями: адрес вида gh:owner/repo открывает README проекта, аналогичный синтаксис работает и с GitLab. Правая панель содержит три инструмента навигации — оглавление страницы на основе заголовков (а для длинных или неструктурированных материалов — на основе процентных долей), навигационные ссылки из хедера или футера сайта и заметки к тексту. Сохранённые Markdown-файлы также можно открывать прямо в Brevier, за исключением версии для Flatpak, где песочница не даёт доступа к файлам с диска.
Контекст проекта автор описывает через метафору: когда-то интернет был тихой библиотекой со свитками, а затем появились «драконы» — запросы на подписку, автовоспроизводимые видео, всплывающие окна, бесконечная прокрутка и главный владыка — JavaScript, который теперь не приносит готовый текст, а строит «замок» на глазах пользователя, нагружая ноутбук. Название отсылает к раннему книгопечатанию: «бревьером» называли шрифт настолько мелкий, что целая книга ежедневных чтений помещалась в карман путешественника. Brevier позиционируется как такая карманная книга для интернета — он проскальзывает мимо «драконов», забирает текст и приносит его на чистой бумаге. На рынке браузеров подобный подход остаётся нишевым: режимы чтения есть в Safari, Firefox и Edge, но они лишь опциональны и не отключают скрипты глобально.
Для российского рынка и русскоязычной аудитории у проекта есть несколько заметных точек соприкосновения. Brevier поддерживает ленты RSS, Atom и JSON Feed, открывая их как списки записей с датой, автором и кратким описанием, включая ссылки вида feed://. Отдельно реализована работа с ветками комментариев на Хабре, Hacker News, Lobsters и форумах на Discourse: каждый ответ размещается под вопросом с указанием автора и даты. С Хабром возникла техническая сложность — в самой странице статьи комментариев нет, их подгружает скрипт, поэтому Brevier самостоятельно выполняет тот же запрос один раз и вставляет комментарии под материал, а ссылки вида #comment_… ведут прямо к нужному комментарию, причём на месте удалённого отображается известная фраза про НЛО. Поиск в адресной строке для не-адресов выполняется через DuckDuckGo и выдаётся простым списком ссылок. Для аудитории, привыкшей читать длинные тексты и обсуждения на Хабре, такой набор функций может оказаться практичнее универсальных браузеров с расширениями-блокировщиками.
С точки зрения архивации Brevier работает как личная библиотека: каждый прочитанный материал сохраняется в сжатом виде в формате Markdown, один файл на одну страницу, а поиск по всему архиву запускается сочетанием Ctrl+Shift+F. Даже если сайт исчезнет, копия останется у пользователя. Если страницы больше нет, браузер предложит достать последнюю версию из Wayback Machine, но только по нажатию кнопки — до этого archive.org ничего не знает о том, что человек читает. Такой подход отличается от классических «читалок» и расширений вроде Pocket или Instapaper, которые чаще ориентированы на отложенное чтение и облачное хранение, тогда как Brevier делает ставку на локальность и отсутствие исполняемого кода. Прямых конкурентов с полностью отключённым JavaScript на рынке немного, и они, как правило, остаются экспериментальными проектами.
Открытыми остаются вопросы развития: автор упоминает, что позже могут появиться другие поисковые системы, а могут и не появиться, и не раскрывает сроков публикации стабильных сборок или поддержки платформ. Неясно, как Brevier будет справляться с сайтами, где контент без JavaScript физически недоступен, и насколько устойчивым окажется извлечение статьи на сложных макетах. Тем не менее сам факт появления такого инструмента показывает спрос на «тихое» чтение: часть аудитории готова пожертвовать интерактивностью ради предсказуемой типографики, отсутствия трекеров и сохранного локального архива. Именно в этой нише Brevier и рассчитывает найти своих читателей.