From d6706efe7f6316ce1a6ffe33f7bc3e161553b94d Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Tue, 28 Aug 2012 12:53:30 -0700 Subject: chore(docs): use symlinks to build docs so that we can just edit source files without rebuilding docs. this works for all docs files, except for those that are generated or rewritten during build. --- docs/src/gen-docs.js | 47 ++++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) (limited to 'docs/src/gen-docs.js') diff --git a/docs/src/gen-docs.js b/docs/src/gen-docs.js index aac9134b..e0a67dc6 100755 --- a/docs/src/gen-docs.js +++ b/docs/src/gen-docs.js @@ -12,8 +12,10 @@ process.on('uncaughtException', function(err) { var start = now(); var docs; -writer.makeDir('build/docs/syntaxhighlighter').then(function() { - console.log('Generating Angular Reference Documentation...'); +writer.makeDir('build/docs/', true).then(function() { + return writer.makeDir('build/docs/partials/'); +}).then(function() { + console.log('Generating AngularJS Reference Documentation...'); return reader.collect(); }).then(function generateHtmlDocPartials(docs_) { docs = docs_; @@ -41,8 +43,10 @@ writer.makeDir('build/docs/syntaxhighlighter').then(function() { function writeTheRest(writesFuture) { var metadata = ngdoc.metadata(docs); - writesFuture.push(writer.copyDir('img')); - writesFuture.push(writer.copyDir('font')); + writesFuture.push(writer.symlinkTemplate('css')); + writesFuture.push(writer.symlinkTemplate('font')); + writesFuture.push(writer.symlinkTemplate('img')); + writesFuture.push(writer.symlinkTemplate('js')); var manifest = 'manifest="/build/docs/appcache.manifest"'; @@ -66,38 +70,27 @@ function writeTheRest(writesFuture) { writesFuture.push(writer.copy('docs/src/templates/index.html', 'index-jq-debug.html', writer.replace, {'doc:manifest': ''})); - writesFuture.push(writer.copyTpl('offline.html')); - writesFuture.push(writer.copyTpl('docs-scenario.html')); - writesFuture.push(writer.copyTpl('js/jquery.min.js')); - writesFuture.push(writer.copyTpl('js/jquery.js')); + writesFuture.push(writer.symlinkTemplate('offline.html')); - writesFuture.push(writer.output('js/docs-keywords.js', + writesFuture.push(writer.copyTemplate('docs-scenario.html')); // will be rewritten, don't symlink + writesFuture.push(writer.output('docs-scenario.js', ngdoc.scenarios(docs))); + + writesFuture.push(writer.output('docs-keywords.js', ['NG_PAGES=', JSON.stringify(metadata).replace(/{/g, '\n{'), ';'])); writesFuture.push(writer.output('sitemap.xml', new SiteMap(docs).render())); - writesFuture.push(writer.output('docs-scenario.js', ngdoc.scenarios(docs))); + writesFuture.push(writer.output('robots.txt', 'Sitemap: http://docs.angularjs.org/sitemap.xml\n')); writesFuture.push(writer.output('appcache.manifest',appCache())); - writesFuture.push(writer.copyTpl('.htaccess')); + writesFuture.push(writer.copyTemplate('.htaccess')); // will be rewritten, don't symlink - writesFuture.push(writer.copy('docs/src/templates/js/docs.js', 'js/docs.js')); - - writesFuture.push(writer.copy('docs/src/templates/css/bootstrap.min.css', 'css/bootstrap.min.css')); - writesFuture.push(writer.copy('docs/src/templates/css/docs.css', 'css/docs.css')); - writesFuture.push(writer.copy('docs/src/templates/css/font-awesome.css', 'css/font-awesome.css')); - - writesFuture.push(writer.copyTpl('font/fontawesome-webfont.eot')); - writesFuture.push(writer.copyTpl('font/fontawesome-webfont.svg')); - writesFuture.push(writer.copyTpl('font/fontawesome-webfont.svgz')); - writesFuture.push(writer.copyTpl('font/fontawesome-webfont.ttf')); - writesFuture.push(writer.copyTpl('font/fontawesome-webfont.woff')); - - writesFuture.push(writer.copyTpl('app.yaml')); - writesFuture.push(writer.copyTpl('index.yaml')); - writesFuture.push(writer.copyTpl('favicon.ico')); - writesFuture.push(writer.copyTpl('main.py')); + writesFuture.push(writer.symlinkTemplate('app.yaml')); + writesFuture.push(writer.symlinkTemplate('index.yaml')); + writesFuture.push(writer.symlinkTemplate('favicon.ico')); + writesFuture.push(writer.symlinkTemplate('main.py')); } function now() { return new Date().getTime(); } function noop() {}; + -- cgit v1.2.3