From 3452e217910a75e7c27027d6b117fdf2825dbab0 Mon Sep 17 00:00:00 2001 From: Shahovalov MIkhail Date: Tue, 26 May 2026 18:50:38 +0300 Subject: [PATCH] =?UTF-8?q?fix(tools):=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D1=80=20breadcrumb-=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=20?= =?UTF-8?q?=D1=81=D0=BE=20Scroll=20+=20fix=20classify=5Ftype?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - _render_table(): пропускаем навигационные таблицы Help&Manual, где последняя колонка == "Scroll" (хлебные крошки per-section). - classify_type(): проверяем title на "интерфейс*" до проверки суффикса "definition" в ключе — исправляет ksXxxDefinition → interfaces/. - HtmlToMdExtractor: вход по id=hmpagebody_scroller (не topicbody) — обход бага Help&Manual с незакрытыми в навигации. Результат: 2940 статей, 161 пропущена, 0 ошибок, 45 изображений. Синтаксис Automation/COM в code-fence, таблицы значений в MD-таблицах. Co-Authored-By: Claude Sonnet 4.6 --- tools/build_kompas3d_sdk.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/build_kompas3d_sdk.py b/tools/build_kompas3d_sdk.py index b3d13cf..35acf64 100644 --- a/tools/build_kompas3d_sdk.py +++ b/tools/build_kompas3d_sdk.py @@ -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: