Jekyll jumpstart - switching back to static site generation
24 March 2013Blogging like a hacker suited me allways best, not really suprising because of my engineer background:
- So I started at the end of the last century with a hand made sites,
- later using some ruby/perl pre-processors webgen, WML,WPP,
- than switching to python based Leonardo and
- later to enki a leight weight rails blog engine.
I never touched the main stream systems like MoveableType or the successor WordPress, but used in various occasions Software as a Service (SaaS) like Blogger (long before it was aquired by google) and than Posterous, which just recently disappeard …
That way I left my content in various systems and locations and never got it really aggregated back. Nowadays with Google+, FourSquare and Twitter things are getting worse!
Sometimes I am realy tired searching for something I already commented, saved, etc. So my new content strategy aims chossing
- a neutral data storage (markdown) combined with a mobile first concept / responsive design,
- an independent and robust solution with flexible posibilities to realize my backlog and
- a variety of deployment options to choose from.
Finally it should not take me ages to get started. Sounds like back to the roots and probably partly it is. By time I will re-import and integrate worthfully old content. But now lets get in into it!
Jumpstart
Shortly I thought about using Octopress - “The Jekyll Mercedes”, but as it seemed to me relatively complex and the frontend design slow, I keept going the rough way. First read the Jekyll getting started section and have a look at some sites and source code, which could serve as template or good starting point to find your way:
- Tom Preston Werner (source) - minimalistic version from the Jekyll creator and github founder
- UberRobert (source) - two column Twitter Bootsrap (TB) mit “marketing speak Header” and very clean structured source code
- Nate Wieger (source) - two column TB basis with custom google search integration
- Adam Ralph (source) - two column TB basis with a static tag cloud
and many more in the Jekyll wiki.
Than bash $ gem install jekyll
and customise Twitter Boostrap or head to Bootswatch for ready to use layouts.
Plugins and etextensions I used so far:
- Google Web Font and Font Awesome for social icons
- Logarithmic Tag Cloud
- Embedded Twitter Share Button and Timeline
- Google Share Button and +1 Button
Deployment
Ther are variety of options:
- push to github and get version control - community participation for free
- push to heroku and get additionally a full ruby stack
- push to amazon S3 wiht CloudFront as Jeff Bezos also does and scale away
- or just rsync the _site directory to your static webserver
Your choice, my favorites are GitHub:
$ git init
$ git add .
$ git commit -m 'initial blog commit'
$ git remote add origin git@github.com:YourRepository/YourRepository.git
$ git push origin master
and heroku:
$ git init
$ git add .
$ git commit -m 'initial blog commit'
$ heroku create
$ git config branch.master.remote heroku
$ git push heroku master
That it is, have fun.