diva-e-cypress - v1.0.3
    Preparing search index...

    Class htmlPreprocessor

    HTML-Preprozessor für die textzentrierte Reduktion einer Webseite:

    • Lädt eine Seite per Puppeteer (Headless-Chromium),
    • filtert alle DOM-Knoten weg, die weder direkten Text haben, noch in deren Subtree Text vorkommt,
    • erhält pro Element nur tag, id, classList, direkten Text und die gefilterten Kinder,
    • kann daraus minimales HTML generieren, speichern und im Browser öffnen.

    Typische Verwendung:

    • Reduktion von Rauschen (Layout/Container ohne Text),
    • Erzeugen eines kleinen HTML-Snapshots, der sich gut als LLM-Kontext eignet.
    Index

    Constructors

    Methods

    • Lädt eine Seite und baut einen gefilterten DOM-Baum, der ausschließlich Text-tragende Elemente (direkt oder in der Tiefe) enthält.

      Strategie:

      • hasTextInSubtree: prüft rekursiv, ob im Subtree irgendein sichtbarer Text vorkommt (inkl. direkter Textknoten des Elements),
      • filterNode: übernimmt Element nur, wenn direkter Text vorhanden oder mindestens ein Kind im Subtree Text enthält; für Kinder wird derselbe Filter angewendet.

      Parameters

      • url: string

        Die zu ladende URL (z. B. https://example.com).

      Returns Promise<FilteredNode>

      Root des gefilterten DOM-Baums oder null, wenn kein Text gefunden wurde.

      const pre = new htmlPreprocessor();
      const tree = await pre.extractFilteredDOM('https://example.com');
      if (tree) {
      const html = await pre.generateHTML(tree);
      await pre.saveHTML(tree, 'filtered.html');
      }
      • Verwendet page.goto(url, { waitUntil: 'load' }).
      • Schließt Browserinstanz nach der Extraktion.
    • Verpackt den serialisierten Teilbaum in ein vollständiges HTML-Dokument.

      Parameters

      • filteredDOM: FilteredNode

        Root des gefilterten DOMs.

      Returns Promise<string>

      Vollständiges HTML (inkl. <!DOCTYPE html>, <head> und <body>).

      Wenn filteredDOM leer ist (z. B. keine Textknoten vorhanden).

    • Hilfsfunktion: Speichert das HTML und öffnet es mit VS Code's eingebautem Browser.

      Parameters

      • filteredDOM: FilteredNode

        Gezielter Root/Teilbaum (typisch: Ergebnis aus extractFilteredDOM).

      • outputPath: string = 'filtered-dom.html'

        Dateipfad für die Ausgabe (Standard: 'filtered-dom.html').

      Returns Promise<void>

      Promise, das erfüllt, sobald die Datei gespeichert und geöffnet wurde.

    • Hilfsfunktion: Speichert das generierte HTML in eine Datei.

      Parameters

      • filteredDOM: FilteredNode

        Gezielter Root/Teilbaum (typisch: Ergebnis aus extractFilteredDOM).

      • outputPath: string = 'filtered-dom.html'

        Dateipfad für die Ausgabe (Standard: 'filtered-dom.html').

      Returns Promise<void>

      Promise, das erfüllt, sobald die Datei geschrieben wurde.