diff --git a/docs/app/src/examples.js b/docs/app/src/examples.js index fca74d9fc21a..a5434f0364f7 100644 --- a/docs/app/src/examples.js +++ b/docs/app/src/examples.js @@ -181,9 +181,8 @@ angular.module('examples', []) filePromises.push($http.get(exampleFolder + '/' + filename, { transformResponse: [] }) .then(function(response) { - // The manifests provide the production index file but Plunkr wants - // a straight index.html - if (filename === 'index-production.html') { + // Plunkr needs an index file that's simply named index.html + if (filename === 'index-plnkr.html') { filename = 'index.html'; } diff --git a/docs/config/index.js b/docs/config/index.js index 4ec1423c65a0..c4662d3197eb 100644 --- a/docs/config/index.js +++ b/docs/config/index.js @@ -23,6 +23,7 @@ module.exports = new Package('angularjs', [ .factory(require('./services/deployments/default')) .factory(require('./services/deployments/jquery')) .factory(require('./services/deployments/production')) +.factory(require('./services/deployments/plnkr')) .factory(require('./inline-tag-defs/type')) @@ -150,7 +151,8 @@ module.exports = new Package('angularjs', [ generateProtractorTestsProcessor, generateExamplesProcessor, debugDeployment, defaultDeployment, - jqueryDeployment, productionDeployment) { + jqueryDeployment, productionDeployment, + plnkrDeployment) { generateIndexPagesProcessor.deployments = [ debugDeployment, @@ -170,7 +172,8 @@ module.exports = new Package('angularjs', [ debugDeployment, defaultDeployment, jqueryDeployment, - productionDeployment + productionDeployment, + plnkrDeployment ]; }) diff --git a/docs/config/services/deployments/plnkr.js b/docs/config/services/deployments/plnkr.js new file mode 100644 index 000000000000..f6967bc5abd8 --- /dev/null +++ b/docs/config/services/deployments/plnkr.js @@ -0,0 +1,49 @@ +'use strict'; +// Special deployment that is only used for the examples on plnkr. +// While the embedded examples use the Angular files relative the docs folder, +// plnkr uses the CDN urls, and needs to switch between Google CDN for tagged versions +// and the code.angularjs.org server for the snapshot (master) version. + +var versionInfo = require('../../../../lib/versions/version-info'); +var isSnapshot = versionInfo.currentVersion.isSnapshot; + +var cdnUrl = isSnapshot ? + '//code.angularjs.org/snapshot' : + '//ajax.googleapis.com/ajax/libs/angularjs/' + versionInfo.cdnVersion; + +module.exports = function plnkrDeployment(getVersion) { + return { + name: 'plnkr', + examples: { + commonFiles: { + scripts: [cdnUrl + '/angular.min.js'] + }, + dependencyPath: cdnUrl + '/' + }, + scripts: [ + cdnUrl + '/angular.min.js', + cdnUrl + '/angular-resource.min.js', + cdnUrl + '/angular-route.min.js', + cdnUrl + '/angular-cookies.min.js', + cdnUrl + '/angular-sanitize.min.js', + cdnUrl + '/angular-touch.min.js', + cdnUrl + '/angular-animate.min.js', + 'components/marked-' + getVersion('marked', 'node_modules', 'package.json') + '/lib/marked.js', + 'js/angular-bootstrap/dropdown-toggle.min.js', + 'components/lunr.js-' + getVersion('lunr.js') + '/lunr.min.js', + 'components/google-code-prettify-' + getVersion('google-code-prettify') + '/src/prettify.js', + 'components/google-code-prettify-' + getVersion('google-code-prettify') + '/src/lang-css.js', + 'js/versions-data.js', + 'js/pages-data.js', + 'js/nav-data.js', + 'js/docs.min.js' + ], + stylesheets: [ + 'components/bootstrap-' + getVersion('bootstrap') + '/css/bootstrap.min.css', + 'components/open-sans-fontface-' + getVersion('open-sans-fontface') + '/open-sans.css', + 'css/prettify-theme.css', + 'css/docs.css', + 'css/animations.css' + ] + }; +};