# SingleLineHtmlProcessor

## Überblick

Der `SingleLineHtmlProcessor` konvertiert mehrzeilige HTML-Elemente in einzeilige, um die Größe der Ausgabe zu reduzieren.

## Funktionsweise

- Verarbeitet den HTML-String nach der DOM-Verarbeitung
- Entfernt Zeilenumbrüche und überschüssige Leerzeichen
- Behält die HTML-Struktur bei, reduziert aber die Formatierung

## Vorher / Nachher

**Vorher:**
```html
<div>
    <p>
        Dies ist ein Absatz mit
        mehreren Zeilen
    </p>
</div>
```

**Nachher:**
```html
<div><p>Dies ist ein Absatz mit mehreren Zeilen</p></div>
```

## Implementierung

Der Prozessor verwendet reguläre Ausdrücke oder DOM-Traversierung, um mehrzeilige Elemente zu identifizieren und zu komprimieren. Zeilenumbrüche innerhalb von Tags werden entfernt, während Textinhalt beibehalten wird.

## Konfigurationsoptionen

- **preserveTextLineBreaks**: (Boolean) Bei `true` werden Zeilenumbrüche in Textknoten als Leerzeichen beibehalten
- **preservePreTags**: (Boolean) Bei `true` wird der Inhalt von `<pre>` Tags nicht verändert

## Erhaltene Elemente

Bei bestimmten Elementen, in denen Whitespace wichtig ist, kann die Formatierung erhalten bleiben:

- `<pre>` und `<code>` Elemente
- `<textarea>` Elemente
- Elemente mit `white-space: pre` im Stil

## Vorteile

- Reduziert die Größe der HTML-Ausgabe
- Verbessert die Ladezeit
- Minimale Auswirkung auf die Darstellung im Browser

## Anwendungsfälle

- Optimierung für Produktionsumgebungen
- Reduzierung der Bandbreitennutzung
- Vorbereitung für weitere Komprimierung (z.B. Gzip)

## Tipps

- Verwenden Sie diesen Prozessor als einen der letzten Schritte in der Verarbeitungskette
- Kombinieren Sie ihn mit `CommentStripProcessor` und `RemoveEmptyLinesProcessor` für maximale Komprimierung
- Beachten Sie, dass die Lesbarkeit des HTML-Codes für Entwickler reduziert wird
