comparison content/Coding/000-blog-reboot.rst @ 4:7ce6393e6d30

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