4 điểm bởi GN⁺ 2024-03-01 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Cung cấp bài đăng blog dưới dạng trang hướng dẫn Linux

  • Trên máy tính Linux có sẵn các trang hướng dẫn giải thích cách dùng những lệnh cụ thể.
  • Có thể đọc trang hướng dẫn bằng cách nhập man <command> vào terminal.
  • Phần mềm dòng lệnh được cài đặt đôi khi cũng thêm các trang hướng dẫn.
  • Các trang hướng dẫn Linux được định dạng bằng cú pháp roff.
  • roff là phần mềm dàn trang dòng lệnh đầu tiên cho Unix, được phát triển tại Bell Labs.
  • Bài viết này khám phá ý tưởng cung cấp bài đăng blog dưới dạng trang hướng dẫn Linux.

Thiết kế hệ thống: thương lượng nội dung

  • Tác giả muốn cho phép người dùng yêu cầu phiên bản roff của bài đăng blog thông qua cơ chế thương lượng nội dung HTTP.
  • Thương lượng nội dung là một phần của HTTP cho phép yêu cầu bằng cách chỉ định định dạng tệp.
  • Cơ chế này sử dụng các header HTTP để yêu cầu nội dung ở một định dạng cụ thể từ máy chủ.
  • Có thể định tuyến các yêu cầu từ người dùng gửi header Accept.
  • Nếu yêu cầu tài liệu text/roff, máy chủ có thể trả về một trang hướng dẫn có thể mở bằng lệnh man.

Viết trang hướng dẫn

  • Vì trang hướng dẫn dùng cú pháp roff, nên cần có bài đăng blog ở đúng định dạng đó.
  • Tác giả đã cập nhật trang web để tạo trang man cho từng bài đăng blog.
  • Để tạo trang hướng dẫn, tác giả đặt tên miền làm phần đầu và tạo năm phần: tiêu đề, tác giả, ngày đăng, nội dung bài viết và URL bài viết.
  • Nội dung gốc ở định dạng Markdown, nhưng đôi khi khoảng trắng có thể không hiển thị đúng trong trang hướng dẫn.
  • Markdown dễ đọc hơn HTML và ít làm mất thông tin hơn.

Yêu cầu trang hướng dẫn

  • Có thể yêu cầu định dạng roff của một bài đăng blog bằng lệnh sau:
    curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ > post.page && man ./post.page
    
  • Kết quả có thể được mở như một trang hướng dẫn Linux.
  • Khác với khi trình duyệt yêu cầu phiên bản HTML của trang, lệnh curl sẽ yêu cầu phiên bản text/roff.
  • Tác giả đã thêm vài dòng vào cấu hình NGINX để thay đổi cách máy chủ phản hồi khi nhận yêu cầu text/roff.
  • Trong tệp cấu hình NGINX, một biến được khai báo để đặt cờ khi phát hiện một kiểu nội dung cụ thể.
  • Trong cấu hình NGINX của trang web, tác giả dùng mã xử lý yêu cầu khác đi khi trang roff được yêu cầu.
  • Giờ đây có thể đọc các bài đăng blog trên website này như các trang hướng dẫn Linux.
  • Đây cũng là một khám phá về cách dùng thương lượng nội dung trong NGINX và việc công nghệ dàn trang đã tiến bộ đến mức nào.

Ý kiến của GN⁺

  • Bài viết này có thể thu hút những người yêu công nghệ khi giới thiệu một cách độc đáo để phân phối nội dung blog thông qua các trang hướng dẫn Linux.
  • Nó cung cấp một ví dụ thực tế về thương lượng nội dung với NGINX, mang lại thông tin hữu ích cho quản trị viên máy chủ web hoặc lập trình viên.
  • Ở góc nhìn phản biện, định dạng Markdown có thể không phải lúc nào cũng hiển thị tốt trong trang hướng dẫn, nên có thể cần thêm công sức để cải thiện điều này.
  • Những dự án khác cung cấp chức năng tương tự gồm có các công cụ như pandoc, hỗ trợ chuyển đổi giữa nhiều định dạng tài liệu khác nhau.
  • Khi áp dụng kỹ thuật này, cần cân nhắc yêu cầu của người dùng và khả năng tương thích.
  • Lợi ích của lựa chọn này là có thể cung cấp nội dung web hiện có theo cách quen thuộc với người dùng Linux, còn nhược điểm là có thể phát sinh thêm công việc bảo trì và vấn đề tương thích.

Chưa có bình luận nào.

Chưa có bình luận nào.