Getting Started - Background & Prerequisites
Drupal leverages advanced PHP language features & sophisticated 3rd party libraries for better developer experience
Naming and placing your Drupal module
Main topic described: module naming and location
Let Drupal know about your module with an .info.yml file
Main topic described: project metadata
Include default configuration in your Drupal module
Main topic described: default configuration
Defining and using your own configuration in Drupal
Main topic described: defining own configuration
Create a custom page using a controller
Create a simple page in Drupal by declaring the path and options and writing a callback that returns the page body.
Creating custom blocks
Unlike in Drupal 7, creating multiple instances of a block to place on your site is an easy task in Drupal 8.
Creating custom field types, widgets, and formatters
Create a custom field type, widget, and formatter in Drupal 8.
Subscribe to and dispatch events
Get to know Symfony events in Drupal 8 and find out how they relate to Drupal hooks.
Building a Views display style plugin for Drupal
Here's a step by step guide on how to create a Views display style plugin.
Adding assets (CSS, JS) to a Drupal module via *.libraries.yml
This documentation is for modules. For the themes, see Adding stylesheets (CSS) and JavaScript (JS) to a Drupal theme.
Basic module building tutorial: Lorem ipsum generator
Step-by-step guide for module building beginners.
Step by step tutorial: Hello World
A step-by-step tutorial for building a module
Understanding hooks
Hooks are one of the ways how that modules can interact with the other modules or Drupal core subsystems.