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:
- Sets build options
- Defines “site” level properties
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
![](/images/config.png)
Personalize Footer Links
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.
- Includes
- 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.