Static blog generator