fix(tools): фильтр breadcrumb-таблиц со Scroll + fix classify_type

- _render_table(): пропускаем навигационные таблицы Help&Manual,
  где последняя колонка == "Scroll" (хлебные крошки per-section).
- classify_type(): проверяем title на "интерфейс*" до проверки суффикса
  "definition" в ключе — исправляет ksXxxDefinition → interfaces/.
- HtmlToMdExtractor: вход по id=hmpagebody_scroller (не topicbody)
  — обход бага Help&Manual с незакрытыми <a> в навигации.

Результат: 2940 статей, 161 пропущена, 0 ошибок, 45 изображений.
Синтаксис Automation/COM в code-fence, таблицы значений в MD-таблицах.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 18:50:38 +03:00
parent 1fbd092116
commit 3452e21791
+6
View File
@@ -256,6 +256,12 @@ class HtmlToMdExtractor(HTMLParser):
max_cols = max((len(r[1]) for r in self.table_rows), default=0)
if max_cols == 0:
return ""
# Пропускаем навигационные breadcrumb-таблицы:
# Help & Manual рендерит хлебные крошки как 2-колоночную таблицу,
# где вторая колонка = "Scroll" (кнопка прокрутки).
if any(len(r) >= 2 and r[-1].strip().lower() == "scroll"
for _is_hdr, r in self.table_rows):
return ""
lines: list[str] = []
header_done = False
for _is_hdr, cells in self.table_rows: