Creating a Custom Drupal Theme

Below is a step-by-step process on how to develop a Drupal 9 theme, that we'll name "dark_ritual":

1. Preparation: Before starting the theme development, make sure you have a local development environment set up, with Drupal 9 installed and running.

2. Choose a Base Theme: Drupal 9 supports two base themes - Classy and Stable. Choose the one that best fits your needs.

3. Create a New Theme Folder: Create a new folder within the "themes" directory in your Drupal installation and name it according to your theme.  My custom Drupal theme is named dark_ritual.

4. Add Theme Information: Create a "dark_ritual.info.yml" file in your theme folder.

a. Add basic information such as the name, description, type, and dependencies.

b. Define any custom regions (for details, please see Using Drupal Regions)


5. Create Templates: You can start by creating templates for specific page components such as the header, footer, sidebar, and main content. 
You can also create templates for specific content types, such as articles or pages.

6. Customize CSS: Add custom CSS styles to your theme by creating a "css" folder in your theme directory and adding your stylesheets.

7. Add Theme Settings: To add settings for your theme, you would implement dark_ritual_form_system_theme_settings_alter .  This allows storing a new setting.  Next, you would look up this stored value, and assign it in a preprocess function for rendering (for details, please see Adding Settings to a Custom Drupal Theme).

With all of the above steps completed, at this point, your theme directory might now look as follows:

drwxr-xr-x 3 www-data www-data  4096 Feb 10 22:24 config
drwxr-xr-x 2 www-data www-data  4096 Feb  4 19:48 css
-rwxr-xr-x 1 www-data www-data   442 Feb  7  2021 dark_ritual.info.yml
-rwxr-xr-x 1 www-data www-data   432 May 22  2022 dark_ritual.libraries.yml
-rwxr-xr-x 1 www-data www-data  1285 Feb  4 19:25 dark_ritual.theme
drwxr-xr-x 2 www-data www-data  4096 Dec  7  2021 img
-rwxr-xr-x 1 www-data www-data  5127 Nov 20  2006 index.html
drwxr-xr-x 2 www-data www-data  4096 Aug  7  2022 js
-rwxr-xr-x 1 www-data www-data   224 Dec  2  2006 license.txt
-rwxr-xr-x 1 www-data www-data 14138 Dec 14 04:02 logo-white.png
-rwxr-xr-x 1 www-data www-data 77911 Feb  7  2021 screenshot.png
drwxr-xr-x 2 www-data www-data  4096 Feb  4 19:29 templates
-rwxr-xr-x 1 www-data www-data   614 Feb 10 22:38 theme-settings.php


8. Test Your Theme: Test your theme by navigating to the Appearance page in your Drupal site and activating your new theme. You can make changes and test them in real-ti At this point, your theme directory might look as follows:me.

9. Deploy Your Theme: When you are satisfied with your theme, you can deploy it to a live site or distribute it to others.

These are the basic steps to develop a Drupal 9 theme. You can add more advanced features and functionality as needed, depending on your specific requirements.