Wie schön (Zeilenumbrüche und Einrückungen) eine optimierte HTML / JS-Datei?

9

Zum Beispiel habe ich die folgenden Zeichen (HTML): http://pastebin.com/pwTPp8wd

Ich dachte, jeder stolperte über eine verarbeitete Datei, besonders wenn jemand die Verarbeitung großer HTML- / Javascript- / welcher Dateien auch immer beschleunigen würde. Dann muss es eine Möglichkeit geben, die Einrückung zu automatisieren, ohne manuell zu arbeiten. Ich konnte jedoch nichts über das Einrücken erzwingen in einer optimierten Datei finden.

Irgendwelche Gedanken?

ReneFroger
quelle
Sie möchten das Funktionsäquivalent eines HTML-Verschönerers in Emacs?
PythonNut
Ein kurzes Googeln gab mir folgendes: github.com/yasuyk/web-beautify Möchten Sie es ausprobieren? Die Lösung ist jedoch nicht vollständig in Emacs.
Kaushal Modi

Antworten:

16

Hierfür können Sie das eingebaute verwenden sgml-mode.

  1. M-x sgml-mode- Aktivieren Sie den sgml-modeHauptmodus, damit der sgml-pretty-printBefehl automatisch geladen wird.
  2. C-x h - Wählen Sie den gesamten Puffer aus.
  3. M-x sgml-pretty-print

Um Platz zu sparen, ist unten nur ein Teil des formatierten Textes aufgeführt, den ich oben in Ihrem Beispieltext in der Frage mache:

<table border="4px" cellpadding="0" cellspacing="0" class="c31 c42">
  <tbody>
    <tr class="c4">
      <td class="c33" colspan="1" rowspan="1">
        <p class="c6">
          <span class="c12 c11">Veld
          </span>
        </p>
      </td>
      <td class="c35" colspan="1" rowspan="1">
        <p class="c7">
          <span class="c12 c11">Waarde(n)
          </span>
        </p>
      </td>
      <td class="c26" colspan="1" rowspan="1">
        <p class="c19">
          <span class="c12 c11">Null
          </span>
        </p>
      </td>
      <td class="c18" colspan="1" rowspan="1">
        <p class="c6 c38">
          <span class="c12 c11">Validatie
          </span>
        </p>
      </td>;

[ Quelle ]

Kaushal Modi
quelle
Vielen Dank für Ihre Antwort, schön, dass dies in Emacs integriert ist. Ich habe jedoch einige kleinere fehlerhafte Einrückungen gefunden, aber insgesamt ist das M-x sgml-pretty-printgut genug. Danke für die Hilfe.
ReneFroger
2

Der Standard-HTML-Modus funktioniert ebenfalls.

  1. C-x h - Wählen Sie den gesamten Puffer aus
  2. M-x indent-region(aka C-M-\)
rleir
quelle
Das funktioniert nicht, wenn die Zeilenumbrüche entfernt wurden.
Robin Green
Einverstanden, das ist ein Problem. Eine andere Sache: HTML ist lax, eine Seite mit Fehlern kann oft noch in einen Browser geladen werden. Ich habe ein </ p> und </ td> entfernt, aber die Einrückungsregion hat immer noch funktioniert.
Rleir