6 puntos por GN⁺ 2025-05-04 | 5 comentarios | Compartir por WhatsApp
  • Un caso de crear un blog directamente sin Jekyll, Ghost ni WordPress
  • Los requisitos básicos son usar un dominio propio, generar un sitio estático, cumplir con SEO y agregar publicaciones fácilmente, entre otros
  • La configuración central consiste en el script template.html y render.py, y con solo escribir artículos en Markdown se renderizan automáticamente todas las páginas
  • Se usa la librería de Python markdown2 para automatizar la conversión de Markdown → HTML y la generación de páginas
  • Se enfatiza una estructura que cumple con SEO y con los estándares web modernos, mientras permite agregar contenido de forma sencilla

Requisitos del blog

  • Usar un dominio ya propio
  • Mantener estándares web modernos y compatibilidad con SEO
  • Que agregar artículos sea muy fácil
  • Que todas las páginas se generen de forma estática

Resumen del proceso de implementación

  • Crear el archivo template.htmlconfigurar la estructura base de HTML
  • Instalar la herramienta de renderizado Markdown con el comando pip install markdown2
  • Pedirle a O1 un script de Python para renderizado (render.py)
  • Escribir publicaciones dentro de la carpeta posts/ con el formato eng.md
  • Ejecutar render.py para convertir a HTML y crear la carpeta de salida

Plantilla HTML principal (template.html)

  • La estructura HTML es simple y minimalista, e inserta el resultado renderizado de Markdown en {{ content }}
  • El CSS usa tipografía basada en system-ui, padding adaptable y configuración de color-scheme para mejorar la legibilidad

Script principal de renderizado en Python (render.py)

  • Usa markdown2 para convertir cada publicación en Markdown a HTML
  • Durante la conversión, reemplaza automáticamente la ruta de <img> por /posts/{post_code}/
  • El título HTML se extrae del encabezado # en Markdown
  • index.html se compone de greetings.md + una lista de títulos de cada publicación
  • El resultado se guarda como .html en la carpeta ./blog/

5 comentarios

 
ifmkl 2025-05-07

Yo también estoy manejando mi blog justo de la misma manera que arriba. Uso un SSG que hice para cubrir mis necesidades personales. Le fui agregando funciones personalizadas para aprovechar características como imagen de miniatura, categorías y etiquetas. Las imágenes adjuntas las convierto automáticamente a webp para referenciarlas, y gracias a eso la velocidad de renderizado me tiene muy satisfecho.

 
winterjung 2025-05-07

Oh, entonces esas funciones personalizadas, ¿las van agregando ustedes mismos escribiendo el código directamente? A mí también siempre me tienta hacerlo todo DIY, pero termino dudando por las extensiones y funciones de plugins que ofrecen los frameworks de blogs SSG que ya venía usando.

 
ifmkl 2025-05-07

Si dejas de lado la ambición, o mejor dicho, con solo quitarle un poco de ambición, el resto no es tan difícil. Incluso con ssg, si se lo pides a la IA, te escribe todo el código, y si le pides que agregue funciones, la verdad es que también las añade todas jaja

 
ndrgrd 2025-05-04

Si solo eliges una tipografía bonita, termina viéndose bastante bien.

 
GN⁺ 2025-05-04
Opiniones de Hacker News
  • Al empezar un blog usó SSG, pero al final se cambió a Wordpress y ganó más libertad

    • Es importante evitar herramientas que estorben al escribir
    • Hay que evitar posponer las cosas para poder concentrarse en la escritura
  • Dos elementos necesarios para que califique como blog

    • Debe ordenar las publicaciones por fecha y mostrar la fecha
    • Necesita un feed RSS
  • Aprecio por los sitios web independientes

    • Un sitio web que empezó hace 25 años con ASP ahora funciona con Common Lisp
    • Empezó con un sitio de funcionalidad mínima y fue agregando funciones poco a poco
    • Las ideas nuevas siempre son tentadoras, pero hay que cuidar que el proyecto no crezca sin control
  • Quiere soporte nativo en el navegador para text/markdown y text/gemini

    • El soporte para otros formatos baja la barrera de publicación y devuelve el control a los usuarios
  • Señalan un bug donde la cadena "Minimum viable blog" se reemplaza por el título de la publicación

  • Mantuvo un blog con una página HTML simple, pero ahora usa Astro para tener un sitio más avanzado

    • Astro es una plataforma optimizada para sitios centrados en contenido
  • Experimento con Bun JS y usando HTML como cadenas de texto en JS

    • El IDE IntelliJ detecta el HTML y ofrece formateo y resaltado
  • Algunos trucos aprendidos tras 15 años experimentando con un blog mínimo

    • JSX es útil como generador de cadenas del lado del servidor
    • GH Pages puede ser más fácil de usar que Jekyll
    • highlight.js sigue siendo útil para el resaltado de código
  • Facilidad de un framework estándar de blogging estático usando Hugo/Zola y Cloudflare Pages

    • Usa el tema Hugo Blog Awesome
    • Mantiene el tamaño de la página por debajo de 512kb
  • Al revivir un blog antiguo experimentó lo incómodo que es Hexo

    • Como los temas no funcionan bien, está pensando en desarrollar su propio tema
    • La complejidad puede aumentar, pero está intentando resolver el problema