ทำให้โพสต์บนบล็อกใช้งานได้เป็นหน้า manual ของ Linux
- คอมพิวเตอร์ Linux จะมีหน้า manual ที่อธิบายวิธีใช้คำสั่งบางอย่างติดตั้งมาให้ล่วงหน้า
- สามารถอ่านหน้า manual ได้โดยพิมพ์
man <command> ในเทอร์มินัล
- ซอฟต์แวร์บรรทัดคำสั่งที่ติดตั้งเพิ่มก็มักจะเพิ่มหน้า manual มาด้วย
- หน้า manual ของ Linux ถูกจัดรูปแบบด้วยไวยากรณ์
roff
roff เป็นซอฟต์แวร์จัดพิมพ์บนบรรทัดคำสั่งยุคแรกสุดสำหรับ Unix ที่พัฒนาโดย Bell Labs
- บทความนี้สำรวจแนวคิดในการทำให้โพสต์บนบล็อกสามารถใช้งานได้เป็นหน้า manual ของ Linux
แนวคิดของระบบ: Content Negotiation
- ผู้เขียนต้องการให้ผู้ใช้ร้องขอโพสต์บนบล็อกเวอร์ชัน
roff ได้ผ่าน HTTP content negotiation
- Content negotiation เป็นส่วนหนึ่งของ HTTP ที่ทำให้สามารถร้องขอโดยระบุรูปแบบไฟล์ได้
- ใช้ HTTP header เพื่อร้องขอคอนเทนต์จากเซิร์ฟเวอร์ในรูปแบบเฉพาะ
- สามารถ route คำขอจากผู้ใช้ที่ส่ง header
Accept มาได้
- หากร้องขอเอกสาร
text/roff ก็สามารถส่งคืนหน้า manual ที่เปิดด้วยคำสั่ง man ได้
การเขียนหน้า manual
- เนื่องจากหน้า manual ใช้ไวยากรณ์
roff จึงต้องมีโพสต์บนบล็อกในรูปแบบดังกล่าว
- ผู้เขียนอัปเดตเว็บไซต์เพื่อสร้างหน้า
man สำหรับแต่ละโพสต์บนบล็อก
- เพื่อสร้างหน้า manual ได้ตั้งชื่อโดเมนเป็น header และสร้างห้าส่วน ได้แก่ ชื่อเรื่อง ผู้เขียน วันที่เผยแพร่ เนื้อหาโพสต์ และ URL ของโพสต์
- เนื้อหาต้นฉบับอยู่ในรูปแบบ Markdown และบางครั้งการแสดงช่องว่างในหน้า manual อาจไม่ถูกต้องนัก
- Markdown อ่านง่ายกว่า HTML และมีการสูญเสียข้อมูลน้อยกว่า
การร้องขอหน้า manual
ความเห็นของ GN⁺
- บทความนี้อาจดึงดูดความสนใจของผู้ที่ชื่นชอบเทคโนโลยี ด้วยการแนะนำวิธีนำเสนอคอนเทนต์บล็อกผ่านหน้า manual ของ Linux ที่แปลกใหม่
- ให้ตัวอย่างการใช้ content negotiation กับ NGINX ในทางปฏิบัติ ซึ่งเป็นข้อมูลที่มีประโยชน์ต่อผู้ดูแลเว็บเซิร์ฟเวอร์หรือนักพัฒนา
- ในอีกมุมหนึ่ง เนื่องจากรูปแบบ Markdown อาจแสดงผลบนหน้า manual ได้ไม่สมบูรณ์เสมอไป จึงอาจต้องมีงานเพิ่มเติมเพื่อปรับปรุงจุดนี้
- โปรเจกต์อื่นที่ให้ความสามารถคล้ายกันมีเครื่องมืออย่าง pandoc ซึ่งรองรับการแปลงระหว่างรูปแบบเอกสารที่หลากหลาย
- เมื่อนำเทคนิคนี้มาใช้ ควรพิจารณาความต้องการของผู้ใช้และความเข้ากันได้
- ข้อดีของการเลือกใช้เทคนิคนี้คือสามารถนำเสนอคอนเทนต์เว็บเดิมในรูปแบบที่ผู้ใช้ Linux คุ้นเคย ส่วนข้อเสียคืออาจเกิดภาระในการดูแลรักษาเพิ่มขึ้นและปัญหาความเข้ากันได้
ยังไม่มีความคิดเห็น