Jak przekształciłem dokumentację API ERP XL z plików .chm w jeden plik HTML

Jeżeli kiedykolwiek próbowałeś przeszukiwać dokumentację API ERP XL w formacie .chm (Windows Help File), to wiesz, że jest to rozwiązanie… delikatnie mówiąc — niezbyt wygodne.
Ograniczenia w wyszukiwaniu, archaiczny interfejs i trudności w pracy na wielu urządzeniach sprawiają, że format .chm jest reliktem przeszłości.
Przy wsparciu ChatGPT stworzyłem rozwiązanie w formie skryptu PowerShell, który przekształca dokumentację .chm w czytelny, jeden plik HTML z możliwością łatwego przeszukiwania i wygodnej nawigacji.
Dlaczego .chm to kłopot w 2025 roku?
Format .chm powstał w latach 90., gdy Internet Explorer był królem przeglądarek, a offline’owa pomoc była standardem.
Dzisiaj jednak:
- 🚫 Problemy z bezpieczeństwem – Windows często blokuje pliki
.chmpobrane z Internetu. - 🐌 Toporne wyszukiwanie – brak elastycznych filtrów i nowoczesnych mechanizmów indeksowania.
- 📱 Brak responsywności – dokumentacji
.chmnie da się wygodnie przeglądać na telefonie czy tablecie. - 🔄 Brak integracji – nie można łatwo linkować do konkretnych sekcji w zewnętrznych aplikacjach czy przeglądarkach.
Opis rozwiązania
Utworzyłem skypt PowerShell, który umożliwia wskazanie pliku *.chm i przekształcenie go na dokument HTML.
Dodałem obsługę w JavaScript śledzenia aktualnej ścieżki dokumentacji aby w każdej chwili wiedzieć w jakiej metodzie API się znajduję i móc nawigować po dokumencie za pomocą niej.
Nadałem linkowania ze spisu treści do poszczególnych sekcji (domyślnie nie działają w pliku *.chm.
Podgląd działania wygenerowanej dokumentacji:

Zalety dokumentu w HTML
- 🔍 Szybkie wyszukiwanie – nie muszę skakać po sekcjach, by coś znaleźć.
- 📱 Działa na każdym urządzeniu – desktop, tablet, telefon. Kolokwialnie rzecz ujmując – możesz podejrzeć coś co Cię zastanawia będąc na WC
- 📤 Łatwe udostępnianie – wystarczy wysłać jeden plik HTML.
- 🖇 Możliwość linkowania – bezpośrednio do sekcji, jeżeli wrzucimy na wewnętrzny katalog.
- 🎨 Pełna kontrola wyglądu – można dostosować style CSS, dodać branding firmy, favicony czy dodatkowe funkcje.
- 📦 Jednolite źródło prawdy – jeden plik zamiast setek rozproszonych podstron w .chm.
Sposób użycia
- Zainstaluj 7zip jeżeli go nie masz (będzie potrzebny do przetworzenia pliku *.chm)
- Wypakuj skrypt FoxBaseChm2Html
- Wykonaj skrypt z PowerShell
Skrypt PowerShell
.\FoxBaseChm2Html.ps1 -ChmPath "F:\dev\FoxBase\src\ERPXL\API\XLAPI20250.chm" -OutHtml "F:\dev\FoxBase\src\ERPXL\API\XLAPI20250_onepage.html" -InlineAssets
gdzie:
ChmPath – ścieżka do pliku z dokumentacją
OutHtml – ścieżka do pliku docelowego html
InlineAssets – zachowuje image jako data w html
Daj znać czy jest łatwiej w taki sposób działać z dokumentacją!
Do kolejnego razu!