The root folder of a theme should be all lowercase and use underscores instead of spaces. There are two places a custom or contrib theme might be found.
- Sites/[site name]/themes/[theme name]
- Themes/[contrib/custom]/[theme name]
You would organized themes under Sites in situations where you have a multisite Drupal install. Otherwise they can go under the themes folder.
Defines required metadata for the theme.
A php file that hanldes logic and preprocesses variables before they are output to template files.
Twig files provide the HTML markup and some presentation logic. Template files follow a specific naming structure. They override the default markup output by Drupal. These files are required to be placed in a _templates _sub-directory and can then be organized into more sub-directories from there.
Examples:
- themes/icecream/templates/node.html.twig,
- themes/icecream/templates/layout/page--about.html.twig
Where you pull in CSS/JS libraries.
Define responsive breakpoints.
Additionally Drupal configuration.