เครื่องพิมพ์สวยแบบบรรทัดคำสั่ง HTML: ทำให้ HTML ที่ยุ่งเหยิงอ่านได้ [ปิด]


109

ฉันกำลังมองหาคำแนะนำสำหรับเครื่องพิมพ์ HTML สวยที่ตอบสนองความต้องการต่อไปนี้:

  • ใช้ HTML เป็นอินพุตแล้วส่งออกรูปแบบที่จัดรูปแบบสวยงาม / เยื้องอย่างถูกต้อง แต่ "เทียบเท่ากราฟิก" ของอินพุตที่ระบุ HTML
  • ต้องรองรับการทำงานตามบรรทัดคำสั่ง
  • ต้องเป็นโอเพ่นซอร์สและทำงานภายใต้ Linux

5
ตัวเลือกอื่น ๆpup(โดยไม่ขัดแย้ง) และxmllint --format --html - xml fo --html
nisetama

1
ขดhttpbin.org | tidy -im
Fabijan Bajo

นอกจากนี้: hxnormalize จาก html-xml-utils (Debian)
ตั้งแต่

ที่เกี่ยวข้อง: stackoverflow.com/questions/16090869/… คุณสามารถดู XML Tools ได้ด้วย
Alex

1
ฉันมีปัญหาที่จะได้รับว่าทำไมเรื่องนี้ถึงถูกมองว่าไม่ตรงประเด็นโดยสุจริต ...
Victor Schröder

คำตอบ:


92

ดูโครงการ HTML Tidy: http://www.html-tidy.org/

คุณปู่ของเครื่องมือ HTML พร้อมการรองรับมาตรฐานสมัยใหม่

เคยมีส้อมที่เรียกว่า tidy-html5 ซึ่งกลายเป็นสิ่งที่เป็นทางการ นี่คือของที่เก็บ GitHub

Tidy เป็นแอปพลิเคชันคอนโซลสำหรับ Mac OS X, Linux, Windows, UNIX และอื่น ๆ แก้ไขและล้างเอกสาร HTML และ XML โดยแก้ไขข้อผิดพลาดมาร์กอัปและอัปเกรดโค้ดเดิมเป็นมาตรฐานที่ทันสมัย

สำหรับความต้องการของคุณนี่คือบรรทัดคำสั่งเพื่อเรียก Tidy:

tidy inputfile.html

14
ขอบคุณ! "tidy -i -m -w 160 -ashtml -utf8 index.html" ได้เคล็ดลับ! ปรากฎว่ามีการติดตั้งเป็นระเบียบเรียบร้อยตามค่าเริ่มต้นใน MacOS X - ยอดเยี่ยมมาก!
knorv

1
Tidy กำลังดิ้นรนกับการเยื้องจนกว่าฉันจะรันด้วยตัวเลือกนี้ (แทนที่จะปล่อยให้ค่าเริ่มต้นเป็น "อัตโนมัติ" ด้วย -i: tidy --indent yes
Edward Anderson

2
Tidy นั้นยอดเยี่ยมในฐานะเครื่องมือตรวจสอบความถูกต้อง / ผ้าสำลี แต่ก็ไม่ได้ยอดเยี่ยมเท่าเครื่องตกแต่งโค้ด สองประเด็น: (1) สามารถใช้งานได้กับไฟล์เท่านั้นไม่ใช่อินพุตมาตรฐาน (ตัวอย่างเช่นคุณไม่สามารถส่งข้อความที่เลือกจาก Notepad ++ ไปยัง tidy.exe และส่งออกรหัสที่จัดรูปแบบกลับไปยัง Notepad ++) (2) มีปัญหาในการจัดรูปแบบรหัสจำนวนมากเช่น: <form><input><input><input><input><input></form>.
thdoan

1
นอกจากนี้ยังแก้ไขไฟล์เมื่อไม่เข้าใจข้อความ
Paweł Szczur

หมายเหตุหนึ่งเกี่ยวกับ tidy-html5 หากคุณใช้จาวาสคริปต์แบบอินไลน์คุณต้องรวมไว้ด้วยtype="text/javascript"มิฉะนั้นจะเพิ่มความเป็นระเบียบเรียบร้อย<![CDATA[
jcubic

10

ปรับปรุง 2018:homebrew/dupesจะเลิกตอนนี้เป็นระเบียบเรียบร้อย-HTML5 อาจจะติดตั้งโดยตรง

brew install tidy-html5

คำตอบเดิม:

Tidyจาก OS X HTML5ไม่สนับสนุน แต่มีสาขาการทดลองGithubที่ทำ

เพื่อรับมัน:

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

แค่นั้นแหละ! มีความสุข!


1
Error: No available formula with the name "tidy". brew install tidy-html5ได้ผล
Pysis

ใช้brew install tidy-html5งานได้จริงและคุณไม่จำเป็นต้องใช้ homebrew / dupes tap ด้วย
Ogier Schelvis

Tidy เป็นมากกว่าแค่การจัดรูปแบบ HTML มันจะลบแท็กว่างและเรียงลำดับ HTML ที่ไม่ถูกต้องทางเทคนิคซึ่งเบราว์เซอร์ยอมรับ (อ่าน: ใช้บนอินเทอร์เน็ต) <p class="a"><div class="b"></div></p>ได้รับการจัดเรียงใหม่<p class="a"></p><div class="b"></div>และบางอย่างเช่น<p><div></div></p>เพิ่งถูกลบ ดูปัญหา GitHub นี้ ถ้าคุณใช้เป็นระเบียบเรียบร้อยคุณควรใช้มันในโหมดเงียบและไม่สนใจคำเตือนเช่นใดtidy -q trimming empty <p>อย่าใช้กับ HTML ที่คุณไม่ได้เขียน
Boris

6

หากต้องการมีคำตอบที่ไม่เชื่อเรื่องพระเจ้าเกี่ยวกับระบบปฏิบัติการที่อัปเดตสำหรับคำถามนี้:

ในขณะที่โครงการHTMLTidy เดิม หยุดให้บริการมานานกว่า 6 ปีแล้ว"กลุ่ม W3C Community & Business"ที่ใช้ชื่อ"HTML Tidy Advocacy Community Group (HTACG)"ได้เริ่มดำเนินการพัฒนาต่อไปโดยมีเป้าหมายเพื่อให้ อย่างเต็มที่ HTML5 กลุ่มนี้ก่อตั้งขึ้นในเดือนมกราคม 2015 และแม้ว่าพวกเขาจะอธิบายสถานะปัจจุบันว่า "งานอยู่ระหว่างดำเนินการ" ไบนารีก็พร้อมให้ดาวน์โหลดแล้ว



0

เพียงแค่ติดตามคำถามเกี่ยวกับ OT

Homebrew มีการtidy-html5ติดตั้งตามที่คุณคาดหวัง

มันเชื่อมโยงเป็นtidy5.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.