html5 - lista - principales etiquetas de html
Se busca: embellecedor HTML5 de lĂnea de comando (4)
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
- Tidy hace demasiado (diablos, ¡altera mi doctype!), y no funciona bien con HTML5. Tal vez hay una manera de hacerlo cooperar y no alterar nada ?
- Vim 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!
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);
HTML Tidy ha sido bifurcado por el w3c y ahora tiene soporte para la validación HTML5.
Si usa Haml como filtro de nanocápster, su html se imprimirá bastante bien. Puede establecer salida html5 como una opción.
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.