UNPKG

2.5 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.4.0
2(function() {
3 var Generator, Manifest, async, fs, path;
4
5 Manifest = require('./manifest');
6
7 Generator = require('./generator');
8
9 async = require('async');
10
11 fs = require('fs');
12
13 path = require('path');
14
15 exports.version = '1.0.0';
16
17 exports.Manifest = Manifest;
18
19 exports.Generator = Generator;
20
21 exports.open = function(filename, callback) {
22 return Manifest.load(filename, callback);
23 };
24
25 exports.createManifestFromDir = function(dir, callback) {
26 var m;
27 m = new Manifest({
28 title: path.basename(dir)
29 });
30 return fs.readdir(dir, function(err, files) {
31 var f, mdFiles, _i, _len;
32 mdFiles = [];
33 for (_i = 0, _len = files.length; _i < _len; _i++) {
34 f = files[_i];
35 if (path.extname(f) === '.md') {
36 mdFiles.push(path.join(dir, f));
37 }
38 }
39 return m.addFiles(mdFiles.sort(), function(err) {
40 return callback(err, m);
41 });
42 });
43 };
44
45 exports.generate = function(manifest, destDir, options, callback) {
46 var g;
47 if (options == null) {
48 options = {};
49 }
50 if (callback == null) {
51 callback = null;
52 }
53 g = new Generator(options);
54 if (options.templatesDir) {
55 return async.series([
56 (function(cb) {
57 return g.generate(manifest, destDir, cb);
58 })
59 ], function(err) {
60 if (callback) {
61 return callback(err);
62 }
63 });
64 } else {
65 return async.series([
66 (function(cb) {
67 return g.generate(manifest, destDir, cb);
68 }), (function(cb) {
69 return g.copyAssets(destDir, cb);
70 })
71 ], function(err) {
72 if (callback) {
73 return callback(err);
74 }
75 });
76 }
77 };
78
79 exports.generateIndex = function(title, manifests, filename, options, callback) {
80 var g;
81 if (options == null) {
82 options = {};
83 }
84 if (callback == null) {
85 callback = null;
86 }
87 g = new Generator(options);
88 return g.generateIndex(title, manifests, filename, callback);
89 };
90
91 exports.serveStaticDir = function(dir, port) {
92 var app, express,
93 _this = this;
94 if (port == null) {
95 port = 8080;
96 }
97 express = require('express');
98 app = express();
99 app.configure(function() {
100 app.use(express["static"](dir));
101 return app.use(express.errorHandler({
102 dumpExceptions: true,
103 showStack: true
104 }));
105 });
106 return app.listen(port);
107 };
108
109}).call(this);