diff options
Diffstat (limited to 'app/node_modules/oktemplate')
| -rw-r--r-- | app/node_modules/oktemplate/index.js | 36 | ||||
| -rw-r--r-- | app/node_modules/oktemplate/package.json | 15 |
2 files changed, 51 insertions, 0 deletions
diff --git a/app/node_modules/oktemplate/index.js b/app/node_modules/oktemplate/index.js new file mode 100644 index 0000000..4aec98b --- /dev/null +++ b/app/node_modules/oktemplate/index.js @@ -0,0 +1,36 @@ +var fs = require('fs'); +var path = require('path'); +var glob = require('glob'); +var hogan = require('hogan.js'); + +/** + * Manages templates. Only supports Mustache currently/ + */ +function OKTemplateRepo(options) { + options = options || {}; + this._root = options.root || 'www'; + this._ext = options.ext || '.mustache'; + this._cache = {}; + this._populateCache(this._cache); +} + +OKTemplateRepo.prototype.getTemplate = function getTemplate(name) { + return this._cache[name]; +} + +/** + * Go through our template dir and read the template files + * into memory as strings. + * Assumes all templates fit into memory. + */ +OKTemplateRepo.prototype._populateCache = function _populateCache(cache) { + var self = this; + var files = glob.sync(this._root + '/*' + this._ext); + files.forEach(function eachFile(file) { + var name = path.basename(file, self._ext); + var templateString = fs.readFileSync(file, {encoding: 'UTF8'}); + cache[name] = hogan.compile(templateString); + }); +} + +module.exports = OKTemplateRepo; diff --git a/app/node_modules/oktemplate/package.json b/app/node_modules/oktemplate/package.json new file mode 100644 index 0000000..c32e098 --- /dev/null +++ b/app/node_modules/oktemplate/package.json @@ -0,0 +1,15 @@ +{ + "name": "oktemplate", + "version": "1.0.0", + "description": "nice", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "OKFocus", + "license": "None", + "dependencies": { + "glob": "^5.0.3", + "hogan.js": "^3.0.2" + } +} |
