#D7CX: I pledge that DME will have a full Drupal 7 release on the day that Drupal 7 is released. Or maybe not, we'll see.

The Drupal Markup Engine (or DME as I'll refer to it from now on) allows you to define tags for use inside of node content that do almost anything you could wish for - allowing users to do such things as to specify where images should be placed in the text, specify that certain text is a spoiler and shouldn't be easily hidden, or to safely allow users to reference video or other resources from other sites. Tags can either enclose text (like <dme:spoiler>text</dme:spoiler>) or not (like <dme:image />).

New: Now included with dme is the dme_image sub-module, which defines a working <dme:image> tag that allows you to place images uploaded using imagefield in the node body. Something like <dme:image number=0 align="left" /> will put the first of the images in the configured image field into the body, using the configured imagecache preset. You can also specify a different preset for this particular image by using a preset attribute to the tag, and you can specify a caption by enclosing text, such as <dme:image number=0 align="left">Caption goes here </dme:image>. Which field and which presets are used can be configured globally, if you've got an image field you've shared between node types, or can be set by node type. This feature is still under development, but can be tested out now. Feedback is requested.

The DME works by being a filter that can be set up with other input filters. It checks other modules looking for hook_dme_tags() hooks and asking them for tags that the module supports. Once it runs into a tag when filtering, it then calls the hook a second time with parameters from the tag, expecting the hook to return text that it replaces the original tag with. The tag processing is in the context of the node being processed, so the processing of tags can include referencing related nodes or imagefields inside of the node itself.

Currently, the only documentation for this project is in the README.txt file enclosed in the download.

Development and maintenance co-sponsored by pingVision.

Originally developed for and used at Popular Science.

Project Information

Downloads