Build fast, responsive Drupal websites with custom theme design to deliver a rich user experience
Ratings1
Average rating4
A comprehensive guide to creating Drupal themes from scratch, from design to fully styled websites with custom Twig templates and headless architecture Key Features Explore real-world examples with proven methodologies to gain a deeper insight into the Drupal theme layer Learn how to translate a graphic design into a maintainable and robust Drupal theme Improve performance and accessibility with a decoupled frontend to consume data exposed by Drupal’s APIs Purchase of the print or Kindle book includes a free PDF eBook Book DescriptionWorking with themes in Drupal can be challenging, given the number of layers and APIs involved. Modernizing Drupal 10 Theme Development helps you explore the new Drupal 10’s theme layer in depth. With a fully implemented Drupal website on the one hand and a set of Storybook components on the other, you’ll begin by learning to create a theme from scratch to match the desired final layout. Once you’ve set up a local environment, you’ll get familiarized with design systems and learn how to map them to the structures of a Drupal website. Next, you’ll bootstrap your new theme and optimize Drupal’s productivity using tools such as webpack, Tailwind CSS, and Browsersync. As you advance, you’ll delve into all the theme layers in a step-by-step way, starting from how Drupal builds an HTML page to where the template files are and how to add custom CSS and JavaScript. You’ll also discover how to leverage all the Drupal APIs to implement robust and maintainable themes without reinventing the wheel, but by following best practices and methodologies. Toward the end, you’ll find out how to build a fully decoupled website using json:api and Next.js. By the end of this book, you’ll be able to confidently build custom Drupal themes to deliver state-of-the-art websites and keep ahead of the competition in the modern frontend world.What you will learn Map design systems made by Storybook components to Drupal structures Understand and use render arrays and Twig templates Get familiarized with the new Single Directory Component feature introduced in Drupal 10.1 Define, import, and use CSS and JavaScript libraries Discover how to style content created with fields and paragraphs Define, place, customize, and style blocks Explore advanced topics like extending Twig, making a theme configurable, and boosting performance and accessibility Find out how to build a decoupled website using json:api and Next.js Who this book is forIf you are a Drupal backend developer or frontend developer who wants to create Drupal themes that follow industry best practices and are fast and maintainable, this book is for you. Basic knowledge of HTML, CSS, and JavaScript and working knowledge of a CMS are needed to grasp the concepts present in this book.
Reviews with the most likes.
The book is written for frontend and backend developers and someone who is somewhat familiar with Drupal. It does attempt to explain some of the basic concepts such as nodes, content types, and taxonomies, but I felt it was not clear enough to someone who is completely new. To be fair, such a user would probably pick up a generic Drupal book rather than a book specializing in theming. It's divided into three parts and you can pick the chapters that make most sense to your needs. The first part is an introduction to setting up the development environment and theming basics. Chapters here might be useful to you if you are new to Drupal. The second part covers advanced topics under component-driven design and more. The third part provides a quick coverage of writing a decoupled Drupal site.
Drupal needs a bit of site setup to be done before any meaningful theming and the author just provides a code repository to begin with. We continue building on this code as we learn concepts. The choice of local development tools mentioned in the book is good. Just be careful of using the configuration as-is unless you know what you're doing. The tools for frontend itself are a little dated but still widely used. I wish the book had covered tools such as vite but maybe that's too cutting edge? The book instead covers fairly standard tooling with webpack, BackstopJs, Browsersync, stylelint, phpcs, and more.
Broadly speaking, the book covers various theming related topics beginning with the asset library system in Drupal, how a page is rendered, design systems (using Storybook), overriding templates, theme suggestions, before moving on to working with specific type of components in Drupal (such as header, footer, views, blocks, etc). In each of these cases, the author covers enough detail for someone not familiar to PHP and Drupal. It's a fairly decent coverage of the entire theming system in Drupal. The book also covers relatively newer concepts such as using the components module and Single Directory Components. It also went on to describe advanced use cases such as making the themes configurable, accessibility, writing custom twig functions, and finally decoupled Drupal websites.
Personally, I found that accuracy and nuance improved in the book once it moved to advanced topics. Overall, I recommend this book as a good reference as you learn theming. But it's a good idea to have at least some basic knowledge of Drupal or your experience may vary.