summaryrefslogtreecommitdiff
path: root/node_modules/twig/lib/compile.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/twig/lib/compile.js')
-rw-r--r--node_modules/twig/lib/compile.js99
1 files changed, 0 insertions, 99 deletions
diff --git a/node_modules/twig/lib/compile.js b/node_modules/twig/lib/compile.js
deleted file mode 100644
index 15a6ebe..0000000
--- a/node_modules/twig/lib/compile.js
+++ /dev/null
@@ -1,99 +0,0 @@
-var Twig = require("../twig")
- , twig = Twig.twig
- , PATHS = require("./paths")
- , MINIMATCH = require("minimatch")
- , FS = require("fs")
- , WALK = require("walk");
-
-exports.defaults = {
- compress: false
- , pattern: "*\\.twig"
- , recursive: false
-};
-
-exports.compile = function(options, files) {
- // Create output template directory if necessary
- if (options.output) {
- PATHS.mkdir(options.output);
- }
-
- files.forEach(function(file) {
- FS.stat(file, function(err, stats) {
- if (stats.isDirectory()) {
- parseTemplateFolder(file, options.pattern);
- } else if (stats.isFile()) {
- parseTemplateFile(file);
- } else {
- console.log("ERROR " + file + ": Unable to stat file");
- }
- });
- });
-
- function parseTemplateFolder(directory, pattern) {
- directory = PATHS.strip_slash(directory);
-
- // Get the files in the directory
- // Walker options
- var walker = WALK.walk(directory, { followLinks: false })
- , files = [];
-
- walker.on('file', function(root, stat, next) {
- // normalize (remove / from end if present)
- root = PATHS.strip_slash(root);
-
- // match against file pattern
- var name = stat.name
- , file = root + '/' + name;
- if (MINIMATCH(name, pattern)) {
- parseTemplateFile(file, directory);
- files.push(file);
- }
- next();
- });
-
- walker.on('end', function() {
- // console.log(files);
- });
- }
-
- function parseTemplateFile(file, base) {
- if (base) base = PATHS.strip_slash(base);
- var split_file = file.split("/")
- , output_file_name = split_file.pop()
- , output_file_base = PATHS.findBase(file)
- , output_directory = options.output
- , output_base = PATHS.removePath(base, output_file_base)
- , output_id
- , output_file;
-
- if (output_directory) {
- // Create template directory
- if (output_base !== "") {
- PATHS.mkdir(output_directory + "/" + output_base);
- output_base += "/";
- }
- output_id = output_directory + "/" + output_base + output_file_name;
- output_file = output_id + ".js"
- } else {
- output_id = file;
- output_file = output_id + ".js"
- }
-
- var tpl = twig({
- id: output_id
- , path: file
- , load: function(template) {
- // compile!
- var output = template.compile(options);
-
- FS.writeFile(output_file, output, 'utf8', function(err) {
- if (err) {
- console.log("Unable to compile " + file + ", error " + err);
- } else {
- console.log("Compiled " + file + "\t-> " + output_file);
- }
- });
- }
- });
- }
-}; \ No newline at end of file