Base blog functionality with posts.