aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jade/lib/jade.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jade/lib/jade.js')
-rw-r--r--node_modules/jade/lib/jade.js237
1 files changed, 0 insertions, 237 deletions
diff --git a/node_modules/jade/lib/jade.js b/node_modules/jade/lib/jade.js
deleted file mode 100644
index 00f0abb1d..000000000
--- a/node_modules/jade/lib/jade.js
+++ /dev/null
@@ -1,237 +0,0 @@
-/*!
- * Jade
- * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var Parser = require('./parser')
- , Lexer = require('./lexer')
- , Compiler = require('./compiler')
- , runtime = require('./runtime')
-// if node
- , fs = require('fs');
-// end
-
-/**
- * Library version.
- */
-
-exports.version = '0.26.3';
-
-/**
- * Expose self closing tags.
- */
-
-exports.selfClosing = require('./self-closing');
-
-/**
- * Default supported doctypes.
- */
-
-exports.doctypes = require('./doctypes');
-
-/**
- * Text filters.
- */
-
-exports.filters = require('./filters');
-
-/**
- * Utilities.
- */
-
-exports.utils = require('./utils');
-
-/**
- * Expose `Compiler`.
- */
-
-exports.Compiler = Compiler;
-
-/**
- * Expose `Parser`.
- */
-
-exports.Parser = Parser;
-
-/**
- * Expose `Lexer`.
- */
-
-exports.Lexer = Lexer;
-
-/**
- * Nodes.
- */
-
-exports.nodes = require('./nodes');
-
-/**
- * Jade runtime helpers.
- */
-
-exports.runtime = runtime;
-
-/**
- * Template function cache.
- */
-
-exports.cache = {};
-
-/**
- * Parse the given `str` of jade and return a function body.
- *
- * @param {String} str
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function parse(str, options){
- try {
- // Parse
- var parser = new Parser(str, options.filename, options);
-
- // Compile
- var compiler = new (options.compiler || Compiler)(parser.parse(), options)
- , js = compiler.compile();
-
- // Debug compiler
- if (options.debug) {
- console.error('\nCompiled Function:\n\n\033[90m%s\033[0m', js.replace(/^/gm, ' '));
- }
-
- return ''
- + 'var buf = [];\n'
- + (options.self
- ? 'var self = locals || {};\n' + js
- : 'with (locals || {}) {\n' + js + '\n}\n')
- + 'return buf.join("");';
- } catch (err) {
- parser = parser.context();
- runtime.rethrow(err, parser.filename, parser.lexer.lineno);
- }
-}
-
-/**
- * Compile a `Function` representation of the given jade `str`.
- *
- * Options:
- *
- * - `compileDebug` when `false` debugging code is stripped from the compiled template
- * - `client` when `true` the helper functions `escape()` etc will reference `jade.escape()`
- * for use with the Jade client-side runtime.js
- *
- * @param {String} str
- * @param {Options} options
- * @return {Function}
- * @api public
- */
-
-exports.compile = function(str, options){
- var options = options || {}
- , client = options.client
- , filename = options.filename
- ? JSON.stringify(options.filename)
- : 'undefined'
- , fn;
-
- if (options.compileDebug !== false) {
- fn = [
- 'var __jade = [{ lineno: 1, filename: ' + filename + ' }];'
- , 'try {'
- , parse(String(str), options)
- , '} catch (err) {'
- , ' rethrow(err, __jade[0].filename, __jade[0].lineno);'
- , '}'
- ].join('\n');
- } else {
- fn = parse(String(str), options);
- }
-
- if (client) {
- fn = 'attrs = attrs || jade.attrs; escape = escape || jade.escape; rethrow = rethrow || jade.rethrow; merge = merge || jade.merge;\n' + fn;
- }
-
- fn = new Function('locals, attrs, escape, rethrow, merge', fn);
-
- if (client) return fn;
-
- return function(locals){
- return fn(locals, runtime.attrs, runtime.escape, runtime.rethrow, runtime.merge);
- };
-};
-
-/**
- * Render the given `str` of jade and invoke
- * the callback `fn(err, str)`.
- *
- * Options:
- *
- * - `cache` enable template caching
- * - `filename` filename required for `include` / `extends` and caching
- *
- * @param {String} str
- * @param {Object|Function} options or fn
- * @param {Function} fn
- * @api public
- */
-
-exports.render = function(str, options, fn){
- // swap args
- if ('function' == typeof options) {
- fn = options, options = {};
- }
-
- // cache requires .filename
- if (options.cache && !options.filename) {
- return fn(new Error('the "filename" option is required for caching'));
- }
-
- try {
- var path = options.filename;
- var tmpl = options.cache
- ? exports.cache[path] || (exports.cache[path] = exports.compile(str, options))
- : exports.compile(str, options);
- fn(null, tmpl(options));
- } catch (err) {
- fn(err);
- }
-};
-
-/**
- * Render a Jade file at the given `path` and callback `fn(err, str)`.
- *
- * @param {String} path
- * @param {Object|Function} options or callback
- * @param {Function} fn
- * @api public
- */
-
-exports.renderFile = function(path, options, fn){
- var key = path + ':string';
-
- if ('function' == typeof options) {
- fn = options, options = {};
- }
-
- try {
- options.filename = path;
- var str = options.cache
- ? exports.cache[key] || (exports.cache[key] = fs.readFileSync(path, 'utf8'))
- : fs.readFileSync(path, 'utf8');
- exports.render(str, options, fn);
- } catch (err) {
- fn(err);
- }
-};
-
-/**
- * Express support.
- */
-
-exports.__express = exports.renderFile;