I have built many WordPress sites over the years. I will be wrapping up a WordPress theme soon which I will blog about that theme later on, once I get the layout for this blog finished.

Since I already have something WordPress related that will be in my portfolio, I figured that I could kill two birds with one stone and create a blog that demonstrates my ability to use a different framework and add it to my portfolio.

Jekyll Uses Markdown Syntax

In WordPress, I find the Visual Editor to be a real pain, and I never use it. More often than not I end up with tags in the wrong places, or tags will randomly appear in the source that were never put there in the first place.

The Text Editor in WordPress is a little better for me since I can control the HTML directly, but writing HTML in the Text Editor is nothing like writing HTML in an application like Sublime Text. Out-of-the-box,the WordPress Text Editor does not have syntax highlighting, and it doesn’t allow you to use tab indentation. Writing HTML without tab indentation is a pretty terrible experience that I recommend be avoided like the plague. Of course you could always use spaces in place of tabs, but that gets tedious to me.

I have been using the Markdown syntax for a couple years now on the Team Treehouse Forum, and more recently on Stack Overflow. I have found that Markdown lets me write more efficiently than raw HTML.

Finally, Markdown has built-in support for embedding code in blog posts, which I will be doing a lot of here. Here’s a simple example of some JavaScript code embedded in this post:

function printToConsole(message) {
	console.log(message);
}

printToConsole("I Love Markdown!");

Jekyll Sites Are Static

Security is the main benefit of a static site, because there is no database. Static sites are also much faster since the pages are not built on the fly on the server before they are served to the user, and there are no database connections to make. Since a Jekyll site is basically a bunch of text documents (HTML templates, scripts, Markdown blog posts, etc.), you can easily use version control to keep track of changes.

The downside to a Jekyll site being static is that there is no GUI for writing posts and maintaining the site. This, however, does not bother me as I have grown to love using Sublime Text and the command line for pretty much everything I do in my web development workflow.

Jekyll Forces Me To Use The Command Line

My first introduction to the command line was when I was around 5 years old. My Dad taught me how to use MS-DOS to play games on our IBM desktop computer. So I have known how to use the command line about as long as I have known how to read and write. That being said, moving in and out of directories and executing programs was about the extent that I used the command line back then. As Windows evolved I used it less and less.

Since I have been learning web development over the past few years I have started to use the command line again, and it has become the centerpiece of my development workflow. I now prefer to use CLI tools (e.g. Git, Gulp, Vagrant, etc.) in place of GUI tools (e.g. CodeKit, Mixture, MAMP, etc.) because using the command line gives me a greater understanding of what’s going on “under the hood.” Jekyll uses the command line to build and serve your blog during development, so I was naturally attracted to it.

GitHub Pages Work Great With Jekyll