Как устроено
Как это работает и где останавливается
Ничего волшебного здесь нет, и ни одного обращения к серверу тоже. Весь конвейер отрабатывает на той странице, которую вы смотрите, за несколько десятков миллисекунд.
Поиск статьи
Сначала расширение ищет привычные контейнеры, в которых обычно лежит статья. Если такого контейнера нет – а на множестве настоящих сайтов его нет, – в ход идёт замер плотности текста: в каком блоке больше всего абзацев, не спрятанных внутрь ссылок. Побеждает самый узкий блок, в котором всё ещё лежит почти весь этот текст.
Блок, где текст состоит в основном из подписей к ссылкам, – это меню или лента, а не статья, и он отбрасывается. Исключение – если в нём больше примерно 1200 символов настоящего текста: длинные статьи законно содержат много ссылок.
Срез обвязки
Дальше уходят известные не-содержательные элементы: навигация, баннеры, панели «поделиться», плашки про куки, пагинаторы, ленты «читайте также» и полосы логотипов. Повторяющиеся строки удаляются: навигация, продублированная в каждой секции, – главный источник шума в склипанной странице.
что оставляют другие
[К содержанию](#main) [Войти](/login) [Регистрация](/register) [Главная](/) [Новости](/news) [Спорт](/sport) [Культура](/culture) [Ещё](/more) Мы используем куки и похожие технологии, чтобы улучшить ваш опыт. [Принять все] [Настроить] # Статья, за которой вы пришли Настоящий первый абзац текста. <div class="promo-inline"> ## Читайте также [Другой заголовок](/a) [Ещё один заголовок](/b) [И третий](/c)
что попадает в заметку
# Статья, за которой вы пришли Настоящий первый абзац текста.
Конвертация
Таблицы расширение сериализует само, а не общим плагином: универсальные конвертеры ломаются на ячейке со списком или блоком кода. Заборы кода берут язык из разметки самой страницы. Ссылки-примечания собираются в сноски Markdown до того, как санитайзер срежет идентификаторы, на которые они опираются, – порядок здесь важен, и ошибка в нём молча теряет все сноски.
Где останавливается
На витрине, в ленте или в результатах поиска статьи нет. Расширение проверяет готовый Markdown: если больше четверти его сидит внутри подписей к ссылкам, оно отвечает «статьи нет», а не выдаёт триста ссылок. Этот отказ сделан намеренно, и из-за него счётчики символов здесь ниже, чем у инструментов, которые всегда что-то возвращают.
Чего оно не делает
- Не скачивает картинки, видео и прочие двоичные файлы – ссылки на изображения ведут на исходный сайт
- Не обходит сайт: одна страница за раз, та, на которой вы стоите
- Не пересказывает и не переписывает: текст статьи конвертируется, а не редактируется
- Не работает на страницах, которые защищает браузер, –
chrome://и сам магазин расширений