# Awesome Drupal [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

[<img src="https://raw.githubusercontent.com/nirgn975/awesome-drupal/master/icon-drupal.png" align="right" width="90">](https://www.drupal.org)

> [Drupal](https://www.drupal.org) is a free and open source CMS written in PHP and distributed under the GNU General Public License, provides a back-end for Web sites worldwide – ranging from personal blogs to corporate, political, and government sites.

You might also like [awesome-php](https://github.com/ziadoz/awesome-php).


## Contents

- [Tools](#tools)
- [Modules](#modules)
- [Documentation](#documentation)
- [Articles](#articles)
- [Distributions](#distributions)
- [Books](#books)
- [Videos](#videos)
- [Podcasts](#podcasts)
- [Community](#community)
- [Tips](#tips)


## Tools

- [Drupal Console](https://drupalconsole.com/) - The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.
- [DrupalVM](https://www.drupalvm.com/) - Drupal VM makes building Drupal development environments quick and easy, and introduces developers to the wonderful world of Drupal development on virtual machines or Docker containers (instead of crufty old MAMP/WAMP-based development).
- [Drush](http://www.drush.org/) - Drush is a command line shell and Unix scripting interface for Drupal. Drush core ships with lots of useful commands for interacting with code like modules/themes/profiles. Similarly, it runs update.php, executes sql queries and DB migrations, and misc utilities like run cron or clear cache.
- [Yo Hedley!](https://github.com/Gizra/generator-hedley) - Scaffold a headless Drupal backend, Angular app client, and Behat tests.
- [DDEV-Local](https://github.com/drud/ddev) - A Docker-based tool to create and manage local development environments. Use for other PHP apps too. Also see the [Get Started Guide](https://www.drud.com/get-started/) 


## Modules

- [Administration menu](https://www.drupal.org/project/admin_menu) - Provides a theme-independent administration interface (aka. navigation, back-end).
- [Administration views](https://www.drupal.org/project/admin_views) - Replaces administrative overview/listing pages with actual views for superior usability.
- [Backup and Migrate](https://www.drupal.org/project/backup_migrate) - Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate supports gzip, bzip and zip compression as well as automatic scheduled backups.
- [Better Exposed Filters](https://www.drupal.org/project/better_exposed_filters) - Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate supports gzip, bzip and zip compression as well as automatic scheduled backups.
- [CKEditor - WYSIWYG HTML editor](https://www.drupal.org/project/ckeditor) - This module will allow Drupal to replace textarea fields with the CKEditor - a visual HTML editor, usually called a WYSIWYG editor.
- [Colorbox](https://www.drupal.org/project/colorbox) - Colorbox is a light-weight customizable lightbox plugin for jQuery. This module allows for integration of Colorbox into Drupal.
- [Context](https://www.drupal.org/project/context) - Context allows you to manage contextual conditions and reactions for different portions of your site. You can think of each context as representing a "section" of your site.
- [Display Suite](https://www.drupal.org/project/ds) - Display Suite allows you to take full control over how your content is displayed using a drag and drop interface.
- [RESTful module](https://www.drupal.org/project/restful) - Allows Drupal to be operated via RESTful HTTP requests, using best practices for security, performance, and usability.
- [Organic groups module](https://www.drupal.org/project/og) - Enable users to create and manage their own 'groups'.
- [Message](https://www.drupal.org/project/message) - Enables logging and displaying system events in a number of different use cases.
- [Message Notify](https://www.drupal.org/project/message_notify)  – Forward messages when they are generated.
- [Message Subscribe](https://www.drupal.org/project/message_subscribe) – Register to be notified when messages are generated for specific content.
- [Module Filter](https://www.drupal.org/project/module_filter) – The modules list page can become quite big when dealing with a fairly large site or even just a dev site meant for testing new and various modules being considered. 
- [Entities Diagram Graph](https://www.drupal.org/sandbox/bricel/2654176) - Generates a graph of the entities, fields and their relationship of a particular installation of Drupal 7.
- [Owl Carousel](https://www.drupal.org/project/OwlCarousel) - This module integrates the wonderful Owl Carousel slider built by OwlFonk. 
- [csv2sql](https://www.drupal.org/project/csv2sql) - Convert CSV to SQL and create a table in your Drupal installation.
- [Logs HTTP](https://www.drupal.org/project/logs_http) - Provides JSON event pushing to Logs via the tag/http endpoint.
- [Features](https://www.drupal.org/project/features) - Enables the capture and management of features in Drupal. A feature is a collection of Drupal entities which taken together satisfy a certain use-case.
- [Commerce](https://www.drupal.org/project/commerce) - Used to build eCommerce websites and applications of all sizes.
- [Views](https://www.drupal.org/project/views) - Allows administrators and site designers to create, manage, and display lists of content.
- [Panels](https://www.drupal.org/project/panels) - Allows a site administrator to create customized layouts for multiple uses.
- [Panelizer](https://www.drupal.org/project/panelizer) - Allows a site administrator to create customized layouts for multiple uses.
- [Pathauto](https://www.drupal.org/project/pathauto) - The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias.
- [Ctools](https://www.drupal.org/project/ctools) - This suite is primarily a set of APIs and tools to improve the developer experience.
- [Search API](https://www.drupal.org/project/search_api) - Provides a framework for easily creating searches on any entity known to Drupal, using any kind of search engine.
- [Slick](https://www.drupal.org/project/slick) - Slick is a powerful and performant slideshow/carousel solution leveraging Ken Wheeler's Slick carousel. See http://kenwheeler.github.io/slick
- [Token](https://www.drupal.org/project/token) - Provides additional tokens not supported by core (most notably fields), as well as a UI for browsing tokens.
- [Ubercart](https://www.drupal.org/project/ubercart) - Ubercart is the most popular Drupal E-Commerce platform for your website. It implements everything you need to start selling products online. 
- [Rules](https://www.drupal.org/project/rules) - The Rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules).
- [Entity API](https://www.drupal.org/project/entity) - Extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties.
- [Entity cache](https://www.drupal.org/project/entitycache) - Puts core entities into Drupal's cache API.
- [elFinder file manager](https://www.drupal.org/project/elfinder) - elFinder is a open source AJAX file manager
- [IMCE](https://www.drupal.org/project/imce) - IMCE is an image/file uploader and browser that supports personal directories and quota.
- [Date](https://www.drupal.org/project/date) - Contains both a flexible date/time field type Date field and a Date API that other modules can use.
- [Devel](https://www.drupal.org/project/devel) - Suite of modules containing fun for module developers and themers.
- [Migrate](https://www.drupal.org/project/migrate) - Provides a flexible framework for migrating content into Drupal from other sources.
- [Entity validator](https://www.drupal.org/project/entity_validator) - Allows you to define a plugin and set methods to validate the object you'r dealing with.
- [Webform](https://www.drupal.org/project/webform) - Webform is the module for making forms and surveys in Drupal.
- [WYSIWYG](https://www.drupal.org/project/wysiwyg) - Allows the use of client-side editors to edit content.


## Documentation

- [Installation Guide ](https://www.drupal.org/docs/7/install)
- [Site Building Guide](https://www.drupal.org/documentation/build)
- [Administration & Security Guide](https://www.drupal.org/docs/7/administering-drupal-7-site)
- [Structure Guide](https://www.drupal.org/docs/7/nodes-content-types-and-fields)
- [Multilingual Guide](https://www.drupal.org/docs/7/multilingual)
- [Theming Guide](https://www.drupal.org/docs/7/theming)
- [Mobile Guide](https://www.drupal.org/docs/7/mobile)
- [API Reference](https://api.drupal.org/api/drupal)
- [Examples for Developers](https://www.drupal.org/project/examples)
- [Troubleshooting](https://www.drupal.org/troubleshooting)
- [The Drupal Cookbook (for beginners)](https://www.drupal.org/documentation/customization/tutorials/beginners-cookbook)


## Articles

- [Let’s Talk about Decoupled Authentication](http://www.gizra.com/content/restful-access-token/)
- [Creating a Dynamic Email Template in Drupal](http://www.gizra.com/content/dynamic-email-template/)
- [Getting started with a Core Initiative](http://www.gizra.com/content/getting-started-with-drupal-core-initiative/)
- [Drupal 8: Migrate Nodes with Attachments Easily](http://www.gizra.com/content/drupal-8-attachment-migration/)
- [Migration Best Practices](http://www.gizra.com/content/migration-best-practices/)
- [Cross-Site Scripting attack detection](http://www.gizra.com/content/xss-attack/)
- [simpleTest with Behat for Drupal 8](http://www.gizra.com/content/simpletest-behat-drupal-8/)
- [Logs, The Easy Way](http://www.gizra.com/content/logs-easy-way/)
- [Todo app with RESTful backend](http://www.gizra.com/content/todo-restful-backend/)
- [Message-subscribe - A New Subscription System](http://www.gizra.com/content/message-subscribe-new-subscription-system/)
- [What is Message module, and its new features](http://www.gizra.com/content/what-message-module-and-its-new-features/)
- [Message notify - Multilingual email notifications](http://www.gizra.com/content/message-notify-multilingual-email-notifications/)
- [Data Migration - part 1](http://www.gizra.com/content/data-migration-part-1/)
- [Data Migration - part 2](http://www.gizra.com/content/data-migration-part-2/)
- [How to install Drupal using Composer](http://whaaat.com/installing-drush-9-using-composer)
- [Using composer to set up Drupal 8](https://www.lullabot.com/articles/goodbye-drush-make-hello-composer)
- [Drupal Headless Architecture with Inferno.js [Live Demo]](https://snipcart.com/blog/drupal-headless-architecture-tutorial)


## Distributions

- [Commerce kickstart](https://www.drupal.org/project/commerce_kickstart) - Commerce Kickstart is the quickest way to get up and running with Drupal Commerce.
- [OpenScholar](https://www.drupal.org/project/openscholar) - The easiest way to power all of your institution's websites.
- [Open Atrium](https://www.drupal.org/project/openatrium) - Open Atrium, maintained by Phase2 Technology, is a Drupal distribution that allows you to confidently engage with your colleagues through convenient collaboration.
- [OpenPublic](https://www.drupal.org/project/openpublic) - For government and public policy organizations, open source only works if it’s built for the security, accessibility, and flexibility requirements of the public sector. 
- [OpenPublish](https://www.drupal.org/project/openpublish) - OpenPublish is a Drupal 7 packaged distribution designed for the online news industry. It is deployed in a variety of media outlets sites including magazines, newspapers, journals, trade publications, broadcast, wire service, multimedia sites and membership publications.

## Books

- [Drupal 7 The Essentials - Johan Falk](https://archive.org/details/Drupal7TheEssentials)


## Videos

- [Drupal 8 Basics - LevelUpTuts](https://www.youtube.com/playlist?list=PLLnpHn493BHE9mfp6z5--UowO-6SOzcuI)
- [Drupal 7 Tutorials - LevelUpTuts](https://www.youtube.com/playlist?list=PL15BE2E8313A4E809)
- [Decoupled Drupal: When, Why, and How](https://www.youtube.com/watch?v=bLWa3SbEEa8)
- [Building Modern APIs with RESTful](https://www.youtube.com/playlist?list=PLZOQ_ZMpYrZv8_c7jd_CkO_93-DnyVFY5)
- [DrupalCon Portland 2013 - Organic Groups \\ Message](https://www.youtube.com/watch?v=XglUUroifsg)
- [Drupalize Me](https://drupalize.me)


## Podcasts

- [Lullabot Podcast](https://www.lullabot.com/podcasts)
- [DrupalEasy Podcast](https://www.drupaleasy.com/podcast)
- [Talking Drupal](http://www.talkingdrupal.com)
- [Acquia Engage](https://dev.acquia.com/learn?type_1=podcast)


## Community

- [Reddit](https://www.reddit.com/r/drupal/)
- [Stack Overflow](http://stackoverflow.com/questions/tagged/drupal)
- [`@drupal` on Twitter](https://twitter.com/drupal)
- [`#drupal` on Freenode](http://webchat.freenode.net/?channels=drupal)
- [`#drupal-contribute` on Freenode](http://webchat.freenode.net/?channels=drupal-contribute)
- [`#drupal-support` on Freenode](http://webchat.freenode.net/?channels=drupal-support)
- [Drupal Israel Meetup Group](https://www.meetup.com/Drupal-Israel/) *(Hebrew)*
- [Drupal NYC Meetup Group](https://www.meetup.com/drupalnyc/)


## Tips

- [Solr Script](https://github.com/RoySegall/solr-script) - Handy script to install Apache Solr.
- [Ubuntu development environment setup](https://github.com/Gizra/KnowledgeBase/wiki/Ubuntu-and-development-environment-setup) - Provides steps for configuring ubuntu so it will be ready for PHP and Drupal development.
- [MacOS: New Machine configuration](https://github.com/Gizra/KnowledgeBase/wiki/MacOS:-New-Machine) - Provides files and scripts for configuring MacOS for development.


## Contribute

Contributions welcome! Read the [contribution guidelines](contributing.md) first.


## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)

To the extent possible under law, [Nir Galon](http://nirgn.com) has waived all copyright and related or neighboring rights to this work.

[drupal.md Github](https://github.com/nirgn975/awesome-drupal
)
