Latest version:  1.0
Build: 20050524
Released: A long time ago

cf_annotate is a simple way to add notes or advertisements to your page content automatically. This custom tag will look for instances of any of a predefined set of keywords in your page content and turn those words into links. When a user points to a linked word, a small box will appear with further information.

Use cf_annotate to . . .

  • explain foreign words, jargon, or abbreviations . . .
    XSLT is a convenient way of rendering RSS feeds from weblogs for display purposes. See the home page for an example.

  • provide contextual links to related content;
    cf_annotate is similar to expandAcronyms(), but much more powerful as you can add links, images and other HTML to your popup boxes.

  • provide inline advertising:
    I always struggle when building web forms. I wish there was an easier way. . . .


This UDF available from parses a block of text and attaches definitions to any found acronyms, abbreviations, foreign words or other words (e.g. chemicals or technical jargon) from a developer-supplied list. The definitions may be attached using the HTML acronym tag (to generate a popup tooltip) or other tags, or as a parenthesised phrase after the acronym.

RDF (or Rich) Site Summary

An XML format for distributing news headlines, updates, or weblog posts on the Web, also known as syndication. RSS feeds may be reused by web applications to aggregate data from different sources, manipulated using XSLT into a human-readable form, or downloaded automatically by RSS feed reader desktop applications, ready for offline browsing.

Extensible Stylesheet Language Transformation

An XSLT stylesheet contains a set of instructions for taking an XML document and transforming it into another XML document. This is commonly used to render raw XML data as a marked-up XHTML document that may be rendered visually by a regular web browser. XSLT stylesheets are similar to CSS stylesheets in that they attempt to separate the rendering style from the raw data.

HyperText Markup Language

"HTML is the lingua franca for publishing hypertext on the World Wide Web. It is a non-proprietary format based upon SGML, and can be created and processed by a wide range of tools, from simple plain text editors - you type it in from scratch - to sophisticated WYSIWYG authoring tools. HTML uses tags such as <h1> and </h1> to structure text into headings, paragraphs, lists, hypertext links etc."

— from

Middle English, from Old French, from Latin nota, annotation.
Build web forms easily with TerraForm!
TerraForm is a comprehensive web forms system for ColdFusion. TerraForm provides data validation, form reuse, internationalization / localization, and new form fields.

cf_annotate features:

  • Pop-up boxes are added to keywords in your page automatically. These can contain regular HTML, including links and images;

  • Activate popups on click or on hover — your choice;

  • Accepts keywords from an ColdFusion structure or an XML document;

  • Annotates just the first instance of a keyword on a page or all of them — it's your choice;

  • Simply wrap your page content in opening and closing cf_annotate tags or read and write your data to and from variables;

  • cf_annotate is skinnable. Choose one of the included skins, customize them, or create your own;

  1. Basic example
    In this example, a poem by Robert Burns is marked up automatically with glossary definitions.

  2. Example with variations
    This is the same example, but you get to play with the settings!

  3. Same example: different code
    Here the example is implemented differently but with identical results. You'll need to look at the code to see the difference.

  4. Buy it!