¿Cómo embellecer (nuevas líneas y sangría) un archivo HTML / JS optimizado?

9

Por ejemplo, tengo el siguiente grupo de caracteres (HTML): http://pastebin.com/pwTPp8wd

Pensé que todos tropezaron con un archivo procesado, especialmente cuando alguien aceleraría el procesamiento de archivos HTML / Javascript / lo que sea. Entonces debe haber una manera de automatizar la sangría, sin aplicar el manual. Sin embargo, no pude encontrar nada sobre forzar sangría en un archivo optimizado.

¿Alguna idea?

ReneFroger
fuente
¿Desea la función equivalente de un embellecedor HTML en Emacs?
PythonNut
Un rápido google me dio esto: github.com/yasuyk/web-beautify ¿Quieres probarlo? Sin embargo, la solución no está completamente en emacs.
Kaushal Modi

Respuestas:

16

Puede usar el incorporado sgml-modepara esto.

  1. M-x sgml-mode- Habilite el sgml-modemodo principal para que el sgml-pretty-printcomando se cargue automáticamente.
  2. C-x h - Seleccione todo el búfer.
  3. M-x sgml-pretty-print

Para ahorrar espacio, a continuación es solo una parte del texto formateado que obtengo al hacer lo anterior en su texto de muestra en la pregunta:

<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>;

[ Fuente ]

Kaushal Modi
fuente
Gracias por su respuesta, me alegra que esté integrado en Emacs. Sin embargo, encontré algunas sangrías defectuosas menores, pero en general, M-x sgml-pretty-printes lo suficientemente bueno. Gracias por la ayuda.
ReneFroger
2

El modo HTML predeterminado también funciona.

  1. C-x h - Seleccione todo el búfer
  2. M-x indent-region(aka C-M-\)
rleir
fuente
Eso no funciona si se han eliminado las nuevas líneas.
Robin Green
De acuerdo, eso es un problema. Otra cosa: HTML es laxo, una página con errores aún puede cargarse en un navegador. Eliminé un </p> y </td>, pero la región de sangría seguía funcionando.
Rleir