How I built this blog
Posted 2013-09-07 10:36 PM GMT
For quite a while now, I have wanted a place to write the things I learn, even if it's only for my own benefit. A lot of the things that I have been learning lately are related to programming, so I needed a blog that would let me add nice code examples. I did what anyone would do, and searched for the best blogging platform for code snippets. I found this discussion, and decided to just build my own.
I don't want to build my own blog
The reason I was looking for a ready made solution is that, although I really enjoy building things, I am aware that there is an entire industry around publishing to the web. Having a background in business and accounting, I understand economies of scale; for the same reason I can't make a homemade hamburger as good or cheap as In-N-Out does it, I can't make a blog as good or cheap (free!) as Blogger or Tumblr or Wordpress. There is just one of me, and I already have a full time job.
Why I built my own blog anyway
I really like customization. It's one of the reasons I love programming, and Linux. I have a few ideas for posts that I would like to do in the near future that just wouldn't be possible on a traditional blogging platform. I had also mostly built the blog as a part of Udacity's Web Development Course.
How this blog works
The blog uses many of the concepts taught in the Udacity course mentioned above (though Udacity ignored semantic HTML—I have tried to do a better job with that). The blog is hosted and powered by Google's App Engine.
I use Jinja templates for the markup. I am a fan of Dust, but I don't think asynchronous client-side templates are appropriate for this use case.
I use Twitter's Bootstrap for basic styles because Bootstrap makes your site look good with so little effort.
I use a Python markdown module instead of a rich text editor. For implementation details on App Engine, take a look at this post. The posts are all stored as markdown, and converted to HTML at run time.