--- author: '' category: '' date: 2012/07/09 01:45 description: '' link: '' priority: '' slug: pycamp-2012-day-3 tags: python, nikola title: PyCamp 2012 - Day 3 type: text updated: 2012/07/09 01:45 url_type: '' --- So, day 3 and next-to-last of PyCamp is done. * Great day, sunny, not all that cold * Empanadas at lunch, pizza for dinner, cake for tea. Feeling kinda spoiled today. * Lots of hacking at Nikola-as-a-service (details below) * PyAr meeting by a huge, somewhat scary bonfire earlier tonight So: Nikola-as-a-service is an idea where you can keep your blog somewhere, and this service will get the data, and publish a nice site for you. Here's the current workflow, which is just one of a dozen that can be implemented because this thing is quite simple: 1) The authenticator Currently it has twitter authentication. You never need to create an account, just login with some service you already have accounts with. Anything with OAuth will work. 2) The data provider Currently, github. Soon, Ubuntu One. Later, who knows. A data provider is something from where we can grab data, and that can notify us (automatically or by having the user click on a button) when we should get that data and rebuild the site. 3) The renderer I am doing it with Nikola, of course :-) 4) The infrastructure Jobs using Redis and Celery, server app using Flask, rendering using Nikola 5) How does it work? You go to github, clone a barebones blog. Do your modifications. Go to nikola-as-a-service, and login via something. Then you give Nikola your github repo's URL, and you get a webhook URL. Go back to github, and configure the webhook. From that moment on, every time you push to github, your blog is updated :-) In the future: every time you save to Ubuntu One, your blog is updated. In the further future: Every time you X to Y, your blog is updated. It's going to be cool :-)