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