17,584 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

Node type class

This module is used to add class to the nodes based on the content type.

D8 version of Node type class is available!!


Once the module is enabled:

1. This module adds a fieldset named "Node type class" in node type form,
For eg: admin/structure/types/manage/article for "article" content type.

2. It adds the class(es) to the <body> tag of the node page.

Related Module:


Head Bar


The HeadBar module will provide a header bar above the body of the page.

It is used to attract the viewer as the header bar will appear after some seconds as configured.

It is used to highlight any special thing in site like:
- Event
- New article
- Contact us
- Social media link

- Not only plain text but HTML tags can also be added.
- Color of the bar and mouse hover of the show icon can be configured.
- Delay-time of the bar can be controlled.

See README.txt file for more info.


Chartbeat Most Popular

Chartbeat Most Popular Logo

Chartbeat Most Popular


This module is designed to be used with Chartbeat. If you do not have a Chartbeat account, it will not work. If you do have Chartbeat and you're looking to present the Most Popular URLs on your site, this module will do that for you. It will create a Chartbeat - Most Popular block that you can add to your site.


Aegir SSH

Aegir Authorized SSH Keys

This module allows SSH keys to be uploaded to the /var/aegir/.ssh/authorized_keys file through the Hostmaster front-end, using the SSHKey module.

Proof of Concept

This module is a proof of concept. It needs work and should be used with caution. Once enabled, if a hostmaster user has permission to upload an SSH key, they will be given SSH access to the primary server_master server.


RNG Quick

Provides a faster method to register for events.


Future Nodes

A very simple node access module that limits access to nodes if they are published in the future.

If the Node's "Authored On" property ($node->created) is equal to or less than the current request time, then a visitor may have access to the node. If it is after then a visitor will not see the node listed or be able to view it directly. NOTE: This does not effect edtorial access.



drupal.org version: some theme tweaking needed, and coming soon, but looking good!


Entity Process Callback

Many times you want to execute an operation over a list of entities. Sometimes you will want to retroactively apply a default value to a certain field, other times you will want to export the articles tagged as Drupal to a CSV file, etc.

This drush command simplifies that process for you. You only need to write the callback function that does your operation, given an entity. All valid callbacks will receive the entity type as the first argument and the loaded entity as the second parameter.


Commerce KBC Paypage

Kbc logo


Provides Drupal Commerce with direct KBC Paypage integration.

Sponsored by:



Commerce Addressbook Extra

This module for Drupal Commerce extends Commerce Addressbook module and allows to add customer profiles from Register form. Also it allows to setup what field should be used to show the values for ADDRESSES ON FILE select-list on Checkout page.


Minify HTML


If you can not install MOD_PAGESPEED or other HTML compressor on webserver level, this module can help you reach a higher score on the speedtest, and eventually a higher pagerank.

The idea is that instead of looping through all the renderable regions to compress the HTML output, I duplicated the drupal_deliver_html_page method and minify the entire HTML output at once.


Language Key / Value Field

Language Key / Value Field provides a field for storing a pair of language and value, without having to enable any translation module.


In the Lingotek Translation module, we need to track the status of each translation request made to our web services, but that happens prior we have a translation at all.

This field helps us to store that, but can also be helpful for other use cases, so we want to release it independently so everyone can benefit from it.

If you use it, tell me about it so we can expand this project page with more use cases!



A powerful mailhandler alternative for Drupal

Context.IO makes email data accessible through a simple REST API. It makes it a lot easier to get data out of mailboxes, it implements oAuth authentication for the major email platforms, so it’s really easy to add email accounts. No need to add the password of your mailbox as a setting in your site, or to go search what the connection details are for an email provider. Just add the email account, and give access through the oAuth authentication process.


Token Conditions

Creates a simple Token matching condition plugin for Drupal.

Currently the only places this is used in Drupal Core is the Block Visibility Settings.

Example Conditions:


Rules Set Site Variables

"Rules Set Site Variables” allows you to use the power of Rules to change site configuration and site variables. Create a rule or rules action and then add the action Set Drupal Site variable. You can configure which site variable you want to modify and text you want to change or modify.


Defer Image

Speed up page loads by skipping images.

The purpose of this technique is to keep image resources from blocking the initial load and render of a page, which greatly speeds up time to page loading and improved UX... especially on limited bandwidth on mobile and abroad.

This technique works best for images that are "below the fold" or otherwise not shown in the viewport immediately on page load so that users don't notice the images coming into the page late.


Hosting Variables

This Aegir module allows you to set arbitrary custom Drupal variables for each site, such as site name and slogan.

These variables will be put in settings.php, and so can't be overriden (or changed) through the site interface.

This module is only compatible with Aegir3.


Organic groups counters

The Organic groups counters module keep track of per-user new posts and comments in each subscribed group. Counters are updated in an efficient way, and are also exported as entities, so that they can be used in other modules such as Views and Rules out-of-box.


DocRaptor PDF Library

This module is a PDF Library addon for the Print module that allows you to generate the PDF version of an HTML page using DocRaptor's HTML to PDF API.


Font Awesome SVG


The Font Awesome SVG module allows you to display the famous Font Awesome icons
as inline SVG images. There is much debate about the merits of icon fonts versus
using SVG vector graphics. For an introduction on the topic, see e.g.

To submit bug reports and feature suggestions, or to track changes:



This project will host various PHPStorage backends. For now, it contains a version which writes to cache and reads it in a way that the Zend Opcache (included in PHP 5.5+) can opcode cache the code.


Web Experience Toolkit 4 (wet_boew) Panel Layouts

OPIN Software Inc.

What is the Web Experience Toolkit (WET)?

A front-end framework used to build accessible, mobile friendly, and multilingual websites. It is open source and led by the Government of Canada (http://wet-boew.github.io/wet-boew/index-en.html).

Project Overview

This module Implements a variety of accessible and responsive layouts leveraging the WET grid system.


Libraries CDN API

Libraries CDN API is an API module to query CDN services to automatically provides libraries on your site.

It is bundled with two CDN plugins: CDNJS and jsDelivr.
Check the very simple API to understand how to query a CDN and how to create your own CDN plugins too.


Panels Substitutions Access

Determine Panels Access by substitutions values used as Selection Rules and Visibility Rules.

It is actually a Ctools Access plugin

If can check if substitutions matches a string literal or another substitution. It can also use Regex match.

It can also check if a substitution is empty.

Ideas for use

  • Show a pane if a field is empty
  • Don't show a pane 2 entity reference fields reference the same entity.
  • Show a Variant if the node title matches a regex pattern.