This tutorial is a series of tutorials on Jekyll, if you are interested in learning how you can utilize all the features of Jekyll click here for more tutorials.




What is Jekyll?

Jekyll is a Doctor who occasionally feels he is battling between the good and evil within himself revealing his alter ego "Hyde"....No? Wrong Jekyll?

Ahhh yes...of course you mean this Jekyll.
Jekyll is a parsing engine bundled as a ruby gem used to build static websites from dynamic components such as templates, partials, liquid code, markdown, etc. Jekyllis known as "a simple, blog aware, static site generator".

If you didn’t understand all of that, that’s fine. Basically Jekyll is a ruby based framework that structures your static website. The benefits of Jekyll are really taking the developers industry by storm. Mainly for its “blog awareness”. Which is a fancy way of saying “It automatically sorts and organizes your blog post in chronological order and even display’s them for you on the main index.html page. Of course there is a lot more to what Jekyll is capable of, but I don’t want to over saturate you with information just yet. Just know that Jekyll makes the process way simpler for you.

Who is Jekyll for?

Well as you probably guess Jekyll is tailor made for bloggers. However there are many themes (more on theme’s in the future) that the community have available to suit any needs you would have for a static webpage.

So then who isn’t Jekyll for?>

Like stated above Jekyll is a “static site generator” that means that it really is only for static websites. That means if you have a site that has a user base or you are running an e-commerce site; Jekyll isn’t for you.


Step 1:

Make sure that you have Ruby installed on your system.
If Ruby isn’t installed then you really can’t be installing Ruby gems, now can you?
If you find you don’t have it installed here is a great tutorial from the source: Install Ruby If you do have it installed go ahead and move on to the next step. $

Step 2:

Open up your terminal and type in the following command: $

$ gem install jekyll

All of Jekyll’s gem dependencies are automatically installed by the above command, so you won’t have to worry about them at all. $

Step 3:

Enjoy Jekyll!
Yes, really? $

So now that Jekyll is on your system, I'm assuming you'll want to make an app and run it.

If the directions above seem a little daunting, I've gone through the trouble of laying out a little cheat sheet with small explainations of each command.

Below I’ve compiled a list of common command lines you should familiarize yourself with running Jekyll. Keep in mind that if you want to run your website locally you will need to run a server.

Common Commands

$ jekyll new
# => jekyll will create a new web app in the current folder.
# => make sure to add the name of your project directly after "new"

$ jekyll build
# => The current folder will be generated into ./site

$ jekyll build --destination
# => The current folder will be generated into destination

$ jekyll build --source --destination
# => The folder will be generated into destination

$ jekyll build --watch
# => The current folder will be generated into ./site,
# => watched for changes, and regenerated automatically.

$ jekyll serve
# => A development server will run at http://localhost:4000/
# Auto-regeneration: enabled. Use `--no-watch` to disable.

$ jekyll serve --detach
# => Same as `jekyll serve` but will detach from the current terminal.
# If you need to kill the server, you can `kill -9 1234` where "1234" is the PID.
# If you cannot find the PID, then do, `ps aux | grep jekyll` and kill the instance.
$ jekyll serve --no-watch
# => Same as `jekyll serve` but will not watch for changes.

Share this post: