If you can build a todo app, a blog is a natural progression of that. You should have no trouble finding step by step todo app examples for any language or framework.
It is possible to code a blog site without any framework in fact I think is a great idea to reinforce the learning process.
In my personal opinion I would suggest to start by creating the back-end side of the blog site, learning how to create a database on mysql, learn how add, remove, and update registries using php and sql queries and also how to make a database connection.
I suggest to create a table called blog_posts -or something like that- with id, title and post columns and learn how to display its information using the php loop technique.
By starting this way you will get familiarized with the basic functionality and later on could start adding templates and more features.