1 [[!meta title="New Blag, yay!"]]
2 [[!meta author="rohieb"]]
3 [[!meta license="CC-BY-SA 3.0"]]
4 [[!img defaults size=x200]]
6 Sooo. You might already have noticed that I moved my [blag][] from
7 [wordpress.com][r.wp.c] to my own domain. There were several reasons for that,
8 which also kept me from blogging actively. At first, WordPress seemed like a
9 good solution for beginners, and since I didn’t want to set up my own ([probably
10 buggy][wp-bugs]) instance, a hosted blog at WordPress.com seemed like the best
11 solution to get started with blogging.
13 [blag]: http://xkcd.com/148/
14 [r.wp.c]: http://rohieb.wordpress.com
15 [wp-bugs]: https://en.wikipedia.org/wiki/Wordpress#Vulnerabilities
17 However, the free plan at WordPress.com does not allow very much customization:
18 you can choose from a few themes, but you can neither edit the underlying <abbr
19 title="Hypertext Markup Language">HTML</abbr> framework of the page, nor is is
20 possible to do a little <abbr title="Cascading Style Sheets">CSS</abbr>
21 tweaking. For example, I like my <code><code></code> tags with a little
22 darker background so they become more distinguished from the remaining text and
23 so you can easily see what you have to type on your keyboard and what not.
25 Also, I had to write blogposts in my browser. I’m not a big fan of the idea that
26 the browser should become an “operating system” for the <strike>web</strike>
27 cloud. My computer is more than a dumb terminal for the web, I like my terminals
28 and my offline applications and distributed workflows. In most cases, I find
29 distributed workflows much more flexible, and you can choose if and when you
30 want to lose control over your data to the cloud. And, without question, I lost
31 more than one draft to browser crashes (admittedly, Firefox got a lot more
32 stable since then), accidentally closed tabs and timed out login sessions. And
33 WordPress tends to be overloaded with complex page layouts and JavaScript, which
34 makes everything soooo slooooow…
36 So it seemed obvious to move my blog to my existing site, which already runs on
37 [ikiwiki][]. For those who do not know ikiwiki, it is a static site generator
38 which takes [Markdown][][^1] files as input and spits out static HTML pages. It
39 works good in combination with [Git][] (a distributed version control system,
40 which I use all day anyway), which makes it possible to write and preview every
41 page on your own computer, using your favourite editor, offline (in fact I’m
42 writing this post from a laundrette), and when everything is finished (and you
43 have Internet access), you push it to your server, where everything is rendered.
44 There is also [an easy way][ikiwiki-blog] to aggregate multiple pages to a blog,
45 including the automatic generation of RSS and Atom feeds. Also I have full
46 control over the [[CSS|local.css]] (which will probably still change in the next
47 few weeks) and the [[templates]] used to render the HTML files. For example, I
48 have hacked together a [little plugin][flattrthing.pm] to support Flattr buttons
49 and integrated it into the template which is used to render the blog posts.
50 There is even a dynamic part of ikiwiki which allows users to add comments, I
51 may or may not try that in the future and convert all the WordPress comments.
52 And finally, if you want, you can read the full [source code][] of every page
55 The move to ikiwiki was already in my head a long time, so I started writing new
56 blogposts in Markdown right away, so they started piling up on my disk. Now that
57 I have the new setup, I already have content to fill the next few weeks, so stay
60 **Update:** In this process I was also moving the site to a new server, which
61 also provides IPv6 connectivity:
63 $ dig -t AAAA rohieb.name
65 ; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t AAAA rohieb.name
66 ;; global options: +cmd
68 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64670
69 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
76 rohieb.name. 2629 IN AAAA 2a03:4000:2:2f3::1
79 ;; SERVER: 192.168.148.1#53(192.168.148.1)
80 ;; WHEN: Tue Oct 29 04:33:03 2013
83 [ikiwiki]: http://ikiwiki.info
84 [Markdown]: http://daringfireball.net/projects/markdown/syntax
85 [Git]: http://git-scm.com
86 [ikiwiki-blog]: http://ikiwiki.info/blog/
87 [source code]: http://git.rohieb.name/www-rohieb-name.git
88 [flattrthing.pm]: http://git.rohieb.name/www-rohieb-name.git/blob/HEAD:/plugins/IkiWiki/Plugin/flattrthing.pm
89 [MultiMarkdown]: https://rawgithub.com/fletcher/human-markdown-reference/master/index.html
90 [reStructuredText]: http://docutils.sourceforge.net/rst.html
91 [Textile]: http://textile.sitemonks.com/
92 [^1]: Though I’m using [MultiMarkdown][] for most pages, which is a superset of
93 Markdown with additional features (like footnotes). But ikiwiki also
94 supports other markup languages, e.g. [reStructuredText][] or [Textile][].
96 [[!tag meta ikiwiki Markdown Git WordPress blogging IPv6 migration]]