annotate content/Coding/000-blog-reboot.rst @ 17:fa54eda9b809

Fix typo in get_profile() post.
author Brian Neal <bgneal@gmail.com>
date Wed, 30 Jul 2014 20:16:40 -0500
parents 7ce6393e6d30
children
rev   line source
bgneal@4 1 Blog reboot with Blogofile
bgneal@4 2 ##########################
bgneal@4 3
bgneal@4 4 :date: 2011-04-17 14:10
bgneal@4 5 :tags: Blogging, Blogofile
bgneal@4 6 :slug: blog-reboot-with-blogofile
bgneal@4 7 :author: Brian Neal
bgneal@4 8
bgneal@4 9 Welcome to my new blog. I've been meaning to start blogging again for some time, especially since
bgneal@4 10 the new version of SurfGuitar101.com_ went live almost two months ago. But the idea of dealing with
bgneal@4 11 WordPress was putting me off. Don't get me wrong, WordPress really is a nice general purpose
bgneal@4 12 blogging platform, but it didn't really suit me anymore.
bgneal@4 13
bgneal@4 14 I considered creating a new blog in Django_, but I really want to spend all my time and energy on
bgneal@4 15 improving SurfGuitar101 and not tweaking my blog. I started thinking about doing something
bgneal@4 16 simpler.
bgneal@4 17
bgneal@4 18 Almost by accident, I discovered Blogofile_ by seeing it mentioned in my Twitter feed. Blogofile is
bgneal@4 19 a static blog generator written in Python. After playing with it for a while, I decided to use it
bgneal@4 20 for a blog reboot. It is simple to use, Pythonic, and very configurable. The advantages for me to go
bgneal@4 21 with a static blog are:
bgneal@4 22
bgneal@4 23 1. No more dealing with WordPress and plugin updates. To be fair, WordPress is very easy to update
bgneal@4 24 these days. Plugins are still a pain, and are often needed to display source code.
bgneal@4 25 2. I can write my blog posts in Markdown_ or reStructuredText_ using my `favorite editor`_ instead
bgneal@4 26 of some lame Javascript editor. Formatting source code is dead simple now.
bgneal@4 27 3. All of my blog content is under version control.
bgneal@4 28 4. Easier to work offline.
bgneal@4 29 5. Easier to deploy. Very little (if any) server configuration.
bgneal@4 30 6. I can use version control with a post-commit hook to deploy the site.
bgneal@4 31
bgneal@4 32 Disadvantages:
bgneal@4 33
bgneal@4 34 1. Not as "dynamic". For my blog, this isn't really a problem. Comments can be handled by a service
bgneal@4 35 like Disqus_.
bgneal@4 36 2. Regenerating the entire site can take time. This is only an issue if you have a huge blog with
bgneal@4 37 years of content. A fresh blog takes a fraction of a second to build, and I don't anticipate
bgneal@4 38 this affecting me for some time, if ever. I suspect Blogofile will be improved to include caching
bgneal@4 39 and smarter rebuilds in the future.
bgneal@4 40
bgneal@4 41 It should be noted that Blogofile seems to require Python 2.6 or later. My production server is
bgneal@4 42 still running 2.5, and I can't easily change this for a while. This really only means I can't use
bgneal@4 43 Mercurial with a *changegroup* hook to automatically deploy the site. This should only be a temporary
bgneal@4 44 issue; I hope to upgrade the server in the future.
bgneal@4 45
bgneal@4 46 Blogofile comes with some scripts for importing WordPress blogs. Looking over my old posts, some of
bgneal@4 47 them make me cringe. I think I'll save importing them for a rainy day.
bgneal@4 48
bgneal@4 49 The bottom line is, this style of blogging suits me as a programmer. I get to use all the same
bgneal@4 50 tools I use to write code: a good text editor, the same markup I use for documentation, and version
bgneal@4 51 control. Deployment is a snap, and I don't have a database or complicated server setup to maintain.
bgneal@4 52 Hopefully this means I will blog more.
bgneal@4 53
bgneal@4 54 Finally, I'd like to give a shout-out to my friend `Trevor Oke`_ who just switched to a static blog
bgneal@4 55 for many of the same reasons.
bgneal@4 56
bgneal@4 57
bgneal@4 58 .. _SurfGuitar101.com: http://surfguitar101.com
bgneal@4 59 .. _Django: http://djangoproject.com
bgneal@4 60 .. _Blogofile: http://blogofile.com
bgneal@4 61 .. _Markdown: http://daringfireball.net/projects/markdown/
bgneal@4 62 .. _reStructuredText: http://docutils.sourceforge.net/rst.html
bgneal@4 63 .. _favorite editor: http://www.vim.org
bgneal@4 64 .. _Disqus: http://disqus.com/
bgneal@4 65 .. _Trevor Oke: http://trevoroke.com/2011/04/12/converting-to-jekyll.html