Everyone who dabbles in webdev at one point or another builds a dynamic blog
for themselves. I first experimented when I was younger with PHP/MySQL and
really enjoyed it. Eventually I was introduced into MVC based frameworks,
starting with iOS and Cocoa and eventually Django. While working on some
Django projects I realized how powerful these ideas really were through their
scalability and maintainability.
When designing a website normally you think outwardly about your potential users and what they will expect. But I took a different approach; the most invested and interested party in the site was actually myself, I wanted to focus on making my site user-friendly and fun for me.
I came up this list of design goals:
After some experiments, I determined that Git would make an awesome content repo. Unlike the traditional SQL database approach, git is much easier to replicate/manage/move around. It also had all the core functionality of a good CMS built in:
This is how I would add new 'post' to my website.
Which then allows the next visitor to see the post.
As for managing content, it is pretty easy as well. For instance, to remove
this unwanted post I can simply
git reset --hard master~1 and then force push
my repo to my server.