Clean Clipper Додати в Chrome – безкоштовно

Як влаштовано

Як воно працює і де зупиняється

Тут немає нічого магічного і нічого, що зверталося б до сервера. Увесь конвеєр виконується просто на тій сторінці, яку ви дивитеся, за кілька десятків мілісекунд.

Пошук статті

Спершу розширення шукає очевидні контейнери, у яких зазвичай лежить стаття. Коли такого контейнера немає – а на багатьох справжніх сайтах його немає – воно переходить до вимірювання щільності тексту: у якому блоці найбільше абзацного тексту, що не сидить усередині посилань. Перемагає найвужчий блок, який усе ще містить майже весь цей текст.

Блок, текст якого складається переважно з підписів до посилань, – це меню або стрічка, а не стаття, і його відкидають. Виняток – коли в ньому понад приблизно 1200 символів справжнього тексту: довгі статті законно містять багато посилань.

Зрізання обв’язки

Далі йдуть відомі нетекстові елементи: навігація, банери, панелі поширення, повідомлення про cookie, пагінатори, стрічки «читайте також» і смуги логотипів. Повторені рядки прибираються, бо навігація, продубльована в кожній секції, – найбільше джерело шуму в збереженій сторінці.

що лишають інші розширення

[До змісту](#main) [Увійти](/login) [Зареєструватися](/register)
[Головна](/) [Новини](/news) [Спорт](/sport) [Культура](/culture) [Ще](/more)

Ми використовуємо файли cookie та подібні технології, щоб покращити ваш досвід.
[Прийняти всі] [Налаштувати]

# Стаття, по яку ви прийшли

Справжній перший абзац тексту.

<div class="promo-inline">

## Читайте також
[Інший заголовок](/a) [Ще один заголовок](/b) [І третій](/c)

що потрапляє в нотатку

# Стаття, по яку ви прийшли

Справжній перший абзац тексту.

Конвертація

Таблиці серіалізує саме розширення, а не універсальний плагін, бо універсальні конвертери ламаються на комірці зі списком чи блоком коду. Блоки коду беруть мову з розмітки самої сторінки. Посилання-примітки збираються у виноски Markdown ще до того, як санітайзер зріже потрібні їм id: порядок тут важливий, і помилка в ньому тихо губить усі виноски.

Де воно зупиняється

На вітрині, у стрічці чи в результатах пошуку статті немає. Розширення перевіряє готовий Markdown: якщо понад чверть його сидить у підписах до посилань, воно повідомляє «немає статті», а не віддає вам триста посилань. Ця відмова навмисна, і саме через неї кількість символів тут менша, ніж в інструментів, які завжди щось повертають.

Чого воно не робить

Питання

Скільки часу займає збереження?
Десятки мілісекунд для звичайної статті; дуже довга сторінка із сотнями виносок забирає кілька сотень. Час показано в кутку вікна.
Чи працює воно на односторінкових застосунках?
Так. Розширення читає DOM після відмальовування, тож документація, зібрана на JavaScript, зберігається такою, якою ви її бачите.
Що таке режим видобування jsonld-articlebody?
Деякі сторінки віддають текст статті у своїх структурованих даних, але так і не домальовують його. Коли в структурованих даних істотно більше тексту, ніж у DOM, розширення бере їх – і записує, що зробило саме так.