Printer cantik HTML baris perintah: Membuat HTML yang berantakan dapat dibaca [ditutup]

106

Saya mencari rekomendasi untuk printer cantik HTML yang memenuhi persyaratan berikut:

  • Mengambil HTML sebagai masukan, lalu mengeluarkan keluaran dengan format yang bagus / menjorokkan dengan benar tetapi versi "ekuivalen secara grafis" dari HTML masukan yang diberikan.
  • Harus mendukung operasi baris perintah.
  • Harus open-source dan dijalankan di Linux.
knorv
sumber
5
Opsi lainnya adalah pup(tanpa argumen) xmllint --format --html -,, dan xml fo --html.
nisetama
1
curl httpbin.org | tidy
-im
Juga: hxnormalize dari html-xml-utils (Debian)
elig
terkait: stackoverflow.com/questions/16090869/… Anda juga dapat melihat XML Tools
Alex
1
Saya memiliki masalah untuk memahami mengapa ini dianggap di luar topik, sejujurnya ...
Victor Schröder

Jawaban:

90

Lihat Proyek Rapi HTML: http://www.html-tidy.org/

Kakek alat HTML, dengan dukungan untuk standar modern.

Dulu ada garpu bernama tidy-html5 yang sejak itu menjadi barang resmi. Ini adalah repositori GitHub -nya .

Tidy adalah aplikasi konsol untuk Mac OS X, Linux, Windows, UNIX, dan lainnya. Ini mengoreksi dan membersihkan dokumen HTML dan XML dengan memperbaiki kesalahan markup dan meningkatkan kode warisan ke standar modern.

Untuk kebutuhan Anda, berikut adalah baris perintah untuk memanggil Tidy:

tidy inputfile.html
jonjbar.dll
sumber
14
Terima kasih! "tidy -i -m -w 160 -ashtml -utf8 index.html" berhasil! Ternyata rapi diinstal secara default di MacOS X - luar biasa!
knorv
1
Tidy kesulitan mendapatkan lekukan sampai saya menjalankannya dengan opsi ini (daripada membiarkannya default ke "otomatis" dengan -i: rapi --indent ya
Edward Anderson
2
Tidy sangat bagus sebagai alat validator / lint, tetapi tidak begitu bagus sebagai alat kecantikan kode. Dua masalah: (1) itu hanya dapat beroperasi pada file, bukan input standar (jadi Anda tidak dapat, misalnya, mengirim teks yang dipilih dari Notepad ++ ke tidy.exe, dan membuatnya mengeluarkan kode yang diformat kembali ke Notepad ++); (2) Memiliki kesulitan memformat banyak kode, misalnya: <form><input><input><input><input><input></form>.
thdoan
1
Juga memodifikasi file ketika tidak dapat memahami teks.
Paweł Szczur
Satu catatan tentang tidy-html5, jika Anda menggunakan javascript sebaris, Anda perlu memasukkan type="text/javascript"jika tidak rapi akan menambahkan<![CDATA[
jcubic
10

Update 2018: The homebrew/dupessekarang tidak berlaku lagi rapi-html5 dapat langsung dipasang.

brew install tidy-html5

Balasan asli:

Tidydari OS X tidak mendukung HTML5. Tetapi ada cabang eksperimental Githubyang melakukannya.

Untuk mendapatkan:

 brew tap homebrew/dupes
 brew install tidy --HEAD
 brew untap homebrew/dupes

Itu dia! Selamat bersenang-senang!

Paul Brit
sumber
1
Error: No available formula with the name "tidy". brew install tidy-html5bekerja.
Pysis
Memang brew install tidy-html5berhasil dan Anda juga tidak perlu tap homebrew / dupes.
Ogier Schelvis
Tidy melakukan lebih dari sekadar memformat HTML. Ini akan menghapus tag kosong dan menyusun ulang HTML yang secara teknis tidak valid yang diterima oleh browser (baca: digunakan di internet). <p class="a"><div class="b"></div></p>diurutkan ulang sebagai <p class="a"></p><div class="b"></div>dan sesuatu seperti <p><div></div></p>baru saja dihapus. Lihat masalah GitHub ini . Jika Anda menggunakan tidy, Anda harus menjalankannya dalam mode diam tidy -qdan tidak mengabaikan peringatan seperti itu trimming empty <p>. Jangan gunakan pada HTML yang tidak Anda tulis.
Boris
6

Untuk mendapatkan jawaban OS-agnostik yang diperbarui untuk pertanyaan ini:

Sementara proyek HTMLTidy asli tidak aktif selama lebih dari 6 tahun , sebuah "W3C Community & Business group" yang bernama "HTML Tidy Advocacy Community Group (HTACG)" sekarang mulai melanjutkan pengembangannya, dengan tujuan membuatnya sepenuhnya kompatibel dengan HTML5 . Grup ini dibentuk pada Januari 2015 dan meskipun mereka menggambarkan status saat ini sebagai "pekerjaan dalam proses", binari sudah tersedia untuk diunduh.

zb226
sumber
1

Saya pikir HTML rapi adalah salah satu nama rumah tangga di bidang itu.

Pekka
sumber
0

Hanya tindak lanjut yang terlambat untuk pertanyaan PL.

Homebrew telah tidy-html5terinstal seperti yang Anda harapkan.

Ini terhubung sebagai tidy5.

Dave Newton
sumber