logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Proceduralne tworzenie stron projektu na Github - darmowy hosting GH Pages i skrypt node.js

p.kaczmarek2 04 Wrz 2025 14:17 1260 11

TL;DR

  • Pokazuje sposób automatycznego generowania osobnych stron HTML dla urządzeń IoT na GitHub Pages z użyciem Node.js i GitHub Actions.
  • Dane źródłowe trzymane są w gałęzi main w pliku devices.json, a workflow po każdym pushu przetwarza JSON i zapisuje wynik do gh-pages.
  • Skrypt lokalny usuwa starą zawartość, wczytuje devices.json, iteruje po urządzeniach, sanitizuje nazwy plików i tworzy HTML dla każdego modelu.
  • Efekt uzupełnia wyszukiwarka po stronie klienta, która linkuje do wygenerowanych stron, więc każdemu urządzeniu można dodać wskazówki konfiguracji i powiązane linki.
  • GitHub Pages nadal nie uruchamia backendu, więc całość działa jako pregenerowanie statycznego HTML zamiast prawdziwego serwera.
📢 Słuchaj (AI):
📢 Słuchaj (AI):

Podsumowanie tematu

✨ Dyskusja dotyczy wykorzystania GitHub Pages jako darmowego hostingu statycznych stron HTML oraz sposobu na obejście braku wsparcia dla backendu poprzez proceduralne generowanie stron za pomocą Node.js i automatyzację z GitHub Actions. Node.js umożliwia dynamiczne tworzenie statycznych plików HTML, które następnie publikowane są na GitHub Pages, co pozwala na symulację backendu na statycznym hostingu. GitHub Actions oferuje wirtualne maszyny z systemami Linux i Windows, na których można wykonywać różnorodne operacje, w tym kompilacje firmware dla urządzeń IoT. W dyskusji poruszono także alternatywne rozwiązania hostingowe, takie jak Cloudflare Pages z Cloudflare Workers, które umożliwiają wykonywanie prostych skryptów JavaScript po stronie serwera. Przykładem wykorzystania GitHub Actions jest automatyczna kompilacja firmware dla wielu platform IoT, m.in. BK7231T, BK7231N, ESP32, ESP8266 i innych. Omówiono również kwestie związane z nawigacją i linkowaniem w generowanych stronach, w tym integrację linków do wiki oraz problemy z obsługą HTTPS na niektórych platformach. Wprowadzono usprawnienia w interfejsie wyszukiwania urządzeń, takie jak filtrowanie na żywo, normalizacja zapytań i dynamiczne generowanie listy typów chipów z pliku JSON.
REKLAMA