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.
Provides Markdown filter integration for Drupal input formats. The Markdown syntax is designed to co-exist with HTML, so you can set up input formats with both HTML and Markdown support. It is also meant to be as human-readable as possible when left as "source".
Because I can never get a straight answer for a simple solution to include an image in a block with a easy-to-use interface for non-technical folk.
Image block is a module where one can create a simple block that includes an image. The 6.x version of this module integrates with Imagecache and 7.x with the core Image module's Image Styles for dynamic image sizing and manipulation.
Relation is an API module and storage model for both simple and the most complex relations between entities. The module can handle both directional and symmetrical relations very well.
Relations are entities and can therefore have fields. This makes Relation the most flexible and powerful relation model out there. (Still, using Relation with anything but the default SQL storage will not work in most cases.)
The Entity Construction Kit (ECK) builds upon the entity system to create a flexible and extensible data modeling system both with a UI for site builders, and with useful abstractions (classes, plugins, etc) to help developers use entities with ease.
ECK allows the creation and management of entity types with custom properties; adding bundles to entity types; and fields to bundles, with the help of the Field UI module.
This module exposes configurable and extendable visibility settings for menu links. For example, if you want to create a 'My account' link that points to /user, both anonymous and registered users have access to the /user path, so both will see the link, even if anonymous users do not technically have an account. Using this module will allow you to only have your 'My account' link visible to registered users, and hide it from anonymous users.
The module uses the exact same UI used for block visibility settings for familiarity.
The Content Optimizer module helps to increase your site’s search engine (e.g. Google) rankings by improving on-page optimization factors and insuring your content conforms to Drupal SEO best practices. It enables a quick SEO analyzer that provides instant analysis of any site content as a quick and easy guide to assure SEO best practices are consistently followed. The analysis displays vital content statistics and recommendations for improving search engine rankings.
This module provides the Fluid Grid style plugin for Views. This plugin displays the view as a fluid grid using an HTML list element.
The plugin settings form provides options to define the width and height of the elements in the grid. But it also provides advanced layout options implemented in separate CSS classes that allow you to define item margins, alignment and a couple of CSS3 properties (box-shadow and border-radius).
Adds a "forward this page" link to each node. This module allows users to forward a link to a specific node on your site to a friend. You can customize the default form field values and even view a running count of the emails sent so far using the forward module.
This module adds some common-sense usability to Drupal's menu system
Menu Trails implements primary/secondary links which keep the current menu trail "active" or highlighted. A handy snippet ready to go into your template.php is included.
The module provides a means of broadly categorizing nodes (by type or taxonomy) as falling "under" a known menu item. These nodes are not added to the menu tree (keeping the menu admin system sane) but they will trigger the functionality above -- preserving navigation state for the user -- when viewed.
New for 6.0: Menu Trails can also set breadcrumbs for nodes, keeping them in sync with the trail.
New for 6.0: Menu Trails is now Organic Groups aware, so nodes can be designated to fall "under" the first group node they belong to.
New for 6.0: A token is exposed to pathauto (and other token-aware modules) allowing for the menu trail to be used in automatic path alias creation.
Note: This module has been deprecated for Drupal 7 in favor of its phoenix, EVA.
This module provides two additional Views display plugins, "Profile" and "Node content". These displays do not display on a page but get "attached" to either a user page or nodes of specified types. These views are not stored with the user or node, the way viewreference.module would, so they can be globally-reconfigured.
The node content display can be reordered on the "Manage fields" tab if CCK is enabled. If not, it will have a weight of 10 so it floats to the bottom of the node.
Many people have asked how to use this module to show content related to the node or user to which a view is attached. The answer is to use Arguments. Even though attached views have no path, they still get to make use of arguments.
Create a nodereference field on some node type. Create several nodes of that type that nodereference to some other node.
Create a new "Node content" display. Configure it as desired.
Add an argument for the nodereference field you created in step 1.
Set the default value of that argument to "Node ID from URL".
Set the display to show on node types that are pointed to by that nodereference field.
Defines a field type Block reference which creates a relationship to a block and allows the block to be displayed as the content of the field. It saves this relationship using the block's bid, not its delta + module. Version 2 saves module + delta (moddelta), which is much more robust than bid.
Widget "Select list (with drag-and-drop sort)" has been deprecated. Use Multiple Selects instead!
Hidden CAPTCHA is an extension to the CAPTCHA module. It offers a hidden CAPTCHA (duh!)
The idea is very simple: If you offer an input box in any form, 99% of the time, robots will fill it with something before posting the form. If you offer an input box that has to stay empty, then the CAPTCHA system will prevent posts by robots.
This module allows you to add a Hidden CAPTCHA on forms where you don't absolutely need to have a human enter a text, number, etc. but that still needs a little anti-spam control.
How does it work?
This is just like any text CAPTCHA. You can set it up with a question specific to your website or that people just cannot answer in their right mind (i.e. How many stars are they in the Universe?) By changing the question regularly (once a month?) then you can prevent even more spam as the spammers need to adjust their robots to understand the new question (and some won't do that...) Long questions are better since they are not very likely to have been asked in any CAPTCHA before.
The CAPTCHA system will create a form with your question and an input box. The Hidden CAPTCHA system adds a specific CSS class to that form. The class references a CSS definition in the Hidden CAPTCHA file that says that the whole CAPTCHA box shall be hidden (i.e. display: none;).
IMPORTANT: I've decided to combine forces with @sreynen, the maintainer of the magnificent @font-your-face module. That modules does not only support Google Fonts, but also several other font providers and combines all those fonts in a very user-friendly interface. I will not improve the Google Fonts API module anymore. So please switch your site to (the 7.x-2.x version of) @font-your-face in favor of Google Fonts. Thanks ;)
"Automatic Entity Label" is a small and efficient module that allows hiding of entity label fields. To prevent empty labels it can be configured to generate the label automatically by a given pattern.
This can be used on any entity type, including e.g. for node titles, comment subjects, taxonomy term names and profile2 labels.
Patterns for automatic labels can be constructed with tokens. Drupal core provides a basic set of tokens. For a token selection widget install the token module. Some entity types (e.g. profile2) provide tokens via the entity_token module (part of entity).
Advanced users can use PHP code for automatically generating labels.