3 puntos por GN⁺ 2023-09-11 | 1 comentarios | Compartir por WhatsApp
  • Artículo sobre cómo usar "Make" como generador de sitios estáticos; esta herramienta ha ganado popularidad por su simplicidad, velocidad y bajo mantenimiento.
  • El autor, Karl Bartel, comparte su experiencia configurando un blog con un script sencillo, y le resultó más satisfactorio que usar otros constructores de sitios.
  • La configuración básica incluye colocar todos los archivos de entrada en un directorio fuente, agregar un encabezado a todos los archivos HTML durante el procesamiento y copiar todos los demás archivos sin cambios al directorio de compilación.
  • El autor proporciona reglas de Makefile para cada paso al ejecutar make build, lo que crea un directorio de compilación que se puede explorar localmente o subir a un servidor web.
  • El artículo también analiza cómo ampliar la configuración básica para adaptarse a distintas necesidades, como mostrar la página actual, generar páginas desde Markdown o agregar funciones de conveniencia.
  • Algunos ejemplos de estas funciones de conveniencia son servir el sitio localmente usando el servidor web integrado de Python, reconstruir automáticamente el sitio cuando cambien archivos en el directorio fuente o subir el sitio a GitHub Pages.
  • El autor destaca las ventajas de tener tu propio generador de sitios estáticos en un Makefile, entre ellas no tener dependencias extrañas, un mantenimiento sencillo y la posibilidad de adaptarlo rápidamente a tus necesidades.
  • Un ejemplo real de una página construida con este enfoque está disponible en https://github.com/karlb/astridbartel.de.

1 comentarios

 
GN⁺ 2023-09-11
Comentarios en Hacker News
  • Un artículo sobre la discusión de usar Make como generador de sitios estáticos
  • Un usuario comparte su experiencia personal usando un Makefile para generar un sitio web, agregando funciones como noticias, feeds RSS y listas automáticas de publicaciones de investigación y materiales de clase, lo cual le ha funcionado eficazmente
  • El usuario menciona el uso de git hooks para invocar automáticamente make cuando es necesario en el servidor remoto donde está alojado el sitio web
  • Otro usuario señala un problema con este enfoque: aunque se eliminen archivos del código fuente, no se eliminan del build. Sugiere como solución alternativa borrar toda la carpeta de build antes de reconstruir, pero eso anula el propósito del sistema de build
  • Un usuario propone agregar m4 para aumentar la flexibilidad, pero señala que este enfoque podría no funcionar en sitios web grandes de hoy en día porque requeriría conocimiento de HTML entre los colaboradores
  • Un usuario comparte cómo, inspirado por el trabajo del script de shell blog.sh de Karl, creó su propio generador de sitios estáticos (SSG) minimalista llamado barf
  • Otro usuario señala que, si ya estás haciendo push a Github, puedes hacer push del código fuente y dejar que Github publique el Markdown como páginas alojadas
  • Un usuario elogia que la mayoría de los blogs de desarrolladores que encuentra en Hacker News tengan feeds RSS y comparte el hábito de seguir los feeds de todos los artículos interesantes que lee
  • Un usuario comparte una anécdota sobre su experiencia usando make para generar artículos científicos: al cambiar un solo archivo de prueba, podía volver a generar todo el artículo, ejecutar pruebas y generar gráficos
  • Un usuario sostiene que make es útil para programas grandes compilados por compiladores lentos, ya que permite rebuilds incrementales rápidos, pero que para sitios estáticos que se pueden generar rápidamente, un script podría ser más eficiente
  • Un usuario comparte que, después de usar scripts de shell, cambió a un Makefile y descubrió que era más adecuado. También menciona el uso de plantillas XSLT para generar páginas, índices y feeds Atom
  • Un usuario que ha usado Linux y scripts de shell durante más de 20 años, pero no ha programado mucho, pregunta por qué se prefiere make sobre los scripts de shell y comparte el hábito de usar scripts para organizar y actualizar la página principal de sus clases después de crear un sitio web con Zim-wiki