Crear un theme desde 0 en Grav usando TailwindCSS

Hasta ahora todo lo que había hecho con Grav se basaba en child themes (de themes existentes).

Como he adelantado en el Newsletter (link de suscripción), he comenzado a portar el blog (eso explicaría parcialmente de mi poca actividad por aquí), y dado que las opciones de diseños gratuitos que existen no me llamaron la atención (tampoco opciones pagas), decidí probar cómo sería arrancar desde 0 (Grav no posee un blank theme como, por ejemplo, en Magento).

Como extra (quizás hasta carente de creatividad), he decido usar TailwindCSS para armar mi nuevo theme custom.

Seguir leyendo «Crear un theme desde 0 en Grav usando TailwindCSS»

Mi navaja suiza de freelancer 2023

Este año fue, sin lugar a dudas, el más revoltoso en cuanto a las herramientas de trabajo diarias. Uno de los objetivos que intenté alcanzar, fue el de simplificar y homogeneizar, al menos un poco, mi ecosistema.

Nuevamente estuve probando varias herramientas ya conocidas, así como algunas otras de las cuales no tenía registro en mi radar.

Si durante el año anterior lo que regía era el buscar comunicarse con product owners o clientes, este año (y para el que viene) el objetivo es simplificar y reducir.

Seguir leyendo «Mi navaja suiza de freelancer 2023»

Charlas con un SMB en donde te sentís un demente

En uno de los últimos posts mencioné que una parte del objetivo que persigo es:

aplicar algunas de las ideas, tecnologías y procesos que quizás vemos (y aprendemos y desarrollamos) en proyectos de gran envergadura, pero en un pequeño cliente que está incluso iniciando su camino hacia la digitalización

Ahora bien, ¿cómo se hace para decidir qué vamos a incluir y qué no en un proyecto?. Seguramente podamos hacer un primer ejercicio que ronde la negociación regular de una funcionalidad, de un presupuesto o de un deadline; pero aquí suelo encontrarme con algunos conflictos.

Seguir leyendo «Charlas con un SMB en donde te sentís un demente»

Headless y API-first para un hipotético SMB

Cada tanto me meto en algún problema proyecto experimento en el cual intento poner a prueba alguna hipótesis.

Hoy día, una de ellas es la de crear un sitio web institucional y sumarle un principio de ecommerce (quizás catálogo con un Call To Action hacia WhatsApp). Para dar algo más de contexto, sería un proyecto en cual el Product Owner no tiene tradición ni experiencias positivas con la web.

Seguir leyendo «Headless y API-first para un hipotético SMB»

Traefik y BasicAuth

En el último post, en donde comencé a explorar el uso de Traefik en Producción, podemos encontrar una serie de recetas/archivos que deberían permitir instanciar un blog con WordPress en pocos minutos.

Si revisamos el docker-compose.yml usado para desplegar (o disponibilizar) Traefik, en la parte de los labels encontraremos dos muy específicas:

  • traefik.http.routers.traefik.middlewares=auth-traefik
  • traefik.http.middlewares.auth-traefik.basicauth.users=usuario:contraseña_cifrada

Haciendo uso del middleware BasicAuth, encontramos un usuario y una contraseña que, en el ejemplo mostrado, harán que el acceso al Dashboard de Traefik necesite de esos datos para autenticarse y poder tener acceso.

Seguir leyendo «Traefik y BasicAuth»