web-template-file-tree
v1.1.1
Published
Utility to index files in a directory based on relative path and cache contents
Downloads
4,154
Maintainers
Readme
Web Template File Tree
This is a utility that reads files from a directory and maintains a cache of file contents keyed off of relative file paths. It also keeps track of modification dates so that content can be reloaded when necessary.
Example
Files
- views/index.html
- views/widget.html
- views/comp/cta.html
Script
var FileTree = require('web-template-file-tree');
var fileTree = new FileTree(__dirname + '/views');
fileTree.load(function(err) {
if (err) {
console.error('unable to load templates:', err);
}
})
Results
fileTree.cache['index']
is the contents of the fileviews/index.html
fileTree.cache['widget']
is the contents of the fileviews/widget.html
fileTree.cache['comp/cta']
is the contents of the fileviews/comp/cta.html
Subsequent calls to fileTree.load()
will update fileTree.cache
.
Documentation
Constructor
FileTree(directoryPath, options)
directoryPath
{String} the path to the directory containing template filesoptions
{Object}extension
{String} (default 'html') the file extension to look for and exclude from cache keys
Instantiates file tree and initializes cache
to empty Object.
Instance Methods
load(callback)
callback
{Function} the callback, taking oneerror
argument
Asynchronously updates cache
property with keys corresponding to relative file paths (without extensions)
and values to file contents.
Passes error
argument to callback if unsuccessful.
For efficiency, it uses last modification timestamp to decide whether to re-read file contents into cache
.
save(callback)
callback
{Function} the callback, taking oneerror
argument
Asynchronously writes cache
to directory,
creating files with relative paths corresponding to keys
(without extensions) and file contents corresponding to values.
Passes error
argument to callback if unsuccessful.
--