Como pré-modificar (novas linhas e recuo) um arquivo HTML / JS otimizado?

9

Por exemplo, eu tenho o seguinte grupo de caracteres (HTML): http://pastebin.com/pwTPp8wd

Eu pensei que todo mundo se deparasse com um arquivo processado, especialmente quando alguém aceleraria o processamento de grandes arquivos HTML / Javascript / qualquer que seja. Então deve haver uma maneira de automatizar o recuo, sem aplicar o manual. No entanto, não consegui encontrar nada sobre a indentação de força em um arquivo otimizado.

Alguma ideia?

ReneFroger
fonte
Você quer a função equivalente a um embelezador de HTML no Emacs?
PythonNut
Uma rápida pesquisa no Google me deu o seguinte: github.com/yasuyk/web-beautify Deseja experimentar? A solução não está completamente no emacs.
Kaushal Modi

Respostas:

16

Você pode usar o built-in sgml-modepara isso.

  1. M-x sgml-mode- Ative o sgml-modemodo principal para que o sgml-pretty-printcomando seja carregado automaticamente.
  2. C-x h - Selecione o buffer inteiro.
  3. M-x sgml-pretty-print

Para economizar espaço, abaixo é apenas uma parte do texto formatado que eu faço ao fazer o texto acima no seu exemplo de exemplo na pergunta:

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

[ Fonte ]

Kaushal Modi
fonte
Obrigado pela sua resposta, é bom que isso esteja embutido no Emacs. No entanto, encontrei um pequeno recuo defeituoso, mas, no geral, M-x sgml-pretty-printé bom o suficiente. Obrigado pela ajuda.
ReneFroger 29/07/2015
2

O modo HTML padrão também funciona.

  1. C-x h - Selecione o buffer inteiro
  2. M-x indent-region(aka C-M-\)
rleir
fonte
Isso não funciona se as novas linhas foram removidas.
Robin Green
Concordou, isso é um problema. Outra coisa: o HTML é negligente, uma página com erros geralmente ainda pode ser carregada em um navegador. Eu removi um </p> e </td>, mas a região de indentação ainda funcionava.
rleir 4/03