diff --git a/.gitignore b/.gitignore index 86cbd7b0c8..c257b2da90 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,15 @@ coverage server/*.bundle.js public/js/*.bundle.js + *.map + +// revision manifest +public/js/main* +public/js/commonFramework* +public/js/sandbox* +public/js/iFrameScripts* +public/js/plugin* +public/css/main* + +server/rev-manifest.json diff --git a/client/README.md b/client/README.md index 5ba2586944..b722fceb9c 100644 --- a/client/README.md +++ b/client/README.md @@ -1,4 +1,4 @@ -This is the entry point for the client +This is the entry point for the client code Code that should only run on the client should be put here. NOTE(berks): For react specific stuff this should be the entry point diff --git a/public/js/lib/coursewares/commonFrameWork_0.0.7.js b/client/commonFramework.js similarity index 99% rename from public/js/lib/coursewares/commonFrameWork_0.0.7.js rename to client/commonFramework.js index b712a9cb35..9f6210f1c0 100644 --- a/public/js/lib/coursewares/commonFrameWork_0.0.7.js +++ b/client/commonFramework.js @@ -130,7 +130,7 @@ var libraryIncludes = ""; +var iFrameScript = ""; var delay; // Initialize CodeMirror editor with a nice html5 canvas demo. diff --git a/public/js/lib/coursewares/iFrameScripts_0.0.4.js b/client/iFrameScripts.js similarity index 100% rename from public/js/lib/coursewares/iFrameScripts_0.0.4.js rename to client/iFrameScripts.js diff --git a/public/css/lib/Vimeo.css b/client/less/lib/Vimeo.css similarity index 100% rename from public/css/lib/Vimeo.css rename to client/less/lib/Vimeo.css diff --git a/public/css/lib/animate.min.less b/client/less/lib/animate.min.less similarity index 100% rename from public/css/lib/animate.min.less rename to client/less/lib/animate.min.less diff --git a/public/css/lib/bootstrap-social/bootstrap-social.less b/client/less/lib/bootstrap-social/bootstrap-social.less similarity index 100% rename from public/css/lib/bootstrap-social/bootstrap-social.less rename to client/less/lib/bootstrap-social/bootstrap-social.less diff --git a/public/css/lib/bootstrap/alerts.less b/client/less/lib/bootstrap/alerts.less similarity index 100% rename from public/css/lib/bootstrap/alerts.less rename to client/less/lib/bootstrap/alerts.less diff --git a/public/css/lib/bootstrap/badges.less b/client/less/lib/bootstrap/badges.less similarity index 100% rename from public/css/lib/bootstrap/badges.less rename to client/less/lib/bootstrap/badges.less diff --git a/public/css/lib/bootstrap/bootstrap.less b/client/less/lib/bootstrap/bootstrap.less similarity index 100% rename from public/css/lib/bootstrap/bootstrap.less rename to client/less/lib/bootstrap/bootstrap.less diff --git a/public/css/lib/bootstrap/breadcrumbs.less b/client/less/lib/bootstrap/breadcrumbs.less similarity index 100% rename from public/css/lib/bootstrap/breadcrumbs.less rename to client/less/lib/bootstrap/breadcrumbs.less diff --git a/public/css/lib/bootstrap/button-groups.less b/client/less/lib/bootstrap/button-groups.less similarity index 100% rename from public/css/lib/bootstrap/button-groups.less rename to client/less/lib/bootstrap/button-groups.less diff --git a/public/css/lib/bootstrap/buttons.less b/client/less/lib/bootstrap/buttons.less similarity index 100% rename from public/css/lib/bootstrap/buttons.less rename to client/less/lib/bootstrap/buttons.less diff --git a/public/css/lib/bootstrap/carousel.less b/client/less/lib/bootstrap/carousel.less similarity index 100% rename from public/css/lib/bootstrap/carousel.less rename to client/less/lib/bootstrap/carousel.less diff --git a/public/css/lib/bootstrap/close.less b/client/less/lib/bootstrap/close.less similarity index 100% rename from public/css/lib/bootstrap/close.less rename to client/less/lib/bootstrap/close.less diff --git a/public/css/lib/bootstrap/code.less b/client/less/lib/bootstrap/code.less similarity index 100% rename from public/css/lib/bootstrap/code.less rename to client/less/lib/bootstrap/code.less diff --git a/public/css/lib/bootstrap/component-animations.less b/client/less/lib/bootstrap/component-animations.less similarity index 100% rename from public/css/lib/bootstrap/component-animations.less rename to client/less/lib/bootstrap/component-animations.less diff --git a/public/css/lib/bootstrap/dropdowns.less b/client/less/lib/bootstrap/dropdowns.less similarity index 100% rename from public/css/lib/bootstrap/dropdowns.less rename to client/less/lib/bootstrap/dropdowns.less diff --git a/public/css/lib/bootstrap/forms.less b/client/less/lib/bootstrap/forms.less similarity index 100% rename from public/css/lib/bootstrap/forms.less rename to client/less/lib/bootstrap/forms.less diff --git a/public/css/lib/bootstrap/glyphicons.less b/client/less/lib/bootstrap/glyphicons.less similarity index 100% rename from public/css/lib/bootstrap/glyphicons.less rename to client/less/lib/bootstrap/glyphicons.less diff --git a/public/css/lib/bootstrap/grid.less b/client/less/lib/bootstrap/grid.less similarity index 100% rename from public/css/lib/bootstrap/grid.less rename to client/less/lib/bootstrap/grid.less diff --git a/public/css/lib/bootstrap/input-groups.less b/client/less/lib/bootstrap/input-groups.less similarity index 100% rename from public/css/lib/bootstrap/input-groups.less rename to client/less/lib/bootstrap/input-groups.less diff --git a/public/css/lib/bootstrap/jumbotron.less b/client/less/lib/bootstrap/jumbotron.less similarity index 100% rename from public/css/lib/bootstrap/jumbotron.less rename to client/less/lib/bootstrap/jumbotron.less diff --git a/public/css/lib/bootstrap/labels.less b/client/less/lib/bootstrap/labels.less similarity index 100% rename from public/css/lib/bootstrap/labels.less rename to client/less/lib/bootstrap/labels.less diff --git a/public/css/lib/bootstrap/list-group.less b/client/less/lib/bootstrap/list-group.less similarity index 100% rename from public/css/lib/bootstrap/list-group.less rename to client/less/lib/bootstrap/list-group.less diff --git a/public/css/lib/bootstrap/media.less b/client/less/lib/bootstrap/media.less similarity index 100% rename from public/css/lib/bootstrap/media.less rename to client/less/lib/bootstrap/media.less diff --git a/public/css/lib/bootstrap/mixins.less b/client/less/lib/bootstrap/mixins.less similarity index 100% rename from public/css/lib/bootstrap/mixins.less rename to client/less/lib/bootstrap/mixins.less diff --git a/public/css/lib/bootstrap/mixins/alerts.less b/client/less/lib/bootstrap/mixins/alerts.less similarity index 100% rename from public/css/lib/bootstrap/mixins/alerts.less rename to client/less/lib/bootstrap/mixins/alerts.less diff --git a/public/css/lib/bootstrap/mixins/background-variant.less b/client/less/lib/bootstrap/mixins/background-variant.less similarity index 100% rename from public/css/lib/bootstrap/mixins/background-variant.less rename to client/less/lib/bootstrap/mixins/background-variant.less diff --git a/public/css/lib/bootstrap/mixins/border-radius.less b/client/less/lib/bootstrap/mixins/border-radius.less similarity index 100% rename from public/css/lib/bootstrap/mixins/border-radius.less rename to client/less/lib/bootstrap/mixins/border-radius.less diff --git a/public/css/lib/bootstrap/mixins/buttons.less b/client/less/lib/bootstrap/mixins/buttons.less similarity index 100% rename from public/css/lib/bootstrap/mixins/buttons.less rename to client/less/lib/bootstrap/mixins/buttons.less diff --git a/public/css/lib/bootstrap/mixins/center-block.less b/client/less/lib/bootstrap/mixins/center-block.less similarity index 100% rename from public/css/lib/bootstrap/mixins/center-block.less rename to client/less/lib/bootstrap/mixins/center-block.less diff --git a/public/css/lib/bootstrap/mixins/clearfix.less b/client/less/lib/bootstrap/mixins/clearfix.less similarity index 100% rename from public/css/lib/bootstrap/mixins/clearfix.less rename to client/less/lib/bootstrap/mixins/clearfix.less diff --git a/public/css/lib/bootstrap/mixins/forms.less b/client/less/lib/bootstrap/mixins/forms.less similarity index 100% rename from public/css/lib/bootstrap/mixins/forms.less rename to client/less/lib/bootstrap/mixins/forms.less diff --git a/public/css/lib/bootstrap/mixins/gradients.less b/client/less/lib/bootstrap/mixins/gradients.less similarity index 100% rename from public/css/lib/bootstrap/mixins/gradients.less rename to client/less/lib/bootstrap/mixins/gradients.less diff --git a/public/css/lib/bootstrap/mixins/grid-framework.less b/client/less/lib/bootstrap/mixins/grid-framework.less similarity index 100% rename from public/css/lib/bootstrap/mixins/grid-framework.less rename to client/less/lib/bootstrap/mixins/grid-framework.less diff --git a/public/css/lib/bootstrap/mixins/grid.less b/client/less/lib/bootstrap/mixins/grid.less similarity index 100% rename from public/css/lib/bootstrap/mixins/grid.less rename to client/less/lib/bootstrap/mixins/grid.less diff --git a/public/css/lib/bootstrap/mixins/hide-text.less b/client/less/lib/bootstrap/mixins/hide-text.less similarity index 100% rename from public/css/lib/bootstrap/mixins/hide-text.less rename to client/less/lib/bootstrap/mixins/hide-text.less diff --git a/public/css/lib/bootstrap/mixins/image.less b/client/less/lib/bootstrap/mixins/image.less similarity index 100% rename from public/css/lib/bootstrap/mixins/image.less rename to client/less/lib/bootstrap/mixins/image.less diff --git a/public/css/lib/bootstrap/mixins/labels.less b/client/less/lib/bootstrap/mixins/labels.less similarity index 100% rename from public/css/lib/bootstrap/mixins/labels.less rename to client/less/lib/bootstrap/mixins/labels.less diff --git a/public/css/lib/bootstrap/mixins/list-group.less b/client/less/lib/bootstrap/mixins/list-group.less similarity index 100% rename from public/css/lib/bootstrap/mixins/list-group.less rename to client/less/lib/bootstrap/mixins/list-group.less diff --git a/public/css/lib/bootstrap/mixins/nav-divider.less b/client/less/lib/bootstrap/mixins/nav-divider.less similarity index 100% rename from public/css/lib/bootstrap/mixins/nav-divider.less rename to client/less/lib/bootstrap/mixins/nav-divider.less diff --git a/public/css/lib/bootstrap/mixins/nav-vertical-align.less b/client/less/lib/bootstrap/mixins/nav-vertical-align.less similarity index 100% rename from public/css/lib/bootstrap/mixins/nav-vertical-align.less rename to client/less/lib/bootstrap/mixins/nav-vertical-align.less diff --git a/public/css/lib/bootstrap/mixins/opacity.less b/client/less/lib/bootstrap/mixins/opacity.less similarity index 100% rename from public/css/lib/bootstrap/mixins/opacity.less rename to client/less/lib/bootstrap/mixins/opacity.less diff --git a/public/css/lib/bootstrap/mixins/pagination.less b/client/less/lib/bootstrap/mixins/pagination.less similarity index 100% rename from public/css/lib/bootstrap/mixins/pagination.less rename to client/less/lib/bootstrap/mixins/pagination.less diff --git a/public/css/lib/bootstrap/mixins/panels.less b/client/less/lib/bootstrap/mixins/panels.less similarity index 100% rename from public/css/lib/bootstrap/mixins/panels.less rename to client/less/lib/bootstrap/mixins/panels.less diff --git a/public/css/lib/bootstrap/mixins/progress-bar.less b/client/less/lib/bootstrap/mixins/progress-bar.less similarity index 100% rename from public/css/lib/bootstrap/mixins/progress-bar.less rename to client/less/lib/bootstrap/mixins/progress-bar.less diff --git a/public/css/lib/bootstrap/mixins/reset-filter.less b/client/less/lib/bootstrap/mixins/reset-filter.less similarity index 100% rename from public/css/lib/bootstrap/mixins/reset-filter.less rename to client/less/lib/bootstrap/mixins/reset-filter.less diff --git a/public/css/lib/bootstrap/mixins/resize.less b/client/less/lib/bootstrap/mixins/resize.less similarity index 100% rename from public/css/lib/bootstrap/mixins/resize.less rename to client/less/lib/bootstrap/mixins/resize.less diff --git a/public/css/lib/bootstrap/mixins/responsive-visibility.less b/client/less/lib/bootstrap/mixins/responsive-visibility.less similarity index 100% rename from public/css/lib/bootstrap/mixins/responsive-visibility.less rename to client/less/lib/bootstrap/mixins/responsive-visibility.less diff --git a/public/css/lib/bootstrap/mixins/size.less b/client/less/lib/bootstrap/mixins/size.less similarity index 100% rename from public/css/lib/bootstrap/mixins/size.less rename to client/less/lib/bootstrap/mixins/size.less diff --git a/public/css/lib/bootstrap/mixins/tab-focus.less b/client/less/lib/bootstrap/mixins/tab-focus.less similarity index 100% rename from public/css/lib/bootstrap/mixins/tab-focus.less rename to client/less/lib/bootstrap/mixins/tab-focus.less diff --git a/public/css/lib/bootstrap/mixins/table-row.less b/client/less/lib/bootstrap/mixins/table-row.less similarity index 100% rename from public/css/lib/bootstrap/mixins/table-row.less rename to client/less/lib/bootstrap/mixins/table-row.less diff --git a/public/css/lib/bootstrap/mixins/text-emphasis.less b/client/less/lib/bootstrap/mixins/text-emphasis.less similarity index 100% rename from public/css/lib/bootstrap/mixins/text-emphasis.less rename to client/less/lib/bootstrap/mixins/text-emphasis.less diff --git a/public/css/lib/bootstrap/mixins/text-overflow.less b/client/less/lib/bootstrap/mixins/text-overflow.less similarity index 100% rename from public/css/lib/bootstrap/mixins/text-overflow.less rename to client/less/lib/bootstrap/mixins/text-overflow.less diff --git a/public/css/lib/bootstrap/mixins/vendor-prefixes.less b/client/less/lib/bootstrap/mixins/vendor-prefixes.less similarity index 100% rename from public/css/lib/bootstrap/mixins/vendor-prefixes.less rename to client/less/lib/bootstrap/mixins/vendor-prefixes.less diff --git a/public/css/lib/bootstrap/modals.less b/client/less/lib/bootstrap/modals.less similarity index 100% rename from public/css/lib/bootstrap/modals.less rename to client/less/lib/bootstrap/modals.less diff --git a/public/css/lib/bootstrap/navbar.less b/client/less/lib/bootstrap/navbar.less similarity index 100% rename from public/css/lib/bootstrap/navbar.less rename to client/less/lib/bootstrap/navbar.less diff --git a/public/css/lib/bootstrap/navs.less b/client/less/lib/bootstrap/navs.less similarity index 100% rename from public/css/lib/bootstrap/navs.less rename to client/less/lib/bootstrap/navs.less diff --git a/public/css/lib/bootstrap/normalize.less b/client/less/lib/bootstrap/normalize.less similarity index 100% rename from public/css/lib/bootstrap/normalize.less rename to client/less/lib/bootstrap/normalize.less diff --git a/public/css/lib/bootstrap/pager.less b/client/less/lib/bootstrap/pager.less similarity index 100% rename from public/css/lib/bootstrap/pager.less rename to client/less/lib/bootstrap/pager.less diff --git a/public/css/lib/bootstrap/pagination.less b/client/less/lib/bootstrap/pagination.less similarity index 100% rename from public/css/lib/bootstrap/pagination.less rename to client/less/lib/bootstrap/pagination.less diff --git a/public/css/lib/bootstrap/panels.less b/client/less/lib/bootstrap/panels.less similarity index 100% rename from public/css/lib/bootstrap/panels.less rename to client/less/lib/bootstrap/panels.less diff --git a/public/css/lib/bootstrap/popovers.less b/client/less/lib/bootstrap/popovers.less similarity index 100% rename from public/css/lib/bootstrap/popovers.less rename to client/less/lib/bootstrap/popovers.less diff --git a/public/css/lib/bootstrap/print.less b/client/less/lib/bootstrap/print.less similarity index 100% rename from public/css/lib/bootstrap/print.less rename to client/less/lib/bootstrap/print.less diff --git a/public/css/lib/bootstrap/progress-bars.less b/client/less/lib/bootstrap/progress-bars.less similarity index 100% rename from public/css/lib/bootstrap/progress-bars.less rename to client/less/lib/bootstrap/progress-bars.less diff --git a/public/css/lib/bootstrap/responsive-embed.less b/client/less/lib/bootstrap/responsive-embed.less similarity index 100% rename from public/css/lib/bootstrap/responsive-embed.less rename to client/less/lib/bootstrap/responsive-embed.less diff --git a/public/css/lib/bootstrap/responsive-utilities.less b/client/less/lib/bootstrap/responsive-utilities.less similarity index 100% rename from public/css/lib/bootstrap/responsive-utilities.less rename to client/less/lib/bootstrap/responsive-utilities.less diff --git a/public/css/lib/bootstrap/scaffolding.less b/client/less/lib/bootstrap/scaffolding.less similarity index 100% rename from public/css/lib/bootstrap/scaffolding.less rename to client/less/lib/bootstrap/scaffolding.less diff --git a/public/css/lib/bootstrap/tables.less b/client/less/lib/bootstrap/tables.less similarity index 100% rename from public/css/lib/bootstrap/tables.less rename to client/less/lib/bootstrap/tables.less diff --git a/public/css/lib/bootstrap/theme.less b/client/less/lib/bootstrap/theme.less similarity index 100% rename from public/css/lib/bootstrap/theme.less rename to client/less/lib/bootstrap/theme.less diff --git a/public/css/lib/bootstrap/thumbnails.less b/client/less/lib/bootstrap/thumbnails.less similarity index 100% rename from public/css/lib/bootstrap/thumbnails.less rename to client/less/lib/bootstrap/thumbnails.less diff --git a/public/css/lib/bootstrap/tooltip.less b/client/less/lib/bootstrap/tooltip.less similarity index 100% rename from public/css/lib/bootstrap/tooltip.less rename to client/less/lib/bootstrap/tooltip.less diff --git a/public/css/lib/bootstrap/type.less b/client/less/lib/bootstrap/type.less similarity index 100% rename from public/css/lib/bootstrap/type.less rename to client/less/lib/bootstrap/type.less diff --git a/public/css/lib/bootstrap/utilities.less b/client/less/lib/bootstrap/utilities.less similarity index 100% rename from public/css/lib/bootstrap/utilities.less rename to client/less/lib/bootstrap/utilities.less diff --git a/public/css/lib/bootstrap/variables.less b/client/less/lib/bootstrap/variables.less similarity index 100% rename from public/css/lib/bootstrap/variables.less rename to client/less/lib/bootstrap/variables.less diff --git a/public/css/lib/bootstrap/wells.less b/client/less/lib/bootstrap/wells.less similarity index 100% rename from public/css/lib/bootstrap/wells.less rename to client/less/lib/bootstrap/wells.less diff --git a/public/css/lib/font-awesome-4.3.0/css/font-awesome.css b/client/less/lib/font-awesome-4.3.0/css/font-awesome.css similarity index 100% rename from public/css/lib/font-awesome-4.3.0/css/font-awesome.css rename to client/less/lib/font-awesome-4.3.0/css/font-awesome.css diff --git a/public/css/lib/font-awesome-4.3.0/css/font-awesome.min.css b/client/less/lib/font-awesome-4.3.0/css/font-awesome.min.css similarity index 100% rename from public/css/lib/font-awesome-4.3.0/css/font-awesome.min.css rename to client/less/lib/font-awesome-4.3.0/css/font-awesome.min.css diff --git a/public/css/lib/font-awesome-4.3.0/fonts/FontAwesome.otf b/client/less/lib/font-awesome-4.3.0/fonts/FontAwesome.otf similarity index 100% rename from public/css/lib/font-awesome-4.3.0/fonts/FontAwesome.otf rename to client/less/lib/font-awesome-4.3.0/fonts/FontAwesome.otf diff --git a/public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot b/client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot similarity index 100% rename from public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot rename to client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot diff --git a/public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg b/client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg similarity index 100% rename from public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg rename to client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg diff --git a/public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf b/client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf similarity index 100% rename from public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf rename to client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf diff --git a/public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff b/client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff similarity index 100% rename from public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff rename to client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff diff --git a/public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 b/client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 similarity index 100% rename from public/css/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 rename to client/less/lib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 diff --git a/public/css/lib/font-awesome-4.3.0/less/animated.less b/client/less/lib/font-awesome-4.3.0/less/animated.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/animated.less rename to client/less/lib/font-awesome-4.3.0/less/animated.less diff --git a/public/css/lib/font-awesome-4.3.0/less/bordered-pulled.less b/client/less/lib/font-awesome-4.3.0/less/bordered-pulled.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/bordered-pulled.less rename to client/less/lib/font-awesome-4.3.0/less/bordered-pulled.less diff --git a/public/css/lib/font-awesome-4.3.0/less/core.less b/client/less/lib/font-awesome-4.3.0/less/core.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/core.less rename to client/less/lib/font-awesome-4.3.0/less/core.less diff --git a/public/css/lib/font-awesome-4.3.0/less/fixed-width.less b/client/less/lib/font-awesome-4.3.0/less/fixed-width.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/fixed-width.less rename to client/less/lib/font-awesome-4.3.0/less/fixed-width.less diff --git a/public/css/lib/font-awesome-4.3.0/less/font-awesome.less b/client/less/lib/font-awesome-4.3.0/less/font-awesome.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/font-awesome.less rename to client/less/lib/font-awesome-4.3.0/less/font-awesome.less diff --git a/public/css/lib/font-awesome-4.3.0/less/icons.less b/client/less/lib/font-awesome-4.3.0/less/icons.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/icons.less rename to client/less/lib/font-awesome-4.3.0/less/icons.less diff --git a/public/css/lib/font-awesome-4.3.0/less/larger.less b/client/less/lib/font-awesome-4.3.0/less/larger.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/larger.less rename to client/less/lib/font-awesome-4.3.0/less/larger.less diff --git a/public/css/lib/font-awesome-4.3.0/less/list.less b/client/less/lib/font-awesome-4.3.0/less/list.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/list.less rename to client/less/lib/font-awesome-4.3.0/less/list.less diff --git a/public/css/lib/font-awesome-4.3.0/less/mixins.less b/client/less/lib/font-awesome-4.3.0/less/mixins.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/mixins.less rename to client/less/lib/font-awesome-4.3.0/less/mixins.less diff --git a/public/css/lib/font-awesome-4.3.0/less/path.less b/client/less/lib/font-awesome-4.3.0/less/path.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/path.less rename to client/less/lib/font-awesome-4.3.0/less/path.less diff --git a/public/css/lib/font-awesome-4.3.0/less/rotated-flipped.less b/client/less/lib/font-awesome-4.3.0/less/rotated-flipped.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/rotated-flipped.less rename to client/less/lib/font-awesome-4.3.0/less/rotated-flipped.less diff --git a/public/css/lib/font-awesome-4.3.0/less/stacked.less b/client/less/lib/font-awesome-4.3.0/less/stacked.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/stacked.less rename to client/less/lib/font-awesome-4.3.0/less/stacked.less diff --git a/public/css/lib/font-awesome-4.3.0/less/variables.less b/client/less/lib/font-awesome-4.3.0/less/variables.less similarity index 100% rename from public/css/lib/font-awesome-4.3.0/less/variables.less rename to client/less/lib/font-awesome-4.3.0/less/variables.less diff --git a/public/css/lib/font-awesome-4.3.0/scss/_animated.scss b/client/less/lib/font-awesome-4.3.0/scss/_animated.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_animated.scss rename to client/less/lib/font-awesome-4.3.0/scss/_animated.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_bordered-pulled.scss b/client/less/lib/font-awesome-4.3.0/scss/_bordered-pulled.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_bordered-pulled.scss rename to client/less/lib/font-awesome-4.3.0/scss/_bordered-pulled.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_core.scss b/client/less/lib/font-awesome-4.3.0/scss/_core.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_core.scss rename to client/less/lib/font-awesome-4.3.0/scss/_core.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_fixed-width.scss b/client/less/lib/font-awesome-4.3.0/scss/_fixed-width.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_fixed-width.scss rename to client/less/lib/font-awesome-4.3.0/scss/_fixed-width.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_icons.scss b/client/less/lib/font-awesome-4.3.0/scss/_icons.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_icons.scss rename to client/less/lib/font-awesome-4.3.0/scss/_icons.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_larger.scss b/client/less/lib/font-awesome-4.3.0/scss/_larger.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_larger.scss rename to client/less/lib/font-awesome-4.3.0/scss/_larger.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_list.scss b/client/less/lib/font-awesome-4.3.0/scss/_list.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_list.scss rename to client/less/lib/font-awesome-4.3.0/scss/_list.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_mixins.scss b/client/less/lib/font-awesome-4.3.0/scss/_mixins.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_mixins.scss rename to client/less/lib/font-awesome-4.3.0/scss/_mixins.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_path.scss b/client/less/lib/font-awesome-4.3.0/scss/_path.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_path.scss rename to client/less/lib/font-awesome-4.3.0/scss/_path.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_rotated-flipped.scss b/client/less/lib/font-awesome-4.3.0/scss/_rotated-flipped.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_rotated-flipped.scss rename to client/less/lib/font-awesome-4.3.0/scss/_rotated-flipped.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_stacked.scss b/client/less/lib/font-awesome-4.3.0/scss/_stacked.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_stacked.scss rename to client/less/lib/font-awesome-4.3.0/scss/_stacked.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/_variables.scss b/client/less/lib/font-awesome-4.3.0/scss/_variables.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/_variables.scss rename to client/less/lib/font-awesome-4.3.0/scss/_variables.scss diff --git a/public/css/lib/font-awesome-4.3.0/scss/font-awesome.scss b/client/less/lib/font-awesome-4.3.0/scss/font-awesome.scss similarity index 100% rename from public/css/lib/font-awesome-4.3.0/scss/font-awesome.scss rename to client/less/lib/font-awesome-4.3.0/scss/font-awesome.scss diff --git a/public/css/lib/ionicons/_ionicons-animation.less b/client/less/lib/ionicons/_ionicons-animation.less similarity index 100% rename from public/css/lib/ionicons/_ionicons-animation.less rename to client/less/lib/ionicons/_ionicons-animation.less diff --git a/public/css/lib/ionicons/_ionicons-font.less b/client/less/lib/ionicons/_ionicons-font.less similarity index 100% rename from public/css/lib/ionicons/_ionicons-font.less rename to client/less/lib/ionicons/_ionicons-font.less diff --git a/public/css/lib/ionicons/_ionicons-icons.less b/client/less/lib/ionicons/_ionicons-icons.less similarity index 100% rename from public/css/lib/ionicons/_ionicons-icons.less rename to client/less/lib/ionicons/_ionicons-icons.less diff --git a/public/css/lib/ionicons/_ionicons-variables.less b/client/less/lib/ionicons/_ionicons-variables.less similarity index 100% rename from public/css/lib/ionicons/_ionicons-variables.less rename to client/less/lib/ionicons/_ionicons-variables.less diff --git a/public/css/lib/ionicons/ionicons.less b/client/less/lib/ionicons/ionicons.less similarity index 100% rename from public/css/lib/ionicons/ionicons.less rename to client/less/lib/ionicons/ionicons.less diff --git a/public/css/lib/ionicons/ionicons.min.css b/client/less/lib/ionicons/ionicons.min.css similarity index 100% rename from public/css/lib/ionicons/ionicons.min.css rename to client/less/lib/ionicons/ionicons.min.css diff --git a/public/css/main.less b/client/less/main.less similarity index 100% rename from public/css/main.less rename to client/less/main.less diff --git a/public/js/main_0.0.3.js b/client/main.js similarity index 100% rename from public/js/main_0.0.3.js rename to client/main.js diff --git a/public/js/lib/coursewares/plugin_v0.1.5.js b/client/plugin.js similarity index 100% rename from public/js/lib/coursewares/plugin_v0.1.5.js rename to client/plugin.js diff --git a/public/js/lib/coursewares/sandbox.js b/client/sandbox.js similarity index 96% rename from public/js/lib/coursewares/sandbox.js rename to client/sandbox.js index 75452114eb..10eaa2ef07 100644 --- a/public/js/lib/coursewares/sandbox.js +++ b/client/sandbox.js @@ -67,7 +67,7 @@ var requests; // (re)initializes the plugin var reset = function() { requests = 0; - plugin = new jailed.Plugin(path+'plugin_v0.1.5.js', api); + plugin = new jailed.Plugin(path + 'plugin.js', api); plugin.whenDisconnected( function() { // give some time to handle the last responce setTimeout( function() { diff --git a/gulpfile.js b/gulpfile.js index 9cfded3db8..09d0161b48 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -7,7 +7,6 @@ var Rx = require('rx'), plumber = require('gulp-plumber'), notify = require('gulp-notify'), debug = require('debug')('freecc:gulp'), - bower = require('bower-main-files'), // react app webpack = require('gulp-webpack'), @@ -18,11 +17,13 @@ var Rx = require('rx'), nodemon = require('gulp-nodemon'), sync = require('browser-sync'), - inject = require('gulp-inject'), - // css less = require('gulp-less'), + // rev + rev = require('gulp-rev'), + revReplace = require('gulp-rev-replace'), + // lint jsonlint = require('gulp-jsonlint'), eslint = require('gulp-eslint'); @@ -43,6 +44,7 @@ var paths = { ], publicJs: './public/js', + css: 'public/css', loopback: { client: './client/loopbackClient', @@ -55,6 +57,21 @@ var paths = { dest: 'public/js' }, + js: [ + 'client/main.js', + 'client/iFrameScripts.js', + 'client/plugin.js' + ], + + dependents: [ + 'client/commonFramework.js', + 'client/sandbox.js' + ], + + less: './client/less/main.less', + + manifest: 'server/', + node: { src: './client', dest: 'common/app' @@ -70,6 +87,13 @@ var paths = { ] }; +var manifestName = 'rev-manifest.json'; +var manifestOptions = { + path: paths.manifest + manifestName, + base: path.join(__dirname, paths.manifest), + merge: true +}; + var webpackOptions = { devtool: 'inline-source-map' }; @@ -87,15 +111,6 @@ function errorHandler() { this.emit('end'); } -gulp.task('inject', function() { - gulp.src('views/home.jade') - .pipe(plumber({ errorHandler: errorHandler })) - .pipe(inject(gulp.src(bower()), { - // ignorePath: '/public' - })) - .pipe(gulp.dest('views')); -}); - gulp.task('pack-client', function() { return gulp.src(webpackConfig.entry) .pipe(plumber({ errorHandler: errorHandler })) @@ -185,18 +200,57 @@ gulp.task('lint-json', function() { gulp.task('test-challenges', ['lint-json']); gulp.task('less', function() { - return gulp.src('./public/css/*.less') + return gulp.src(paths.less) .pipe(plumber({ errorHandler: errorHandler })) + // copile .pipe(less({ paths: [ path.join(__dirname, 'less', 'includes') ] })) - .pipe(gulp.dest('./public/css/')); + .pipe(gulp.dest(paths.css)) + // add revision + .pipe(rev()) + // copy files to public + .pipe(gulp.dest(paths.css)) + // create and merge manifest + .pipe(rev.manifest(manifestOptions)) + .pipe(gulp.dest(paths.manifest)); }); -gulp.task('build', ['less']); +gulp.task('js', function() { + return gulp.src(paths.js) + .pipe(plumber({ errorHandler: errorHandler })) + .pipe(gulp.dest(paths.publicJs)) + // create registry file + .pipe(rev()) + // copy revisioned assets to dest + .pipe(gulp.dest(paths.publicJs)) + // create manifest file + .pipe(rev.manifest(manifestOptions)) + // copy manifest file to dest + .pipe(gulp.dest(paths.manifest)); +}); -gulp.task('watch', ['less', 'serve', 'sync'], function() { - gulp.watch('./public/css/*.less', ['less']); +// commonFramework depend on iFrameScripts +// sandbox depends on plugin +gulp.task('dependents', ['js'], function() { + var manifest = gulp.src( + path.join(__dirname, paths.manifest, manifestName) + ); + + return gulp.src(paths.dependents) + .pipe(plumber({ errorHandler: errorHandler })) + .pipe(revReplace({ manifest: manifest })) + .pipe(rev()) + .pipe(gulp.dest(paths.publicJs)) + .pipe(rev.manifest(manifestOptions)) + .pipe(gulp.dest(paths.manifest)); +}); + +gulp.task('build', ['less', 'js', 'dependents']); + +gulp.task('watch', ['less', 'js', 'dependents', 'serve', 'sync'], function() { + gulp.watch(paths.less, ['less']); + gulp.watch(paths.js, ['js']); gulp.watch(paths.challenges, ['test-challenges']); }); diff --git a/package.json b/package.json index 8aa3c12d40..768cd4be71 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "url": "https://github.com/freecodecamp/freecodecamp.git" }, "scripts": { + "build": "gulp build", "build-production": "webpack", "start": "babel-node server/server.js", "prestart-production": "bower cache clean && bower install && gulp build && npm run build-production", @@ -59,6 +60,8 @@ "github-api": "~0.7.0", "gulp-less": "^3.0.3", "gulp-minify-css": "~0.5.1", + "gulp-rev": "^6.0.1", + "gulp-rev-replace": "^0.4.2", "gulp-webpack": "^1.5.0", "helmet": "~0.9.0", "helmet-csp": "^0.2.3", diff --git a/server/middleware.json b/server/middleware.json index 2c791f8b93..66a1d0bd52 100644 --- a/server/middleware.json +++ b/server/middleware.json @@ -45,7 +45,8 @@ "./middlewares/constant-headers": {}, "./middlewares/csp": {}, "./middlewares/express-rx": {}, - "./middlewares/global-locals": {} + "./middlewares/global-locals": {}, + "./middlewares/revision-helpers": {} }, "routes": { }, diff --git a/server/middlewares/revision-helpers.js b/server/middlewares/revision-helpers.js new file mode 100644 index 0000000000..a5e957fc5c --- /dev/null +++ b/server/middlewares/revision-helpers.js @@ -0,0 +1,13 @@ +import manifest from '../rev-manifest.json'; + +export default function({ globalPrepend = '' } = {}) { + + function rev(scopedPrepend, asset) { + return `${globalPrepend}${scopedPrepend}/${ manifest[asset] || asset }`; + } + + return function(req, res, next) { + res.locals.rev = rev; + next(); + }; +} diff --git a/server/views/coursewares/showBonfire.jade b/server/views/coursewares/showBonfire.jade index ce78fb8ea5..8e7bf6b2eb 100644 --- a/server/views/coursewares/showBonfire.jade +++ b/server/views/coursewares/showBonfire.jade @@ -14,7 +14,7 @@ block content link(rel="stylesheet", href="//fonts.googleapis.com/css?family=Ubuntu+Mono") script(type='text/javascript', src='/js/lib/codemirror/mode/javascript/javascript.js') script(type='text/javascript', src='/js/lib/jailed/jailed.js') - script(type='text/javascript', src='/js/lib/coursewares/sandbox.js') + script(type='text/javascript', src=rev('/js', 'sandbox.js')) .row(ng-controller="pairedWithController") .col-xs-12.col-sm-12.col-md-4.col-lg-3 @@ -124,7 +124,7 @@ block content form.code .form-group.codeMirrorView textarea#codeEditor(autofocus=true, style='display: none;') - script(src='/js/lib/coursewares/commonFrameWork_0.0.7.js') + script(src=rev('/js', 'commonFramework.js')) script. editor.setOption("mode", "javascript"); diff --git a/server/views/coursewares/showHTML.jade b/server/views/coursewares/showHTML.jade index 94399ce677..b655bf5187 100644 --- a/server/views/coursewares/showHTML.jade +++ b/server/views/coursewares/showHTML.jade @@ -14,7 +14,7 @@ block content link(rel="stylesheet", href="http://fonts.googleapis.com/css?family=Ubuntu+Mono") script(src='/js/lib/codemirror/mode/javascript/javascript.js') script(src='/js/lib/jailed/jailed.js') - script(src='/js/lib/coursewares/sandbox.js') + script(src=rev('/js', 'sandbox.js')) script(src='/js/lib/codemirror/mode/xml/xml.js') script(src='/js/lib/codemirror/mode/css/css.js') script(src='/js/lib/codemirror/mode/htmlmixed/htmlmixed.js') @@ -72,7 +72,7 @@ block content form.code .codeMirrorView textarea#codeEditor(autofocus=true, style='display: none;') - script(src = '/js/lib/coursewares/commonFrameWork_0.0.7.js') + script(src=rev('/js', 'commonFramework.js')) script. editor.setOption("mode", "text/html"); .col-md-4.col-lg-3 diff --git a/server/views/coursewares/showJS.jade b/server/views/coursewares/showJS.jade index 34bf4fa3b4..cb5bdb2d44 100644 --- a/server/views/coursewares/showJS.jade +++ b/server/views/coursewares/showJS.jade @@ -13,7 +13,7 @@ block content link(rel="stylesheet", href="//fonts.googleapis.com/css?family=Ubuntu+Mono") script(type='text/javascript', src='/js/lib/codemirror/mode/javascript/javascript.js') script(type='text/javascript', src='/js/lib/jailed/jailed.js') - script(type='text/javascript', src='/js/lib/coursewares/sandbox.js') + script(type='text/javascript', src=rev('/js', 'sandbox.js')) .row(ng-controller="pairedWithController") .col-xs-12.col-sm-12.col-md-4.col-lg-3 .scroll-locker(id = "scroll-locker") @@ -72,7 +72,7 @@ block content form.code .codeMirrorView textarea#codeEditor(autofocus=true, style='display: none;') - script(src = '/js/lib/coursewares/commonFrameWork_0.0.7.js') + script(src=rev('/js', 'commonFramework')) script. editor.setOption("mode", "javascript"); #complete-courseware-dialog.modal(tabindex='-1') diff --git a/server/views/partials/small-head.jade b/server/views/partials/small-head.jade index 5913fc223c..585d55498d 100644 --- a/server/views/partials/small-head.jade +++ b/server/views/partials/small-head.jade @@ -2,7 +2,7 @@ script(src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js") script(src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.min.js") link(rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Lato:400|Inconsolata") link(rel='stylesheet', href='/bower_components/font-awesome/css/font-awesome.min.css') -link(rel='stylesheet', href='/css/main.css') +link(rel='stylesheet', href=rev('/css', 'main.css')) link(rel='stylesheet', href='/css/lib/Vimeo.css') // End **REQUIRED** includes diff --git a/server/views/partials/universal-head.jade b/server/views/partials/universal-head.jade index bc27767eb5..b97250af49 100644 --- a/server/views/partials/universal-head.jade +++ b/server/views/partials/universal-head.jade @@ -4,7 +4,7 @@ link(rel="stylesheet" type="text/css" href="/bower_components/cal-heatmap/cal-he link(rel='stylesheet', href='/bower_components/font-awesome/css/font-awesome.min.css') -link(rel='stylesheet', href='/css/main.css') +link(rel='stylesheet', href=rev('/css', 'main.css')) // End **REQUIRED** includes include meta @@ -40,7 +40,7 @@ script(src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js") script. window.moment || document.write('