One of the great additions to Drupal 8 theming is the layouts file. Previously adding layout options to a Drupal 7 site required the Display Suite module, creating folders for each layout then creating 2-3 files per template option/folder. Now the DS module is still required, however the templating control is all within the theme, specifically the theme.layouts.yml file.

Each layout requires a minimum of 6 items:

  1. layout machine name
  2. layout ui label
  3. category template
  4. location
  5. css
  6. available regions:
    1. region machine name...