diff options
| -rw-r--r-- | docs/spec/writerSpec.js | 16 | ||||
| -rwxr-xr-x | docs/src/gen-docs.js | 29 | ||||
| -rw-r--r-- | docs/src/templates/index.html | 4 | ||||
| -rw-r--r-- | docs/src/writer.js | 29 |
4 files changed, 66 insertions, 12 deletions
diff --git a/docs/spec/writerSpec.js b/docs/spec/writerSpec.js index 8354ad5d..a44e283c 100644 --- a/docs/spec/writerSpec.js +++ b/docs/spec/writerSpec.js @@ -15,4 +15,20 @@ describe('writer', function(){ expect(toString(['abc',{}])).toEqual('abc{}'); }); }); + + describe('replace method', function() { + var content, + replacements; + + beforeEach(function() { + content = 'angular super jQuery manifest'; + }); + + it('should replace placeholders', function() { + replacements = {'angular': 'ng', 'jQuery': 'jqlite','notHere': 'here'}; + + content = writer.replace(content, replacements); + expect(content).toBe('ng super jqlite manifest'); + }); + }); }); diff --git a/docs/src/gen-docs.js b/docs/src/gen-docs.js index 4649bec3..93d0038e 100755 --- a/docs/src/gen-docs.js +++ b/docs/src/gen-docs.js @@ -42,11 +42,30 @@ function writeTheRest(writesFuture) { writesFuture.push(writer.copyDir('img')); writesFuture.push(writer.copyDir('examples')); - writesFuture.push(writer.copyTpl('index.html')); - writesFuture.push(writer.copy('docs/src/templates/index.html', - 'build/docs/index-jq.html', - '<!-- jquery place holder -->', - '<script src=\"jquery.min.js\"><\/script>')); + + var manifest = 'manifest="appcache.manifest"', + jq = '<script src="jquery.min.js"></script>', + ngMin = '<script src="../angular.min.js" ng:autobind></script>', + ng = '<script src="../angular.js" ng:autobind></script>' + + writesFuture.push(writer.copy('docs/src/templates/index.html', 'build/docs/index.html', + writer.replace, {'doc:manifest': manifest, + '<!-- angular script place holder -->': ngMin})); + + writesFuture.push(writer.copy('docs/src/templates/index.html', 'build/docs/index-jq.html', + writer.replace, {'doc:manifest': manifest, + '<!-- angular script place holder -->': ngMin, + '<!-- jquery place holder -->': jq})); + + writesFuture.push(writer.copy('docs/src/templates/index.html', 'build/docs/index-debug.html', + writer.replace, {'doc:manifest': '', + '<!-- angular script place holder -->': ng})); + + writesFuture.push(writer.copy('docs/src/templates/index.html', 'build/docs/index-jq-debug.html', + writer.replace, {'doc:manifest': '', + '<!-- angular script place holder -->': ng, + '<!-- jquery place holder -->': jq})); + writesFuture.push(writer.copyTpl('offline.html')); writesFuture.push(writer.copyTpl('docs-scenario.html')); writesFuture.push(writer.copyTpl('jquery.min.js')); diff --git a/docs/src/templates/index.html b/docs/src/templates/index.html index 26c1eaec..d5cfaed2 100644 --- a/docs/src/templates/index.html +++ b/docs/src/templates/index.html @@ -2,7 +2,7 @@ <html xmlns:ng="http://angularjs.org/" xmlns:doc="http://docs.angularjs.org/" ng:controller="DocsController" - manifest="appcache.manifest"> + doc:manifest> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title ng:bind-template="AngularJS: {{partialTitle}}">AngularJS</title> @@ -103,7 +103,7 @@ <script src="syntaxhighlighter/syntaxhighlighter-combined.js"></script> <!-- jquery place holder --> - <script src="../angular.min.js" ng:autobind></script> + <!-- angular script place holder --> <script src="docs-combined.js"></script> <script src="docs-keywords.js"></script> </body> diff --git a/docs/src/writer.js b/docs/src/writer.js index b33e4164..5aa8f566 100644 --- a/docs/src/writer.js +++ b/docs/src/writer.js @@ -44,16 +44,35 @@ exports.copyTpl = function(filename) { return exports.copy('docs/src/templates/' + filename, OUTPUT_DIR + filename); }; -exports.copy = function (from, to, replacementKey, replacement) { - // Have to use rb (read binary), char 'r' is infered by library. - return qfs.read(from,'b').then(function(content) { - if(replacementKey && replacement) { - content = content.toString().replace(replacementKey, replacement); +/* Copy files from one place to another. + * @param from{string} path of the source file to be copied + * @param to{string} path of where the copied file should be stored + * @param transform{function=} transfromation function to be applied before return + */ +exports.copy = function(from, to, transform) { + var args = Array.prototype.slice.call(arguments, 3); + + // We have to use binary reading, Since some characters are unicode. + return qfs.read(from, 'b').then(function(content) { + if (transform) { + args.unshift(content.toString()); + content = transform.apply(null, args); } qfs.write(to, content); }); } +/* Replace placeholders in content accordingly + * @param content{string} content to be modified + * @param replacements{obj} key and value pairs in which key will be replaced with value in content + */ +exports.replace = function(content, replacements) { + for(key in replacements) { + content = content.replace(key, replacements[key]); + } + return content; +} + exports.copyDir = function copyDir(dir) { return qfs.listDirectoryTree('docs/' + dir).then(function(dirs) { var done; |
