aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDi Peng2011-08-20 08:51:00 -0700
committerIgor Minar2011-08-24 15:03:09 -0700
commit19401280aed9d4767faddcf58fab91ec13c556a9 (patch)
treee3b3d6a45224077f8554d22953a8319f1faf194f
parent08a33e7bb377a4d47917dbf5fabbe59b562f1e04 (diff)
downloadangular.js-19401280aed9d4767faddcf58fab91ec13c556a9.tar.bz2
feat(doc): generate both normal and debug version of index.html
- index.html has manifest file and angular.min.js - index-jq.html has manifest file, angular.min.js and jquery.min.js - index-debug.html has angular.js - index-jq-debug.html has angular.js and jquery.min.js
-rw-r--r--docs/spec/writerSpec.js16
-rwxr-xr-xdocs/src/gen-docs.js29
-rw-r--r--docs/src/templates/index.html4
-rw-r--r--docs/src/writer.js29
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;