Single file blog web app