What about Drupal 9?
Long story, short: the vast majority of Drupal 8 tutorials will work on Drupal 9 sites. Due to how innovation now works in Drupal, new features are released in minor versions. Major releases, like the release of Drupal 9, contain all the features of Drupal 8, but with deprecated APIs removed, and some 3rd-party libraries updated. Learn more about Drupal 9 and what it means for your learning journey in our Guide to Drupal 9.
Drupal 8/9
Background and prerequisites
Essential lessons
Introduction
Theme settings
Theme inheritance
Template files
Development and debugging
Theme hook suggestions
CSS and JavaScript assets
JavaScript in Drupal
Advanced concepts
Render API
Decoupled Drupal
Variable and string manipulation
JavaScript libraries in core
Best practice: Drupal translation
Best practice: Coding standards
Responsive design and image styles
Related topics
Layouts
In Drupal, the layout of a site is a shared responsibility between a site builder and a themer. Themers are often forced to decide between hard-coding a layout into a template file or using configuration to achieve the results instead. Understanding what tools are available, and what they are capable of, helps when it comes time to make these decisions.
Navigation and lists
Drupal allows us to create static menus and dynamic lists of content using Views. The creation of menus is often completed by the site builder, but there are implications for you as a themer. You should understand where the items in a list come from, how to add new ones, and how to accommodate the fact that the number of items may vary over time.
Images and media
Drupal core can manipulate images (called "image styles") and allow file uploads that can be displayed in various ways. As a themer, you may need to customize how these images and other assets are displayed on-screen, so you may want to familiarize yourself with media management techniques in Drupal.
Learn command line tools
Drupal 7
Background and prerequisites
Essential lessons
Advanced concepts
Related topics
Layouts
In Drupal, the layout of a site is a shared responsibility between a site builder and a themer. Themers are often forced to decide between hard-coding a layout into a template file or using configuration to achieve the results instead. Understanding what tools are available, and what they are capable of, helps when it comes time to make these decisions.
Navigation and lists
Drupal allows us to create static menus and dynamic lists of content using Views. The creation of menus is often completed by the site builder, but there are implications for you as a themer. You should understand where the items in a list come from, how to add new ones, and how to accommodate the fact that the number of items may vary over time.
Images and media
Drupal core can manipulate images (called "image styles") and allow file uploads that can be displayed in various ways. As a themer, you may need to customize how these images and other assets are displayed on-screen, so you may want to familiarize yourself with media management techniques in Drupal.
Learn command line tools
Learning tips
- There's a lot to learn, and a lot of the best information is spread out across Drupal.org and various other websites, books, and podcasts. As you're climbing the ladder, and become more proficient with Drupal, you will need to learn to differentiate between knowledge that's specific to creating a Drupal theme, and knowledge that's more general to HTML/CSS/JavaScript. Knowing the difference will help you locate appropriate resources.
- If you are interested in taking the Acquia Certified Front-end Developer Exam, you will also want to work your way through our exam guide.
- There are many modules that afford the opportunity to configure markup or add CSS classes, including modules for creating layouts, lists, and other display controls. It's a good idea to become familiar with how these modules can be configured so that you can either configure them yourself to your liking or effectively communicate with a site building team member. You may want to work through our guide for site builders as well to broaden your skillset and to gain a more comprehensive knowledge of how Drupal works.
Broaden your skills
There are many ways to grow your skills and knowledge outside of tutorials. Here are some of our favorite resources for exploring Drupal theming.
Contribute to the Drupal project
Although not a requirement, many Drupal developers also enjoy being active members of the Drupal community and contributing their solutions back to Drupal.org in the form of a contributed theme or by helping to resolve bugs in the themes they use -- even in Drupal core themes.
Podcasts
The following episodes of the former Drupalize.Me podcast may also be of interest to themers:
- What is a Base Theme and When Should I Use One?
- Decoupling Drupal -- For those aspiring to front-end development and taking Drupal to the next level.
- Getting Sassy with Chris Eppstein -- Chris is the creator of the framework Compass, which is used in conjunction with Sass by many themers.
Community Events
DrupalCon sessions and other local/regional events are a great way to get up to speed on the latest in Drupal development. All DrupalCon sessions are recorded and are available for free on the Drupal Association's YouTube channel. Many Drupal "Camps" (local or regional Drupal community events) also record sessions. For DrupalCon and many other Drupal events, the recorded sessions are embedded on the session description pages on the event's website.
- DrupalCon -- Find links to past and future DrupalCons and session recordings.
- Drupical -- Filter and find Drupal camps, sprints, user groups, and training events.
- Upcoming Drupal community events -- Filter and find Drupal-related events.
Meet some themers
Get to know some people who work with Drupal front-end and themes every day: