The example directory structure should be created with my_blog --init. This should also tell me if I already have done this. In my posts and pages, I should be able to call custom css, headers, and footers. When I tell my_blog --compile, it should do this. Create a new folder "build" Copy each post, page, css, header, and footer into the build dir Check each post and page for requests for a custom footer, header, or css. If one is not provided, add in the default Ideally, add markdown conversion options. Create some way of detecting custom stuff Create a way for the software to automatically places files where they need to be. For example, my-blog-software newpost What date? (enter for default): Default would be today's date of course What title? : Write the title What css?: Enter for default What footer?: Enter for default What Header?: enter for default How should the folder structure work? I'm thinking in posts it should be mainfolder>>posts>>year>>month>>title-of-post.html