4 puntos por GN⁺ 2024-03-01 | Aún no hay comentarios. | Compartir por WhatsApp

Ofrecer publicaciones de blog como páginas de manual de Linux

  • Las computadoras con Linux traen preinstaladas páginas de manual que explican cómo usar ciertos comandos.
  • Se puede leer una página de manual escribiendo man <command> en la terminal.
  • El software de línea de comandos que instalas también puede agregar páginas de manual.
  • Las páginas de manual de Linux se formatean usando la sintaxis roff.
  • roff fue el primer software de composición tipográfica por línea de comandos para Unix, desarrollado en Bell Labs.
  • Se explora la idea de ofrecer publicaciones de blog como páginas de manual de Linux.

Diseño del sistema: negociación de contenido

  • Se busca permitir que los usuarios soliciten una versión roff de una publicación de blog mediante negociación de contenido HTTP.
  • La negociación de contenido es una parte de HTTP que permite solicitar un formato de archivo específico.
  • Se usan encabezados HTTP con los que se puede pedir al servidor contenido en un formato determinado.
  • Es posible enrutar las solicitudes de usuarios que envían el encabezado Accept.
  • Si se solicita un documento text/roff, se puede devolver una página de manual que pueda abrirse con el comando man.

Escribir la página de manual

  • Como las páginas de manual usan sintaxis roff, es necesario tener la publicación del blog en ese formato.
  • Se actualiza el sitio para generar una página man para cada publicación del blog.
  • Para generar la página de manual, se configura el nombre de dominio como encabezado y se crean cinco secciones: título, autor, fecha de publicación, contenido de la publicación y URL de la publicación.
  • El contenido original está en formato Markdown y, a veces, el espaciado puede no mostrarse correctamente en el manual.
  • Markdown es más fácil de leer que HTML y pierde menos información.

Solicitar una página de manual

  • Se puede solicitar el formato roff de una publicación de blog con el siguiente comando:
    curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ > post.page && man ./post.page
    
  • El resultado puede abrirse como una página de manual de Linux.
  • A diferencia de cuando el navegador solicita la versión HTML de la página, el comando curl pide la versión text/roff.
  • Se agregan unas cuantas líneas a la configuración de NGINX para cambiar la forma en que el servidor responde cuando se solicita text/roff.
  • En el archivo de configuración de NGINX se declara una variable que establece una bandera cuando se identifica un tipo de contenido específico.
  • En la configuración NGINX del sitio se usa código que procesa de forma distinta la solicitud cuando se pide una página roff.
  • Ahora se pueden leer las publicaciones del blog de este sitio como páginas de manual de Linux.
  • Esta es una exploración de cómo usar la negociación de contenido en NGINX y de cuánto han evolucionado las tecnologías de composición tipográfica.

Opinión de GN⁺

  • Este artículo puede resultar interesante para entusiastas de la tecnología al presentar una forma original de ofrecer contenido de blog a través de páginas de manual de Linux.
  • Ofrece un caso práctico de negociación de contenido con NGINX, lo que brinda información útil para administradores de servidores web o desarrolladores.
  • Desde una mirada crítica, como el formato Markdown puede no mostrarse siempre bien en una página de manual, podría requerirse trabajo adicional para mejorarlo.
  • Entre otros proyectos que ofrecen funciones similares están herramientas como pandoc, que permiten convertir entre diversos formatos de documentos.
  • Al adoptar esta técnica, hay que considerar los requisitos de los usuarios y la compatibilidad.
  • La ventaja de elegir esta técnica es que permite ofrecer contenido web existente de una forma familiar para los usuarios de Linux; la desventaja es que puede generar mantenimiento adicional y problemas de compatibilidad.

Aún no hay comentarios.

Aún no hay comentarios.