The *.info.yml file is required to create any theme. It helps us to notify Drupal that a theme exists and provides information to the Appearance interface that a theme is available to be installed. We will be working with *.info.yml files when creating any theme, so let's look at the makeup of a basic example.info.yml file:
name: Example description: 'An Example theme.' type: theme package: Custom base theme: classy core: 8.x libraries: - example/global-styling regions: header: Header primary_menu: 'Primary menu' secondary_menu: 'Secondary menu' breadcrumb: Breadcrumb help: Help highlighted: Highlighted content: Content sidebar_first: 'Left sidebar' sidebar_second: 'Right sidebar' footer: Footer page_top: 'Page top' page_bottom: 'Page bottom'
At first glance, the example.info.yml file is logical in structure and syntax. Starting from the top and moving our way down, the file is broken down by different sections of metadata containing general information, libraries, and regions. This information is described using a key:value format. We will begin with understanding how basic metadata works.