Programando Cross-Platform
Video:
Slides:
Video:
Slides:
Y los slides:
Un primer paso es Nikola-as-a-service, que espara usuarios muy técnicos, pero pone la infraestructura para que esto funcione.
En el video de abajo, van a ver esto:
Voy a GitHub
Forkeo un blog de demo
Voy al sitio de nikola-as-a-service y me logueo via twitter
Creo un sitio usando la URL del repo de mi fork
Obtengo una URL del "webhook" y la cargo en el admin de github para post-commit
Edito un archivo en la UI web de GitHub y lo commiteo (por supuesto, podría pushear con cualquier cliente git)
Automáticamente, el sitio en nikola-as-a-service se actualiza.
Por favor no intenten usar esto porque:
Está en un server de U$S 4.50
Es el mismo server que mi blog
Lo voy a apagar y borrar todo dentro de un rato
Estoy editando el código directamente en el server, así que en cualquier momento lo rompo.
Video:
Hermoso día, soleado, no tan frío
Empanadas de almuerzo, pizza de cena, torta en la merienda.
Mucho hacking en Nikola-as-a-service (detalles abajo)
Reunión de PyAr con un fogón enorme y ligeramente terrorífico.
Entonces: Nikola-as-a-service es una idea en la que tenés tu blog en alguna parte, y este servicio obtiene tus datos, los mastica, y te da un sitio lindo.
Algunos detalles de workflow, que es sólo uno de una docena que se pueden implementar, porque está quedando bastante simple:
El autenticador Por ahora es twitter. Nunca hace falta crear una cuenta, nada más entrás con una que ya tenés en alguna parte. Cualquier cosa con OAuth debería funcionar.
El proveedor de datos
Actualmente github, pronto Ubuntu One. Después quién sabe. El proveedor de datos es una cosa de adonde podemos sacar datos, y que nos notifica (automáticamente o haciendo que el usuario apriete un botón) cuando deberíamos mirar esos datos y generar el sitio.
El renderer
Es Nikola, no jodan ;-)
La infraestructura
Tranajos con Redis y Celery, aplicación hecha en Flask, render con Nikola.
¿Cómo funciona?
Vas a github, clonás un blog pelado. Le hacés modificaciones. Vas a nikola-as-a-service, y te logueás con algo. Le dás la URL de tu repo de github, y te devuelve una URL de webhook. Volvés a github, y configurás el webhook.
De ahí en más, cada vez que pusheás a github, se actualiza tu sitio.
En el futuro: cada vez que guardás algo en Ubuntu One, se actualiza tu blog.
En el futuro lejano: Cada vez que X tu Y, se actualiza tu blog.
Va a estar bueno :-)