Now that you have a site, your first task is to personalize it. We do that by editing the “_config.yml” file.

Jekyll’s _config.yml file serves a couple of purposes:

Tips if you are new to YAML (*.yml)

  • Do not use tabs to align content, only spaces
  • If your value causes parsing error, just wrap it with quotes (single or double)
  • Github sends you an email if it can't read your _config.yml

Personalize Site Header Properties

Change the name, description, and avatar for your site
footer-links:
  dribbble:
  email: binbrain@rightbox.com
  facebook:
  flickr:
  github: lauramoore
  instagram:
  linkedin: laurakmoore
  pinterest:
  rss: # just type anything here for a working RSS icon
  twitter: lk_moore
  stackoverflow: # your stackoverflow profile, e.g. "users/50476/bart-kiers"
  youtube: # channel/<your_long_string> or user/<user-name>
  googleplus: # anything in your profile username that comes after plus.google.com/

While We Wait

Jekyll is now re-rendering your site and replacing Barry’s information with yours. While that happens, let’s take a quick look at Jekyll’s templating system.
There are two main categories of re-usable content.

  1. Includes
  2. Layouts

1. Includes example _includes/svg-icons.html

“Includes” are templates to define re-usable fragments of markdown or html, as in this example a list of icons to show in the footer.

Quiz: "site" refers to what jekyll file?

__config.yml_

Layouts example _layouts/default.html

Layouts provide a consistent look and feel for your content by combining structural elements for a given page.

This default layout, for example, defines everything that goes into a page from the html tag down.

Layouts example _layouts/post.html

Thankfully, we only need one low level html layout as layouts can be nested. This post layout controls how specific elements of each post will render within the default layout.