The website that Jekyll generates differs from a website that you’d create on your own. It offers a standard directory structure, as well as components that help speed up development.

It’s important to understand Jekyll’s default directory structure and contents of your site:

  1. _config.yml - This is a configuration file that contains many values that need to be edited only once. These values are used across your site, for example, your site’s title, your e-mail, and more. Note that this is a .yml file, which you can learn more about here.

  2. _includes/ - This directory contains all the partials (code templates that keep you from repeating your code over and over) that your site uses to load common components, like the header and the footer.

  3. _posts/ - This directory is where blog posts are stored. New blog posts can be added and will be rendered with the site’s styling, as long as the file name follows Jekyll’s standard naming convention.

  4. _layouts/ - This directory contains templates that are used to style certain types of posts within the site. For example, new blog posts will use the HTML layout defined in post.html.

You can learn more about the Jekyll directory structure here.


Use the file navigator to the right to browse Jekyll’s default directory structure and contents.

Note: Don’t edit any of the content in the files at this moment. If you make edits and accidentally make a mistake, you run the risk of an unsuccessful deploy.

Sign up to start coding

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?