This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: My new blog
Feed Title: Michael Lucas-Smith
Feed URL: http://www.michaellucassmith.com/site.atom
Feed Description: Smalltalk and my misinterpretations of life
I've wanted to have my blog front and center on my own personal page for a long time now. Actually, ever since I first started blogging with James's software I realized that I wanted this. So here it is, finally, after all this time - running my own blog for me.
What I don't have, though, is a blog server. This might confuse some of you out there for a moment. I've made an effort to have basically no moving parts in this instrument.
The page itself is mostly client side javascript. It pulls the blog post index from the server and constructs the year-list on the side dynamically. It calls in to a tinyurl JSONP service to create the short-links for the topics dynamically. It calls in to a Google AppEngine cloud service to add comments per post dynamically.
Where are all the posts you ask? dropbox. The website files index.html, index.css and index.js sit on dropbox and under that is a contents/ directory containing all the blog posts using a naming convention of (date) (title).html - I'm writing this blog post with textedit because it can save html files. Could it get much simpler?
When I save this file to the contents directory, I have made an applescript that detects file add/remove from the directory and it runs a shell script. The shell script recreates contents.index by doing ls -1 *.html ⦠the shell script also recreates index.atom with a few simple cat calls, you can look at the shell script under the name update.sh - it's nothing special.
The one thing I'm disappointed in is my inability to pull all the comments across from my old blog to this new blog. I'm just going to have to wear that burn on my sleeve. The historical data is locked away somewhere and may be one day I'll figure out a nice way to pull it out again, but for now, we'll just have to start fresh.