76 votes

Wanted: Ligne de commande HTML5 beautifier

Voulu

Une ligne de commande HTML5 formatage automatique de la requête fonctionnant sous Linux.

Entrée

Brouillé, laid code HTML5. Peut-être le résultat de plusieurs modèles. Vous ne l'aimez pas, il ne vous aime pas.

Sortie

La beauté Pure. Le code est bien en retrait, a assez de sauts de ligne, les soins pour les espaces. Plutôt que de l'afficher dans un navigateur web, vous souhaitez afficher le code sur votre site web directement.

Les Suspects

  • rangé en fait trop (oups, il modifie mon doctype!), et il ne fonctionne pas bien avec le HTML5. Peut-être il ya un moyen de faire coopérer et à ne pas modifier quelque chose?
  • vim n'a que trop peu. Il ne tirets. Je veux que le programme pour ajouter et supprimer des sauts de ligne, et de jouer avec les espaces à l'intérieur des balises.

MORT OU VIVANT!

27voto

mhansen Points 262

HTML Tidy a été créé par le w3c et prend désormais en charge la validation HTML5.

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

19voto

Je soupçonne bien rangé peut être fait pour travailler avec les bons paramètres de ligne de commande.

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

Vous pouvez spécifier l'arbitraire d'un doctype et d'ajouter de nouveaux block, inline, et les balises vides, et les allumer et les éteindre beaucoup de ranger ses options de nettoyage.

En fonction de ce que vous voulez à "embellir", vous pouvez probablement obtenir des résultats décents. Il ne sera probablement pas en mesure de faire certaines des choses plus avancées, comme la réécriture du contenu html à éliminer les parasites des éléments ou de les combiner, si elle ne les reconnaît pas.

9voto

Philipp Points 335

J'ai copié à partir d'un site Web actif à l'aide de HTML5, qui est validé comme tel sur toutes les pages grâce à cet extrait (PHP dans ce cas, mais les options et la logique sont les mêmes pour toutes les langues utilisées):

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

2voto

Dan Brendstrup Points 21

Si vous utilisez Haml comme filtre nanoc, votre code HTML sera automatiquement imprimé correctement. Vous pouvez définir la sortie html5 en tant qu'option.

-6voto

ideotop Points 134

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X