Кому це ·
Таблиці, які переживають перенесення в Markdown
Універсальні конвертери HTML у Markdown ламаються саме на тих таблицях, які мають значення, – там, де в комірці список, посилання чи фрагмент коду. Clean Web Clipper пише таблицю сам і сплющує вміст комірки замість того, щоб викидати рядок.
Звідки ці числа: сторінка заміру з версіями рушіїв і датами
Де губляться числа
Таблиця – це та причина, з якої ви взагалі зберегли сторінку: тарифи, ліміти запитів, строки зберігання даних, схема полів. Вставляєте збережене в нотатки – а один рядок розповзся на пів екрана, вертикальні риски стоять не там, і одна колонка непомітно злилася із сусідньою. Числа при цьому досі видно у вкладці браузера позаду, тож поломку легко пропустити, аж доки вкладку не закрито.
Протилежна поломка забирає той самий вечір. Чимало сайтів досі тримають table лише заради розташування блоків, і конвертер, який вважає даними кожну таку сітку, віддає двадцять рядків навігації під виглядом набору даних. В одному випадку час іде на передрук чисел, у другому – на видалення сітки, і жоден із них не той аналіз, заради якого ви сіли працювати.
Передрук має й третю ціну, яка з’являється значно пізніше. Число, вбите в таблицю вручну, не несе ні джерела, ні дати, ні способу його перевірити: через шість тижнів ніхто не скаже, чи строк зберігання в комірці D14 взято зі сторінки в січні чи в березні, а сторінку відтоді двічі редагували. Ціни, ліміти й квоти змінюються без жодних оголошень. Збережена таблиця з адресою джерела й датою, яку оголосила сама сторінка, відповідає на це питання – і відповість знову наступного кварталу, коли ви збережете ту саму сторінку й порівняєте два файли.
Що доїжджає цілим
- Серіалізатор таблиць GFM, написаний саме для цього, а не універсальний плагін до конвертера.
- 12 таблиць із 15 цілими на технічному корпусі – проти 7 у кожного з порівнюваних рушіїв.
- Нерівні двоколонкові таблиці стають рядками з жирним ключем і значенням, а не поламаною сіткою.
- Верстальні таблиці розгортаються – сітки, потрібні лише для розташування, віддають вміст без самої сітки.
- Код у комірці лишається кодом, із міткою мови на огорожі.
- Виділіть таблицю на сторінці й збережіть виділене, коли стаття навколо не потрібна.
- Адреса джерела й оголошена сторінкою дата стоять над таблицею, тож набір чисел несе дату, на яку він був чинним, а не день, коли ви його підшили.
- Друге збереження тієї самої сторінки отримує числовий суфікс і ніколи не перезаписує перше – саме це й робить можливим квартальне порівняння.
## Основні показники | Показник | 2021 | 2022 | 2023 | | --- | --- | --- | --- | | Індекс промислової продукції, % до попереднього року | 101,9 | 63,1 | 105,4 | | Індекс споживчих цін, % до грудня попереднього року | 110,0 | 126,6 | 105,1 | | Експорт товарів, млрд дол. США | 68,1 | 44,1 | 36,2 |
Як налаштувати під таблиці
Два налаштування і одна звичка. Звичка – прокрутити таблицю до кінця перед збереженням – повертає більше рядків, ніж будь-яке налаштування.
- Відкрийте Налаштування розширення з іконки й наведіть теку збереження туди, де живуть робочі дані, –
data/sourcesпоруч із блокнотом чи таблицею, яка ці числа споживає. - Пункт Клік по іконці лишіть на «Відкрити вікно». Таблиця – якраз те, на що варто глянути до збереження: чи зійшлися колонки, видно з першого погляду у вікні і не видно зовсім у списку файлів.
- У полі Ім’я файлу поставте
{date}-{domain}-{title}, щоб та сама сторінка тарифів, збережена в січні і в квітні, стала двома файлами, які лягають поруч при сортуванні. - У властивостях увімкніть
sourceіdate. Таблиця без адреси, звідки вона взялася, – це набір чисел, які рано чи пізно комусь доведеться виводити заново. - Перед збереженням прокрутіть таблицю до останнього рядка. Рядки, що підвантажуються під час прокручування, не існують у DOM, доки не завантажилися, а розширення читає DOM саме в мить збереження.
- Коли стаття навколо не має значення, виділіть таблицю на сторінці й збережіть виділене. Перемикач «Уся сторінка / Виділене» вгорі вікна підтверджує, що перед вами саме виділений фрагмент.
- Поставте в календар регулярне збереження для сторінок, числа на яких рухаються: квоти, ціни, строки зберігання. Цінність такої збірки – у другому знімку, а не в першому.
Налаштування для чисел, які ще знадобляться
Кожне значення нижче служить одній меті: таблиця, яку відкриють через пів року, має й далі казати, звідки вона і на яку дату.
| Налаштування | Значення | Чому саме так |
|---|---|---|
| Клік по іконці | Відкрити вікно | Зсунуту колонку видно одразу у вікні й не видно зовсім у списку файлів |
| Тека | data/sources | Збережені таблиці лежать поруч із блокнотом чи таблицею, які їх споживають |
| Ім’я файлу | {date}-{domain}-{title} | Квартальні знімки однієї сторінки стоять поруч і ніколи не конфліктують |
| Властивості | source і date увімкнено | Два рядки, які перетворюють набір чисел назад на факт, на який можна послатися |
| Зображення | Пропускати | Діаграми однаково приїжджають посиланнями на картинку; чисел із зображення розширення не читає |
| Виділене | Виділити таблицю, зберегти виділене | Стаття на дванадцять екранів довкола таблиці на чотири рядки – шум у теці з даними |
| Повторне збереження | Та сама сторінка щокварталу | Числовий суфікс зберігає обидва файли, а порівняння і є аналізом |
**Періодичність** : Щомісячна; квартальні дані уточнюються через 90 днів. **Одиниця виміру** : Відсоток до відповідного періоду попереднього року. **Охоплення** : Без урахування тимчасово окупованих територій. Вихідна сітка мала об’єднані комірки заголовка й вкладений список в останньому рядку. Таблицею Markdown вона розвалилася б; парами – ні.
Три таблиці, три результати
Тарифна таблиця – у порівняльну
Чотири постачальники, чотири сторінки тарифів, чотири збереження. Кожна таблиця переїжджає як таблиця GFM: назви планів, суми й ліміти стоять у тих самих комірках, що й на сторінці, а над таблицею – адреса джерела. Порівняльна таблиця складається без жодного передрукованого числа.
Тут серіалізатор і виправдовує своє існування: універсальні конвертери ламаються якраз на комірках із маркером виноски, списком включених можливостей чи прикладом коду. На технічному корпусі з п’ятнадцяти таблиць цілими лишилися дванадцять – проти семи в кожного з порівнюваних рушіїв.
Та сама сторінка з різницею в квартал
Ліміти запитів одного провайдера ви зберегли в лютому і ще раз у травні. Другий файл отримав числовий суфікс. Порівняння показує, що на стартовому плані допустимий сплеск запитів урізали вдвічі, а на найстаршому – подовжили вікно зберігання. Ні про те, ні про інше ніде не оголошували.
Без лютневого файлу зміну не довести: сторінка показує лише свій поточний стан, а попередніх чисел немає ніде, де постачальник щось публікує. Увесь метод тримається на тому, що перше збереження було досить дешевим, щоб зробити його ще до того, як стало зрозуміло, що воно знадобиться.
Сітка, яка не могла бути таблицею
Сторінка специфікації описує двадцять заголовків у двоколонковій сітці з об’єднаними комірками шапки й вкладеним списком в одному рядку. Відтворена таблицею Markdown, вона б розсипалася; натомість вона приходить рядками з жирним ключем і значенням під ним – без втрат і для читання, і для пошуку.
Така поведінка – свідомий вибір, а не аварійний запасний шлях. Нерівні двоколонкові таблиці значно частіше виявляються списками означень, одягненими в сітку, ніж даними, а поламану таблицю з рисками відновити важче, ніж прочитати список.
Проти звичних способів перенести таблицю
Кожен із цих способів знімає числа зі сторінки. Різниця – у тому, що приїжджає разом із числами і що доводиться робити потім.
| Як роблять зараз | Що виходить | Чого це коштує |
|---|---|---|
| Передрукувати в таблицю | Рівно ті комірки, які потрібні | Помилки передруку й жодного запису про джерело чи дату |
| Скопіювати й вставити в табличний редактор | Часто сітку, але не завжди | Ламається на комірках зі списком або кодом; верстальні сітки приїжджають як дані |
| Знімок екрана таблиці | Таблицю такою, як її показано | Нічого не порахувати, нічого не знайти пошуком, рядка з джерелом немає |
| Вивантаження CSV від самого сайту | Чисті дані, якщо воно є | На більшості сторінок його немає, а інколи воно розходиться з тим, що показано |
| Універсальний конвертер HTML у Markdown | Markdown, швидко | Комірка зі списком або блоком коду – саме те місце, де такі конвертери ламаються |
| Clean Web Clipper | Таблицю GFM з джерелом і датою над нею | Без об’єднаних комірок, без вивантаження в CSV і без чисел, прочитаних із діаграми |
Коли таблиця вийшла не такою
Куди поділися об’єднані комірки?
У Markdown об’єднаних комірок немає, тому colspan і rowspan сплющуються: вміст зберігається, а візуальне об’єднання – ні, бо формат не вміє його виразити. Там, де заголовок шапки охоплював три колонки, текст опиняється в першій із них. Це властивість цільового формату, а не перетворення, і жодна таблиця Markdown цього не передає.
Чому бракує половини рядків?
Розширення читає DOM у мить збереження, тож рядки, які сторінка довантажує під час прокручування (або віддає за кнопкою «показати ще», або ділить на сторінки), ще не існують, якщо ви їх не викликали. Прокрутіть до кінця, розкрийте все, що розкривається, і тоді збережіть. Таблицю з пагінацією зберігайте посторінково – частини потім легко з’єднати, а рядків, яких браузер так і не отримав, не поверне ніщо.
Чому замість даних прийшла сітка навігації?
Бо це верстальна таблиця – сітка лише для розташування, якою багато старих сайтів досі будують меню й шапки. Такі таблиці розгортаються, а не перетворюються, тож вміст приходить без сітки. Якщо ж навігаційна сітка таки потрапила в нотатку таблицею, значить, сторінка розмітила її як таблицю даних: розмітка сказала «дані», і розширення їй повірило.
Чому таблиця стала рядками «ключ – значення»?
Це шлях для нерівних двоколонкових таблиць. Дві колонки з нерівними рядками – зазвичай список означень, намальований сіткою, і відтворення його таблицею з рисками дає поламану сітку замість читабельної. Вміст повний: жирний ключ, під ним значення, у початковому порядку. Якщо потрібна справжня таблиця, пари механічно перетворюються назад.
Де формат закінчується
У Markdown немає об’єднаних комірок, тож colspan і rowspan сплющуються: вміст зберігається, візуальне об’єднання – ні, бо формат не вміє його виразити. Таблиця, вкладена в комірку іншої, складна для будь-якого інструмента, і цей не виняток. Чисел із картинки діаграми розширення не читає, а CSV чи XLSX не вивантажує: результат – Markdown. І перетворює воно одну сторінку за раз – ту, на якій ви стоїте.
Питання
Що стається з таблицею, яка потрібна лише для верстки?
Чи підтримуються об’єднані комірки?
Чи можна зберегти саму лише таблицю?
Чи можна отримати CSV?
А таблиці, які довантажують рядки під час прокручування?
Чи читає воно числа з діаграми?
Чи записує файл, на яку дату числа були чинні?
{date}. Якщо сторінка дати не оголошує, поле лишається порожнім, а не заповненим навмання, – це принаймні чесна прогалина, а не хибне число.