- มักมีคำวิจารณ์ว่าหน้า man "ไม่มีลิงก์ที่เชื่อมถึงกัน" หรือ "เมื่อย่อหน้าต่างเทอร์มินัลแล้วข้อความไม่จัดเรียงใหม่" แต่จริง ๆ แล้ว ฟอร์แมต man เองรองรับทั้งความสามารถด้านลิงก์และการจัดเรียงข้อความใหม่
- ปัญหาอยู่ที่ เครื่องมือที่ใช้สำหรับอ่านหน้า man (เช่น คำสั่ง man และ less) ยังไม่ได้นำความสามารถเหล่านี้ไปใช้อย่างเหมาะสม
โครงสร้างฟอร์แมตของหน้า man
ความสามารถด้านการอ้างอิง (ลิงก์) ก็มีในตัวเช่นกัน
- ฟอร์แมต mdoc มีแมโครสำหรับลิงก์ดังต่อไปนี้:
.Xr: การอ้างอิงข้ามไปยังหน้า man อื่น
.Sx: การอ้างอิงไปยังหัวข้ออื่นภายในหน้าเดียวกัน
- เมื่อนำไปแปลงเป็น HTML จะเรนเดอร์เป็นลิงก์จริง และสามารถคลิกได้ในเบราว์เซอร์
- ส่วนหัวข้อ
.Sh จะถูกจัดการเป็นแองเคอร์ จึงสามารถเป็นปลายทางของลิงก์ .Sx ได้
- แต่เมื่อดูในเทอร์มินัลผ่านคำสั่ง
man ความสามารถด้านลิงก์นี้จะไม่ทำงาน
สรุป: ปัญหาไม่ได้อยู่ที่ฟอร์แมต man แต่อยู่ที่ตัวแสดงผล
- ปัจจุบันคำสั่ง
man จะแสดงหน้าโดย pipe ไปยัง less ซึ่งวิธีนี้ไม่สามารถจัดการลิงก์ได้
- แนวทางแก้คือ:
- ต้องมีตัวแสดงหน้ารูปแบบใหม่ที่เข้าใจฟอร์แมต man และรองรับลิงก์
- ถ้ารองรับความสามารถ จัดเรียงข้อความใหม่อัตโนมัติ (reflow) เมื่อความกว้างของเทอร์มินัลเปลี่ยนไปด้วยก็จะยิ่งดี
ข้อมูลพื้นหลัง
- mdoc(7) เป็นฟอร์แมตที่ถูกนำมาใช้ใน 4.4BSD ช่วงทศวรรษ 1990
- man(7) เป็นฟอร์แมตคลาสสิกที่ใช้ในช่วงปี 1979~1989 และปัจจุบันแทบไม่ได้ใช้งานแล้ว
6 ความคิดเห็น
ฉันเห็นแค่บรรทัดแรกจากการแจ้งเตือนของ Slack bot ก็คลิกทันทีเพราะเห็นด้วยมากเหมือนกัน ผม/ฉันเองก็เห็นด้วย 100% กับคำชี้ว่าปัญหาอยู่ที่ตัวรีดเดอร์
...แต่ดูเหมือนมนุษย์ยุคใหม่จะไม่ใช้ทั้ง
manและแม้แต่เทอร์มินัลกันแล้วด้วยซ้ำrtfmเลยกลายเป็นซากโบราณแห่งยุคโรแมนติกไปแล้วผมตั้งค่าไว้บน mac แบบด้านล่าง แล้วใช้เป็น
pman lsเพื่อเปิดดูเป็น PDFทริกเด็ดมาก... ขอบคุณครับ
สุดยอดมาก ขอบคุณครับ
ว้าว อันนี้โดนใจมากครับ ถ้าอ่าน
manเป็นมันดีมากจริง ๆ แต่การจะอ่านให้เข้าใจนี่มันยากมาก ๆ..ความคิดเห็นจาก Hacker News