Máy in HTML dòng lệnh khá đẹp: Làm cho HTML lộn xộn có thể đọc được [đóng]


105

Tôi đang tìm các đề xuất cho máy in HTML đẹp đáp ứng các yêu cầu sau:

  • Sử dụng HTML làm đầu vào, sau đó xuất ra một phiên bản được định dạng độc đáo / được thụt lề chính xác nhưng "tương đương về mặt đồ họa" của HTML đầu vào đã cho.
  • Phải hỗ trợ hoạt động dòng lệnh.
  • Phải là mã nguồn mở và chạy trên Linux.

5
Các tùy chọn khác là pup(không có đối số) xmllint --format --html -, và xml fo --html.
nisetama

1
curl httpbin.org | gọn gàng -im
Fabijan Bajo

Ngoài ra: hxnormalize từ html-xml-utils (Debian)
elig

liên quan: stackoverflow.com/questions/16090869/... bạn cũng có thể nhìn vào Công cụ XML
Alex

1
Tôi thực sự có vấn đề để hiểu tại sao điều này được coi là lạc đề, thành thật mà nói ...
Victor Schröder.

Câu trả lời:


90

Xem qua Dự án HTML Tidy: http://www.html-tidy.org/

Ông lớn của các công cụ HTML, với sự hỗ trợ cho các tiêu chuẩn hiện đại.

Đã từng có một fork được gọi là slim-html5 mà từ đó đã trở thành thứ chính thức. Đây là kho lưu trữ GitHub của nó .

Tidy là một ứng dụng bảng điều khiển dành cho Mac OS X, Linux, Windows, UNIX và hơn thế nữa. Nó sửa và làm sạch các tài liệu HTML và XML bằng cách sửa lỗi đánh dấu và nâng cấp mã kế thừa lên các tiêu chuẩn hiện đại.

Đối với nhu cầu của bạn, đây là dòng lệnh để gọi Tidy:

tidy inputfile.html

14
Cảm ơn! "Ngăn nắp -i -m -w 160 -ashtml -utf8 index.html" đã thành công! Hóa ra ngăn nắp được cài đặt theo mặc định trong MacOS X - tuyệt vời!
knorv

1
Tidy đã phải vật lộn với việc thụt đầu dòng cho đến khi tôi chạy nó với tùy chọn này (chứ không phải để cho nó mặc định để "tự động" với -i: yes --indent gọn gàng
Edward Anderson

2
Tidy tuyệt vời như một công cụ xác nhận / lint, nhưng nó không quá tuyệt vời như một công cụ làm đẹp mã. Hai vấn đề: (1) nó chỉ có thể hoạt động trên các tệp, không phải đầu vào tiêu chuẩn (ví dụ: vì vậy bạn không thể gửi văn bản đã chọn từ Notepad ++ tới slim.exe và yêu cầu xuất mã đã định dạng trở lại Notepad ++); (2) Nó có khăn khi định dạng rất nhiều mã, ví dụ như: <form><input><input><input><input><input></form>.
thdoan

1
Ngoài ra, nó sửa đổi tệp khi nó không thể hiểu văn bản.
Paweł Szczur

Một lưu ý về gọn gàng-html5, nếu bạn đang sử dụng inline javascript, bạn cần bao gồm type="text/javascript"cách khác gọn gàng sẽ thêm<![CDATA[
jcubic

10

Cập nhật 2018: Các homebrew/dupeshiện đang bị phản đối, gọn gàng-html5 có thể được cài đặt trực tiếp.

brew install tidy-html5

Câu trả lời ban đầu:

Tidytừ OS X không hỗ trợ HTML5. Nhưng có một nhánh thử nghiệm trên Githubđó.

Để có được nó:

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

Đó là nó! Chúc vui vẻ!


1
Error: No available formula with the name "tidy". brew install tidy-html5làm.
Lọc máu

Quả thực brew install tidy-html5hoạt động và bạn cũng không cần đến vòi homebrew / dupes.
Ogier Schelvis

Tidy không chỉ định dạng HTML. Nó sẽ loại bỏ các thẻ trốngsắp xếp lại các HTML không hợp lệ về mặt kỹ thuật được các trình duyệt chấp nhận (đọc: được sử dụng trên internet). <p class="a"><div class="b"></div></p>được sắp xếp lại <p class="a"></p><div class="b"></div>và một cái gì đó giống như <p><div></div></p>vừa bị xóa. Xem vấn đề GitHub này . Nếu bạn sử dụng ngăn nắp, bạn nên chạy nó ở chế độ yên tĩnh tidy -qvà không bỏ qua bất kỳ cảnh báo nào như trimming empty <p>. Không sử dụng nó trên HTML mà bạn không viết.
Boris

6

Để có một câu trả lời cập nhật, không thể đoán được OS cho câu hỏi này:

Mặc dù dự án HTMLTidy ban đầu đã không hoạt động trong hơn 6 năm , một "nhóm Cộng đồng & Doanh nghiệp W3C" có tên "Nhóm cộng đồng ủng hộ HTML Tidy (HTACG)" hiện đã bắt đầu tiếp tục phát triển, với mục tiêu hoàn toàn tương thích với HTML5 . Nhóm được thành lập vào tháng 1 năm 2015 và mặc dù họ mô tả trạng thái hiện tại là "đang tiến hành", các tệp nhị phân đã có sẵn để tải xuống.



0

Chỉ là theo dõi muộn cho một câu hỏi Cựu ước.

Homebrew đã tidy-html5được cài đặt như bạn mong đợi.

Nó được liên kết dưới dạng tidy5.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.