├── .gitattributes ├── icon-drupal.png ├── .editorconfig ├── .travis.yml ├── contributing.md ├── code-of-conduct.md └── readme.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /icon-drupal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nirgn975/awesome-drupal/HEAD/icon-drupal.png -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.2 4 | before_script: 5 | - gem install awesome_bot 6 | script: 7 | - awesome_bot readme.md --allow-dupe --white-list github.com/nirgn975/awesome-drupal/edit/master/readme.md 8 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please note that this project is released with a [Contributor Code of Conduct](code-of-conduct.md). By participating in this project you agree to abide by its terms. 4 | 5 | - 6 | 7 | Ensure your pull request adheres to the following guidelines: 8 | 9 | - Search previous suggestions before making a new one, as yours may be a duplicate. 10 | - Suggested packages should be tested and documented. 11 | - Make an individual pull request for each suggestion. 12 | - Use the following format: `[package](link) - Description.` 13 | - Additions should be added to the bottom of the relevant category. 14 | - New categories, or improvements to the existing categorization are welcome. 15 | - Link to the GitHub repo, not npmjs.com. 16 | - Keep descriptions short and simple, but descriptive. 17 | - Don't mention `Drupal` in the description as it's implied. 18 | - Start the description with a capital and end with a full stop/period. 19 | - Check your spelling and grammar. 20 | - Make sure your text editor is set to remove trailing whitespace. 21 | - The pull request should have a useful title and include a link to the package and why it should be included. 22 | 23 | Thank you for your suggestion! 24 | 25 | ### Updating your PR 26 | 27 | A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/docs/blob/master/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it. 28 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at nirgn975@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Awesome Drupal [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | [](https://www.drupal.org) 4 | 5 | > [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. 6 | 7 | You might also like [awesome-php](https://github.com/ziadoz/awesome-php). 8 | 9 | 10 | ## Contents 11 | 12 | - [Tools](#tools) 13 | - [Modules](#modules) 14 | - [Documentation](#documentation) 15 | - [Articles](#articles) 16 | - [Distributions](#distributions) 17 | - [Books](#books) 18 | - [Videos](#videos) 19 | - [Podcasts](#podcasts) 20 | - [Community](#community) 21 | - [Tips](#tips) 22 | 23 | 24 | ## Tools 25 | 26 | - [Drupal Console](https://drupalconsole.com/) - The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal. 27 | - [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). 28 | - [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. 29 | - [Yo Hedley!](https://github.com/Gizra/generator-hedley) - Scaffold a headless Drupal backend, Angular app client, and Behat tests. 30 | - [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/) 31 | 32 | 33 | ## Modules 34 | 35 | - [Administration menu](https://www.drupal.org/project/admin_menu) - Provides a theme-independent administration interface (aka. navigation, back-end). 36 | - [Administration views](https://www.drupal.org/project/admin_views) - Replaces administrative overview/listing pages with actual views for superior usability. 37 | - [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. 38 | - [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. 39 | - [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. 40 | - [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. 41 | - [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. 42 | - [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. 43 | - [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. 44 | - [Organic groups module](https://www.drupal.org/project/og) - Enable users to create and manage their own 'groups'. 45 | - [Message](https://www.drupal.org/project/message) - Enables logging and displaying system events in a number of different use cases. 46 | - [Message Notify](https://www.drupal.org/project/message_notify) – Forward messages when they are generated. 47 | - [Message Subscribe](https://www.drupal.org/project/message_subscribe) – Register to be notified when messages are generated for specific content. 48 | - [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. 49 | - [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. 50 | - [Owl Carousel](https://www.drupal.org/project/OwlCarousel) - This module integrates the wonderful Owl Carousel slider built by OwlFonk. 51 | - [csv2sql](https://www.drupal.org/project/csv2sql) - Convert CSV to SQL and create a table in your Drupal installation. 52 | - [Logs HTTP](https://www.drupal.org/project/logs_http) - Provides JSON event pushing to Logs via the tag/http endpoint. 53 | - [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. 54 | - [Commerce](https://www.drupal.org/project/commerce) - Used to build eCommerce websites and applications of all sizes. 55 | - [Views](https://www.drupal.org/project/views) - Allows administrators and site designers to create, manage, and display lists of content. 56 | - [Panels](https://www.drupal.org/project/panels) - Allows a site administrator to create customized layouts for multiple uses. 57 | - [Panelizer](https://www.drupal.org/project/panelizer) - Allows a site administrator to create customized layouts for multiple uses. 58 | - [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. 59 | - [Ctools](https://www.drupal.org/project/ctools) - This suite is primarily a set of APIs and tools to improve the developer experience. 60 | - [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. 61 | - [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 62 | - [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. 63 | - [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. 64 | - [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). 65 | - [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. 66 | - [Entity cache](https://www.drupal.org/project/entitycache) - Puts core entities into Drupal's cache API. 67 | - [elFinder file manager](https://www.drupal.org/project/elfinder) - elFinder is a open source AJAX file manager 68 | - [IMCE](https://www.drupal.org/project/imce) - IMCE is an image/file uploader and browser that supports personal directories and quota. 69 | - [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. 70 | - [Devel](https://www.drupal.org/project/devel) - Suite of modules containing fun for module developers and themers. 71 | - [Migrate](https://www.drupal.org/project/migrate) - Provides a flexible framework for migrating content into Drupal from other sources. 72 | - [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. 73 | - [Webform](https://www.drupal.org/project/webform) - Webform is the module for making forms and surveys in Drupal. 74 | - [WYSIWYG](https://www.drupal.org/project/wysiwyg) - Allows the use of client-side editors to edit content. 75 | 76 | 77 | ## Documentation 78 | 79 | - [Installation Guide ](https://www.drupal.org/docs/7/install) 80 | - [Site Building Guide](https://www.drupal.org/documentation/build) 81 | - [Administration & Security Guide](https://www.drupal.org/docs/7/administering-drupal-7-site) 82 | - [Structure Guide](https://www.drupal.org/docs/7/nodes-content-types-and-fields) 83 | - [Multilingual Guide](https://www.drupal.org/docs/7/multilingual) 84 | - [Theming Guide](https://www.drupal.org/docs/7/theming) 85 | - [Mobile Guide](https://www.drupal.org/docs/7/mobile) 86 | - [API Reference](https://api.drupal.org/api/drupal) 87 | - [Examples for Developers](https://www.drupal.org/project/examples) 88 | - [Troubleshooting](https://www.drupal.org/troubleshooting) 89 | - [The Drupal Cookbook (for beginners)](https://www.drupal.org/documentation/customization/tutorials/beginners-cookbook) 90 | 91 | 92 | ## Articles 93 | 94 | - [Let’s Talk about Decoupled Authentication](http://www.gizra.com/content/restful-access-token/) 95 | - [Creating a Dynamic Email Template in Drupal](http://www.gizra.com/content/dynamic-email-template/) 96 | - [Getting started with a Core Initiative](http://www.gizra.com/content/getting-started-with-drupal-core-initiative/) 97 | - [Drupal 8: Migrate Nodes with Attachments Easily](http://www.gizra.com/content/drupal-8-attachment-migration/) 98 | - [Migration Best Practices](http://www.gizra.com/content/migration-best-practices/) 99 | - [Cross-Site Scripting attack detection](http://www.gizra.com/content/xss-attack/) 100 | - [simpleTest with Behat for Drupal 8](http://www.gizra.com/content/simpletest-behat-drupal-8/) 101 | - [Logs, The Easy Way](http://www.gizra.com/content/logs-easy-way/) 102 | - [Todo app with RESTful backend](http://www.gizra.com/content/todo-restful-backend/) 103 | - [Message-subscribe - A New Subscription System](http://www.gizra.com/content/message-subscribe-new-subscription-system/) 104 | - [What is Message module, and its new features](http://www.gizra.com/content/what-message-module-and-its-new-features/) 105 | - [Message notify - Multilingual email notifications](http://www.gizra.com/content/message-notify-multilingual-email-notifications/) 106 | - [Data Migration - part 1](http://www.gizra.com/content/data-migration-part-1/) 107 | - [Data Migration - part 2](http://www.gizra.com/content/data-migration-part-2/) 108 | - [How to install Drupal using Composer](http://whaaat.com/installing-drush-9-using-composer) 109 | - [Using composer to set up Drupal 8](https://www.lullabot.com/articles/goodbye-drush-make-hello-composer) 110 | - [Drupal Headless Architecture with Inferno.js [Live Demo]](https://snipcart.com/blog/drupal-headless-architecture-tutorial) 111 | 112 | 113 | ## Distributions 114 | 115 | - [Commerce kickstart](https://www.drupal.org/project/commerce_kickstart) - Commerce Kickstart is the quickest way to get up and running with Drupal Commerce. 116 | - [OpenScholar](https://www.drupal.org/project/openscholar) - The easiest way to power all of your institution's websites. 117 | - [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. 118 | - [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. 119 | - [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. 120 | 121 | ## Books 122 | 123 | - [Drupal 7 The Essentials - Johan Falk](https://archive.org/details/Drupal7TheEssentials) 124 | 125 | 126 | ## Videos 127 | 128 | - [Drupal 8 Basics - LevelUpTuts](https://www.youtube.com/playlist?list=PLLnpHn493BHE9mfp6z5--UowO-6SOzcuI) 129 | - [Drupal 7 Tutorials - LevelUpTuts](https://www.youtube.com/playlist?list=PL15BE2E8313A4E809) 130 | - [Decoupled Drupal: When, Why, and How](https://www.youtube.com/watch?v=bLWa3SbEEa8) 131 | - [Building Modern APIs with RESTful](https://www.youtube.com/playlist?list=PLZOQ_ZMpYrZv8_c7jd_CkO_93-DnyVFY5) 132 | - [DrupalCon Portland 2013 - Organic Groups \\ Message](https://www.youtube.com/watch?v=XglUUroifsg) 133 | - [Drupalize Me](https://drupalize.me) 134 | 135 | 136 | ## Podcasts 137 | 138 | - [Lullabot Podcast](https://www.lullabot.com/podcasts) 139 | - [DrupalEasy Podcast](https://www.drupaleasy.com/podcast) 140 | - [Talking Drupal](http://www.talkingdrupal.com) 141 | - [Acquia Engage](https://dev.acquia.com/learn?type_1=podcast) 142 | 143 | 144 | ## Community 145 | 146 | - [Reddit](https://www.reddit.com/r/drupal/) 147 | - [Stack Overflow](http://stackoverflow.com/questions/tagged/drupal) 148 | - [`@drupal` on Twitter](https://twitter.com/drupal) 149 | - [`#drupal` on Freenode](http://webchat.freenode.net/?channels=drupal) 150 | - [`#drupal-contribute` on Freenode](http://webchat.freenode.net/?channels=drupal-contribute) 151 | - [`#drupal-support` on Freenode](http://webchat.freenode.net/?channels=drupal-support) 152 | - [Drupal Israel Meetup Group](https://www.meetup.com/Drupal-Israel/) *(Hebrew)* 153 | - [Drupal NYC Meetup Group](https://www.meetup.com/drupalnyc/) 154 | 155 | 156 | ## Tips 157 | 158 | - [Solr Script](https://github.com/RoySegall/solr-script) - Handy script to install Apache Solr. 159 | - [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. 160 | - [MacOS: New Machine configuration](https://github.com/Gizra/KnowledgeBase/wiki/MacOS:-New-Machine) - Provides files and scripts for configuring MacOS for development. 161 | 162 | 163 | ## Contribute 164 | 165 | Contributions welcome! Read the [contribution guidelines](contributing.md) first. 166 | 167 | 168 | ## License 169 | 170 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) 171 | 172 | To the extent possible under law, [Nir Galon](http://nirgn.com) has waived all copyright and related or neighboring rights to this work. 173 | --------------------------------------------------------------------------------