was googling around and came around this worth doing task from D8 cards.
In this article we will discuss and implement the 21 nice topics suggested by D8 Cards.
Card 1 - Configuration Management
API Change: No more features! Configuration exports to YML.
Card Challenge: Import and export configuration
Card 2 - Paragraphs module
Card Challenge: Create some paragraphs
Card 3 - Configuration forms
API change: Forms are now a class, config forms are sublcass.
Card Challenge: Build your own config form
Card 4 - Migrations
API change: Migrate is part of core, and migrations are configuration entities in YML.
Card Challenge: Import a CSV into Drupal content
Card 5 - Block system
API change: Blocks are now plugins(annotated classes)
Card Challenge: Create your own block type
Card 6 - Services and Dependency Injection
API change: Services and Dependency Injection!
Card Challenge: Just try to follow along
Card 7 - Cron Queuing
API change: Cron queues are now plugins (annotated classes)
Card Challenge: Build your own cron queue
Card 8 - Text filters
API change: Input filters are now plugins (annotated classes)
Card Challenge: Build your own input filter
Card 9 - Attaching assets
API change: JS and CSS are now attached to the page as libraries
Card Challenge: Create a library and attach it to a render element
Card 10 - Local Development
API change: There is not setting.local.php
Card Challenge: Turn on local development settings
Card 11 - Content Entity Types
API change: Entities are now plugins (lots of annotations)
Card Challenge: Generate code with Drupal Console for a custom entity
Card 12 - Theming
API change: There are multiple base themes, all using twig
Card Challenge: Generate a 'stable' subtheme and change some twig
Card 13 - Logging
API change: drupal_watchdog is now a factory service
Card Challenge: log a message when nodes update
Card 14 - Features module
API change: Features is back and even better!
Card Challenge: Use assignment plugins to package your configuration
Card 15 - Field Formatters
API change: Field formatters are now plugins
Card Challenge: Generate/create a field formatter for decimal fields that show five star ratings
Card 16 - Dependency Injection and Service Container
API change: Replace Service Locator code with injected dependencies
Card Challenge: Create a library and attach it to a render element
Card 17 - Composer
API change: Drupal is now built with composer and autoloading classes
Card Challenge: Build a module that depends on a PHP package
Card 18 - Events and Subscribers
API change: Symfony Event Subscribers
Card Challenge: Create, dispatch and respond to your own event
Card 19 - Twig Templating
API change: New templating language - twig
Card Challenge: Access twig variables and debug templates
Card 20 - Cache API and Cache Tags
API change: Bubbleable Metadata
Card Challenge: Create render API markup that is purged from cache automatically
Card 21 - Kernel Events
API change: hook_init replaced with Symfony Kernel events
Card Challenge: Create a service to subscribe and respond to kernel events and modify page response
- Card 1 - Configuration Management
- Card 2 - Paragraphs module
- Card 3 - Configuration forms
- Card 4 - Migrations
- Card 5 - Block system
- Card 6 - Services and Dependency Injection
- Card 7 - Cron Queuing
- Card 8 - Text filters
- Card 9 - Attaching assets
- Card 10 - Local Development
- Card 11 - Content Entity Types
- Card 12 - Theming
- Card 13 - Logging
- Card 14 - Features module
- Card 15 - Field Formatters
- Card 16 - Dependency Injection and Service Container
- Card 17 - Composer
- Card 18 - Events and Subscribers
- Card 19 - Twig Templating
- Card 20 - Cache API and Cache Tags
- Card 21 - Kernel Events