# Text Plugin for [DocPad](http://docpad.org) [![Build Status](https://secure.travis-ci.org/docpad/docpad-plugin-text.png?branch=master)](http://travis-ci.org/docpad/docpad-plugin-text "Check this project's build status on TravisCI") [![NPM version](https://badge.fury.io/js/docpad-plugin-text.png)](https://npmjs.org/package/docpad-plugin-text "View this project on NPM") [![Flattr donate button](https://raw.github.com/balupton/flattr-buttons/master/badge-89x18.gif)](http://flattr.com/thing/344188/balupton-on-Flattr "Donate monthly to this project using Flattr") [![PayPayl donate button](https://www.paypalobjects.com/en_AU/i/btn/btn_donate_SM.gif)](https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=IHj3DG3oy_N9A9ZDIUnPksOi59v0i-EWDTunfmDrmU38Tuohg_xQTx0xcjq&dispatch=5885d80a13c0db1f8e263663d3faee8d14f86393d55a810282b64afed84968ec "Donate once-off to this project using Paypal") This plugin allows you to render variables within `templateData` using text elements E.g. if you have this in your `docpad.cson` ``` coffeescript { templateData: firstname: 'Benjamin' lastname: 'Lupton' fullname: 'firstname lastname' markdownExample: 'this is so **awesome**' markdownEcoExample: 'here is a random number: **<%- Math.random() %>**' } ``` Doing the following inside a document: ``` html My creator's firstname is: firstname My creator's lastname is: lastname My creator's fullname is: fullname The markdown example is: markdownExample The markdown eco example is: markdownEcoExample ``` Will output: ``` html 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 awesome The markdown eco example is: here is a random number: 0.5123213213123 ``` 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 `blah` that way our parser won't get confused as easily :) To use it with [coffeekup](http://coffeekup.org/) you'll do it like so `tag 'text', {render:"md"}, "your **markdown** content"`. [More info here.](https://github.com/bevry/docpad/issues/194#issuecomment-11363441). Alternatively, you can use the `t` template helper like so `@t('*markdown*', {render="markdown"})` ## Install To use this plugin with DocPad, simply run `npm install docpad-plugin-text` inside your website's directory. You'd probably also want to add `"docpad-plugin-text": "latest"` to your `package.json` dependencies. ## History [You can discover the history inside the `History.md` file](https://github.com/bevry/docpad-plugin-text/blob/master/History.md#files) ## Contributing [You can discover the contributing instructions inside the `Contributing.md` file](https://github.com/bevry/docpad-plugin-text/blob/master/Contributing.md#files) ## License Licensed under the incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://creativecommons.org/licenses/MIT/)
Copyright © 2012+ [Bevry Pty Ltd](http://bevry.me)