Pregunta Se busca: embellecedor HTML5 de línea de comando [cerrado]


Querido

Un embellecedor HTML5 de línea de comandos que se ejecuta en Linux.

Entrada

Garrapateado y feo código HTML5. Posiblemente el resultado de múltiples plantillas. No te gusta, no te ama.

Salida

Belleza pura. El código está muy sangrado, tiene suficientes saltos de línea, se preocupa por su espacio en blanco. En lugar de verlo en un navegador web, le gustaría mostrar el código en su sitio web directamente.

Sospechosos

  • ordenado hace demasiado (diablos, ¡altera mi doctype!), y no funciona bien con HTML5. Tal vez hay una manera de hacerlo cooperar y no alterar cualquier cosa?
  • empuje hace muy poco Solo sangra. Quiero que el programa agregue y elimine saltos de línea y juegue con el espacio en blanco dentro de las etiquetas.

¡VIVO O MUERTO!


74
2018-04-17 07:41


origen


Respuestas:


HTML Tidy ha sido bifurcado por el w3c y ahora tiene soporte para la validación HTML5.

https://github.com/w3c/tidy-html5


25
2017-11-30 01:25



Sospecho que se puede hacer que ordenado funcione con los parámetros correctos de línea de comandos.

http://tidy.sourceforge.net/docs/quickref.html

Puede especificar un doctype arbitrario y agregar nuevas etiquetas de bloque, en línea y vacías, y activar y desactivar muchas opciones de limpieza de tidy.

Dependiendo de lo que quiere que "embellezca" probablemente pueda obtener resultados decentes. Probablemente no podrá hacer algunas de las cosas más avanzadas como reescribir el contenido html para eliminar elementos falsos o combinarlos, si no los reconoce.


19
2018-05-05 18:01



Copiado de un sitio web en vivo lo hice usando HTML5 que está validado como HTML5 adecuado en todas las páginas gracias a este fragmento (PHP en este caso, pero las opciones y la lógica son las mismas para cualquier idioma utilizado):

    $options = array(
        'hide-comments' => true,
        'tidy-mark' => false,
        'indent' => true,
        'indent-spaces' => 4,
        'new-blocklevel-tags' => 'article,header,footer,section,nav',
        'new-inline-tags' => 'video,audio,canvas,ruby,rt,rp',
        'new-empty-tags' => 'source',
        'doctype' => '<!DOCTYPE HTML>',
        'sort-attributes' => 'alpha',
        'vertical-space' => false,
        'output-xhtml' => true,
        'wrap' => 180,
        'wrap-attributes' => false,
        'break-before-br' => false,
    );

    $buffer = tidy_parse_string($buffer, $options, 'utf8');
    tidy_clean_repair($buffer);
    // Fix a tidy doctype bug
    $buffer = str_replace('<html lang="en" xmlns="http://www.w3.org/1999/xhtml">', '<!DOCTYPE HTML>', $buffer);

9
2018-06-26 14:26



Si utiliza Haml como su nanoc-filtro, su html se imprimirá bastante bien. Puede establecer salida html5 como una opción.


2
2018-04-26 13:24