node package manager


Allows you to render templateData with HTML elements

Text Plugin for DocPad

Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
Gratipay donate button Flattr donate button PayPayl donate button BitCoin donate button Wishlist browse button

This plugin allows you to render variables within templateData using text elements


docpad install text


If you have this in your docpad.cson

        firstname: 'Benjamin'
        lastname: 'Lupton'
        fullname: '<t>firstname</t> <t>lastname</t>'
        markdownExample: '<t render="markdown">this is so **awesome**</t>'
        markdownEcoExample: '<t render="">here is a random number: **<%- Math.random() %>**</t>'

Doing the following inside a document:

My creator's firstname is: <t>firstname</t>
My creator's lastname is: <t>lastname</t>
My creator's fullname is: <t>fullname</t>
The markdown example is: <t>markdownExample</t>
The markdown eco example is: <t>markdownEcoExample</t>

Will output:

My creator's firstname is: Benjamin
My creator's lastname is: Lupton
My creator's fullname is: Benjamin Lupton
The markdown example is: this is so <strong>awesome</strong>
The markdown eco example is: here is a random number: <strong>0.5123213213123</strong>

Which is incredibly useful for abstracting out common generic pieces of text from your templates and placing them inside your configuration files. A common use case for this is easy configurability of skeletons, as well as easier translation of your website.

If you are embedding a text block into a text block, it is best that you name your text block like so <t:myName>blah</t:myName> that way our parser won't get confused as easily :)

To use it with coffeekup you'll do it like so tag 'text', {render:"md"}, "your **markdown** content". More info here..

Alternatively, you can use the t template helper like so @t('*markdown*', {render:"markdown"})


matchElementRegexString defaults to 't(?:ext)?'

What regex string should we use to find text elements. The default value will find <t> and <text> elements. If you use SVG, you may want to change this just to t to avoid conflicts with the text element.

preferredElement defualts to 't'

What element should be preferred when we are inject text elements with the t template helper? The default value will inject <t> elements.


Discover the change history by heading on over to the file.


Discover how you can contribute by heading on over to the file.



These amazing people are maintaining this project:

  • Benjamin Lupton (


No sponsors yet! Will you be the first?

Gratipay donate button Flattr donate button PayPayl donate button BitCoin donate button Wishlist browse button


These amazing people have contributed code to this project:

Become a contributor!


Unless stated otherwise all works are:

  • Copyright © 2012+ Bevry Pty Ltd (

and licensed under: