2010-07-30 20 views
2

Y a-t-il un moyen d'imprimer une chaîne HTML ou XML à partir de la ligne de commande sur un mac? Essayer de le faire dans Ruby. Des idées? J'ai pensé à XSLT et à l'écriture de mon propre analyseur, mais les deux sont très impliqués. Vous cherchez quelque chose déjà là-bas.Pretty Print HTML dans Ruby (ou Shell)

Répondre

5

fichiers XML

xmllint --format file.xml

fichiers HTML

xmllint --format --html file.html

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/xmllint.1.html

+1

Comment le faites-vous lire depuis stdin? –

+0

@ landon9720 (désolé pour la mauvaise mise en forme) 'output = IO.popen (" xmllint --format --html - "," w + ") do | pipe | pipe.puts html pipe.close_write pipe.read end' – Stoffe

+0

Pour lire depuis stdin, utilisez - comme nom de fichier: xmllint --format - –

0

En coquilles, une autre option est d'utiliser pup sans arguments:

pup 

xmlstarlet prend également en charge l'aide d'un analyseur HTML. fo est l'abréviation de format. Voir xml fo -h pour de l'aide.

xml fo --html 

La mise en œuvre principale de tidy ne supporte pas HTML5 mais tidy-html5 fait. brew install tidy-html5 installe tidy-html5 sous /usr/local/bin/tidy sous OS X.