In order to get started you will need to download and install Jekyll. If you are using a linux/OSX system this should be pretty straightforward instructions can be found here and here. If you are using a Windows machine there are a couple more steps and instructions can be found here.

Each of you will have a local version of the blog on your own machine that you can use to produce and test your posts on. You can download your local version of the site directory here. After you complete your post you can send it to me and I will upload it to the blog. We will talk more about the logistics of this process at some point during the first couple of lectures.

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext (this post is called 2016-03-21-blogging-tutorial.markdown) and includes the necessary front matter (i.e. the stuff at the top enclosed by the triple dashes). It is also important that the date in the front matter match the date in the filename. In general I would suggest using this post as a template and only changing the title and date variables when you create a new post.

In order to write our posts we will be using a syntax known as Markdown. It is very simple to work with and gives you the ability to produce very nice results with very little code. Take a look at the source for this post to get a rough idea about how it works. A more detailed and useful Markdown tutorial can be found here.

Jekyll/markdown also supports \(\TeX\) integration via MathJax in a very simple way. If you want to add Tex to your post, just surround the standard Tex code with double dollar signs. For example $$\sum_{i=1}^ni=(n+1)n/2$$ will complile as \(\sum_{i=1}^ni=(n+1)n/2\).

I’m not sure that you will need it, but Jekyll also offers powerful support for code snippets:

def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.

Check out the Jekyll docs for more info on how to get the most out of Jekyll.


Next Post: Lecture 1: Introduction to Projective Geometry