Join us as we walk through the theming variations that started with the traditional theme-centric design and has quickly moved into component-based design. Together we will master Component-based theming with Twig as we work to identify patterns, define components, utilize command line tools such as Composer, NPM, and Grunt to quickly create a PatternLab managed theme. Learn how to work smarter in developing components that can easily be integrated into a project after project without having to recreate them yourself.
If you consider yourself a front-end developer then you will be right at home learning all the newest techniques to take your skills to the next level as we master Component-based theming with Twig.
All attendees will receive a digital copy of Chaz' book "Drupal 8 Theming with Twig".
You'll come away from the course with knowledge of:
- Best practices for Drupal 8 theming
- How Twig fits into the front-end development process
- How to define, develop and theme a component
- Steps for integrating PatternLab into Drupal
- Various techniques for componentizing Drupal
Lesson 1: Overview
In order to fully take advantage of componentizing Drupal, it helps to have an understanding of components, patterns and the differences between traditional theme-centric design and component-based design. We will take a look at patterns that make up common web elements, break them down into smaller pieces and explain how they better fit into what is known as the atomic design principle.
- How to identify patterns
- What makes up a component
- Theme-centric vs Component-based design
- An overview of PatternLab
Lesson 2: Tools
- Working with the Gesso theme
- Using Composer to create a PatternLab project
- Choosing a Drupal-based Starterkit
- Working with package managers
- Using task runners to improve workflow
- Configuring Drupal for Twig debugging
Lesson 3: Building Components
Reviewing a design we will work thru identifying the components that make up the page and begin building our first components. Utilizing PatternLab we will first build our component using simple markup, styling, and Twig. We will learn how to then combine components using advanced Twig syntax to build a completed page.
- Creating our first component
- Managing components within PatternLab
- Exposing our component to Drupal
- Combining components
- Advanced Twig syntax
Lesson 4: Component Libraries
With the concept of creating components mastered, we will look at theming variations to create self-contained components that can be moved from project to project. We will also explore using the Component library module to enable Twig namespacing, allow for more advanced Twig syntax and enable PatternLab to be our canonical source for markup.
- Creating self-contained components
- Working with Component library module
- Using Twig namespacing
- Making PatternLab our canonical source
Lesson 5: UI Patterns
As designs evolve so will the patterns required to work smarter with Drupal. We will take a look at some of the more advanced components and how to tackle them. Also, we will take a peek at the new UI Pattern Library module and how it integrates with Field Formatters, Display suite, and Panels.
- Advanced patterns
- Working with the UI Pattern Library