diff --git a/www/modules/boilerplate/.csscomb.json b/.csscomb.json similarity index 100% rename from www/modules/boilerplate/.csscomb.json rename to .csscomb.json diff --git a/www/.editorconfig b/.editorconfig similarity index 100% rename from www/.editorconfig rename to .editorconfig diff --git a/www/modules/boilerplate/Gruntfile.js b/Gruntfile.js similarity index 100% rename from www/modules/boilerplate/Gruntfile.js rename to Gruntfile.js diff --git a/grunt_tasks/browserSync.js b/grunt_tasks/browserSync.js new file mode 100644 index 0000000..d866b87 --- /dev/null +++ b/grunt_tasks/browserSync.js @@ -0,0 +1,17 @@ +module.exports = { + dev: { + bsFiles: { + src : [ + 'www/modules/boilerplate/assets/styles/dist/*.css' + ,'www/modules/boilerplate/assets/scripts/dist/*.js' + ,'www/modules/boilerplate/assets/templates/*.php' + ] + }, + options: { + proxy: "localhost", + port: 3000, + watchTask: true, + notify: false + } + } +} diff --git a/grunt_tasks/concat.js b/grunt_tasks/concat.js new file mode 100644 index 0000000..956e014 --- /dev/null +++ b/grunt_tasks/concat.js @@ -0,0 +1,19 @@ +module.exports = { + + app: { + src: [ + 'www/modules/boilerplate/assets/scripts/src/app/*.js', + 'www/modules/boilerplate/assets/scripts/src/templates/*.js', + 'www/modules/boilerplate/assets/scripts/src/widgets/*.js', + 'www/modules/boilerplate/assets/scripts/src/app.js' + ], + dest: 'www/modules/boilerplate/assets/scripts/dist/app.js' + }, + vendors: { + src: [ + 'www/modules/boilerplate/assets/scripts/src/vendors/*.js' + ], + dest: 'www/modules/boilerplate/assets/scripts/dist/vendors.js' + } + +}; diff --git a/www/modules/boilerplate/grunt_tasks/csscomb.js b/grunt_tasks/csscomb.js similarity index 56% rename from www/modules/boilerplate/grunt_tasks/csscomb.js rename to grunt_tasks/csscomb.js index 0a8e9ab..a553e1a 100644 --- a/www/modules/boilerplate/grunt_tasks/csscomb.js +++ b/grunt_tasks/csscomb.js @@ -4,8 +4,8 @@ module.exports = { }, build: { expand: true, - cwd: 'assets/styles/src/', + cwd: 'www/modules/boilerplate/assets/styles/src/', src: ['**/*.scss', '!base/_fonts.scss'], - dest: 'assets/styles/src/' + dest: 'www/modules/boilerplate/assets/styles/src/' } } diff --git a/grunt_tasks/cssmin.js b/grunt_tasks/cssmin.js new file mode 100644 index 0000000..2c1fd8b --- /dev/null +++ b/grunt_tasks/cssmin.js @@ -0,0 +1,10 @@ +module.exports = { + combine: { + files: [{ + expand: true, + cwd: 'www/modules/boilerplate/assets/styles/dist/', + src: '*.css', + dest: 'www/modules/boilerplate/assets/styles/dist/' + }] + } +} diff --git a/www/modules/boilerplate/grunt_tasks/jshint.js b/grunt_tasks/jshint.js similarity index 64% rename from www/modules/boilerplate/grunt_tasks/jshint.js rename to grunt_tasks/jshint.js index 788b25d..d6a6eb9 100644 --- a/www/modules/boilerplate/grunt_tasks/jshint.js +++ b/grunt_tasks/jshint.js @@ -13,7 +13,7 @@ module.exports = { } }, src: [ - 'assets/scripts/src/**/*.js', - '!assets/scripts/src/vendors/**/*.js' + 'www/modules/boilerplate/assets/scripts/src/**/*.js', + '!www/modules/boilerplate/assets/scripts/src/vendors/**/*.js' ], } diff --git a/www/modules/boilerplate/grunt_tasks/jsonlint.js b/grunt_tasks/jsonlint.js similarity index 99% rename from www/modules/boilerplate/grunt_tasks/jsonlint.js rename to grunt_tasks/jsonlint.js index 4b06b21..ecb0491 100644 --- a/www/modules/boilerplate/grunt_tasks/jsonlint.js +++ b/grunt_tasks/jsonlint.js @@ -17,4 +17,4 @@ module.exports = { '../charcoal/modules/**/config/**/*.json' ] } -} \ No newline at end of file +} diff --git a/www/modules/boilerplate/grunt_tasks/notify.js b/grunt_tasks/notify.js similarity index 100% rename from www/modules/boilerplate/grunt_tasks/notify.js rename to grunt_tasks/notify.js diff --git a/www/modules/boilerplate/grunt_tasks/phplint.js b/grunt_tasks/phplint.js similarity index 75% rename from www/modules/boilerplate/grunt_tasks/phplint.js rename to grunt_tasks/phplint.js index 8deec94..72f336b 100644 --- a/www/modules/boilerplate/grunt_tasks/phplint.js +++ b/grunt_tasks/phplint.js @@ -10,8 +10,8 @@ module.exports = { project: [ 'code/*.php', 'code/**/*.php', - 'assets/templates/*.php', - 'assets/templates/**/*.php' + 'www/modules/boilerplate/assets/templates/*.php', + 'www/modules/boilerplate/assets/templates/**/*.php' ], charcoal: [ '../charcoal/core/code/*.php', @@ -19,4 +19,4 @@ module.exports = { '../charcoal/modules/**/code/*.php', '../charcoal/modules/**/code/**/*.php' ] -} \ No newline at end of file +} diff --git a/www/modules/boilerplate/grunt_tasks/postcss.js b/grunt_tasks/postcss.js similarity index 57% rename from www/modules/boilerplate/grunt_tasks/postcss.js rename to grunt_tasks/postcss.js index cae54e3..09de80e 100644 --- a/www/modules/boilerplate/grunt_tasks/postcss.js +++ b/grunt_tasks/postcss.js @@ -2,15 +2,15 @@ module.exports = { postcss: { options: { processors: [ - require('autoprefixer-core')({ + require('autoprefixer')({ browsers: ['last 2 versions', '> 1%', 'ie >= 9'] }), ] }, files: [ { - src : ['assets/styles/dist/*.css'], - dest : 'assets/styles/dist/', + src : ['www/modules/boilerplate/assets/styles/dist/*.css'], + dest : 'www/modules/boilerplate/assets/styles/dist/', expand : true, flatten : true } diff --git a/grunt_tasks/sass.js b/grunt_tasks/sass.js new file mode 100644 index 0000000..658f64e --- /dev/null +++ b/grunt_tasks/sass.js @@ -0,0 +1,10 @@ +module.exports = { + options: { + sourceMap: false + }, + dist: { + files: { + 'www/modules/boilerplate/assets/styles/dist/main.css': 'www/modules/boilerplate/assets/styles/src/main.scss' + } + } +} diff --git a/www/modules/boilerplate/grunt_tasks/svgmin.js b/grunt_tasks/svgmin.js similarity index 79% rename from www/modules/boilerplate/grunt_tasks/svgmin.js rename to grunt_tasks/svgmin.js index 6749230..a798761 100644 --- a/www/modules/boilerplate/grunt_tasks/svgmin.js +++ b/grunt_tasks/svgmin.js @@ -15,10 +15,10 @@ module.exports = { }, dist: { expand: true, - cwd: 'assets/images/dist/', + cwd: 'www/modules/boilerplate/assets/images/dist/', src: '*.svg', - dest: 'assets/images/dist/', + dest: 'www/modules/boilerplate/assets/images/dist/', ext: '.svg', extDot: 'first' } -} \ No newline at end of file +} diff --git a/grunt_tasks/svgstore.js b/grunt_tasks/svgstore.js new file mode 100644 index 0000000..3d0066e --- /dev/null +++ b/grunt_tasks/svgstore.js @@ -0,0 +1,10 @@ +module.exports = { + options: { + + }, + default : { + files: { + 'www/modules/boilerplate/assets/images/dist/svgs.svg': ['www/modules/boilerplate/assets/images/svgs/*.svg'], + } + } +} diff --git a/grunt_tasks/uglify.js b/grunt_tasks/uglify.js new file mode 100644 index 0000000..d2b149a --- /dev/null +++ b/grunt_tasks/uglify.js @@ -0,0 +1,10 @@ +module.exports = { + target: { + files: [{ + expand: true, + cwd: 'www/modules/boilerplate/assets/scripts/dist/', + src: '**/*.js', + dest: 'www/modules/boilerplate/assets/scripts/dist/' + }] + } +} diff --git a/www/modules/boilerplate/grunt_tasks/watch.js b/grunt_tasks/watch.js similarity index 62% rename from www/modules/boilerplate/grunt_tasks/watch.js rename to grunt_tasks/watch.js index 61f9259..5432307 100644 --- a/www/modules/boilerplate/grunt_tasks/watch.js +++ b/grunt_tasks/watch.js @@ -1,10 +1,10 @@ module.exports = { javascript: { - files: ['assets/scripts/src/**/*.js'], + files: ['www/modules/boilerplate/assets/scripts/src/**/*.js'], tasks: ['concat', 'notify:concat'] }, sass: { - files: ['assets/styles/src/**/*.scss'], + files: ['www/modules/boilerplate/assets/styles/src/**/*.scss'], tasks: ['sass', 'postcss', 'notify:sass'], options: { spawn: false, @@ -12,7 +12,7 @@ module.exports = { } }, svg: { - files: ['assets/images/**/*.svg'], + files: ['www/modules/boilerplate/assets/images/**/*.svg'], tasks: ['svgstore', 'notify:svg'] }, tasks: { diff --git a/www/modules/boilerplate/package.json b/package.json similarity index 95% rename from www/modules/boilerplate/package.json rename to package.json index a36f182..3912be8 100644 --- a/www/modules/boilerplate/package.json +++ b/package.json @@ -7,7 +7,7 @@ "Antoine Boulanger " ], "devDependencies": { - "autoprefixer-core": "0.0.0", + "autoprefixer": "0.0.0", "glob": "0.0.0", "grunt": "0.0.0", "grunt-browser-sync": "0.0.0", diff --git a/www/home.html b/www/index.html similarity index 100% rename from www/home.html rename to www/index.html diff --git a/www/modules/boilerplate/assets/scripts/dist/app.js b/www/modules/boilerplate/assets/scripts/dist/app.js new file mode 100644 index 0000000..6d161a1 --- /dev/null +++ b/www/modules/boilerplate/assets/scripts/dist/app.js @@ -0,0 +1,115 @@ +// ========================================================================== +// Globals +// ========================================================================== +var app = window.app || {}; + +app.globals = { + + init : function() { + + // Global modules + // ========================================================================== + // app.parallax.init(); + + } + +}; + +// ========================================================================== +// Generic template +// ========================================================================== +var app = window.app || {}; +app.templates = app.templates || {}; + +app.templates.generic = { + + init : function() { + + } + +}; + +// ========================================================================== +// Generic widget +// ========================================================================== +var app = window.app || {}; +app.widgets = app.widgets || {}; + +app.widgets.generic = { + + init : function() { + + } + +}; + +// ========================================================================== +// App +// ========================================================================== +var app = window.app || {}; + +app.init = function() { + + 'use strict'; + + var self = this; + + self.params = { + + }; + + self.elements = { + html : document.documentElement, + body : document.body + }; + + self.templates = self.templates || {}; + + self.widgets = self.widgets || {}; + + // Globals + // ========================================================================== + if (typeof self.Globals === 'object') { + self.Globals.init(); + } + + // Modules + // ========================================================================== + self.params.current_modules = []; + + var modules = document.querySelectorAll('[data-app]'); + for (var m = 0; m < modules.length; m++) { + var dataApp = modules[m].getAttribute('data-app'); + if (typeof self[dataApp] === 'object' && self.params.current_modules.indexOf(dataApp) === -1) { + self[dataApp].init(); + self.params.current_modules.push(dataApp); + } + } + + // Template + // ========================================================================== + self.params.current_template = self.elements.body.getAttribute('data-template'); + + if (typeof self.templates[ self.params.current_template ] === 'object') { + self.templates[ self.params.current_template ].init(); + } + + // Widgets + // ========================================================================== + self.params.current_widgets = []; + + var widgets = document.querySelectorAll('[data-widget]'); + for (var w = 0; w < widgets.length; w++) { + var dataWidget = widgets[w].getAttribute('data-widget'); + if (typeof self.widgets[dataWidget] === 'object' && self.params.current_widgets.indexOf(dataWidget) === -1) { + self.widgets[dataWidget].init(); + self.params.current_widgets.push(dataWidget); + } + } +}; + +// Init +// ========================================================================== +$(function() { + app.init(); +}); diff --git a/www/modules/boilerplate/assets/scripts/dist/vendors.js b/www/modules/boilerplate/assets/scripts/dist/vendors.js new file mode 100644 index 0000000..e69de29 diff --git a/www/modules/boilerplate/assets/styles/dist/main.css b/www/modules/boilerplate/assets/styles/dist/main.css index 63f8a0f..cb533e0 100644 --- a/www/modules/boilerplate/assets/styles/dist/main.css +++ b/www/modules/boilerplate/assets/styles/dist/main.css @@ -366,11 +366,6 @@ svg, video { vertical-align: middle; } -button { - border: none; - outline: none; - background-color: none; } - input, select, textarea { diff --git a/www/modules/boilerplate/grunt_tasks/browserSync.js b/www/modules/boilerplate/grunt_tasks/browserSync.js deleted file mode 100644 index 19d55ca..0000000 --- a/www/modules/boilerplate/grunt_tasks/browserSync.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - dev: { - bsFiles: { - src : [ - 'assets/styles/dist/*.css' - ,'assets/scripts/dist/*.js' - ,'assets/templates/*.php' - ] - }, - options: { - proxy: "localhost", - port: 3000, - watchTask: true, - notify: false - } - } -} diff --git a/www/modules/boilerplate/grunt_tasks/concat.js b/www/modules/boilerplate/grunt_tasks/concat.js deleted file mode 100644 index 5013eff..0000000 --- a/www/modules/boilerplate/grunt_tasks/concat.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - - app: { - src: [ - 'assets/scripts/src/app/*.js', - 'assets/scripts/src/templates/*.js', - 'assets/scripts/src/widgets/*.js', - 'assets/scripts/src/app.js' - ], - dest: 'assets/scripts/dist/app.js' - }, - vendors: { - src: [ - 'assets/scripts/src/vendors/*.js' - ], - dest: 'assets/scripts/dist/vendors.js' - } - -}; diff --git a/www/modules/boilerplate/grunt_tasks/cssmin.js b/www/modules/boilerplate/grunt_tasks/cssmin.js deleted file mode 100644 index 1d93f6b..0000000 --- a/www/modules/boilerplate/grunt_tasks/cssmin.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - combine: { - files: [{ - expand: true, - cwd: 'assets/styles/dist/', - src: '*.css', - dest: 'assets/styles/dist/' - }] - } -} \ No newline at end of file diff --git a/www/modules/boilerplate/grunt_tasks/sass.js b/www/modules/boilerplate/grunt_tasks/sass.js deleted file mode 100644 index c7f90c5..0000000 --- a/www/modules/boilerplate/grunt_tasks/sass.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - options: { - sourceMap: false - }, - dist: { - files: { - 'assets/styles/dist/main.css': 'assets/styles/src/main.scss' - } - } -} \ No newline at end of file diff --git a/www/modules/boilerplate/grunt_tasks/svgstore.js b/www/modules/boilerplate/grunt_tasks/svgstore.js deleted file mode 100644 index fa09c10..0000000 --- a/www/modules/boilerplate/grunt_tasks/svgstore.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - options: { - - }, - default : { - files: { - 'assets/images/dist/svgs.svg': ['assets/images/svgs/*.svg'], - } - } -} \ No newline at end of file diff --git a/www/modules/boilerplate/grunt_tasks/uglify.js b/www/modules/boilerplate/grunt_tasks/uglify.js deleted file mode 100644 index 8ed2622..0000000 --- a/www/modules/boilerplate/grunt_tasks/uglify.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - target: { - files: [{ - expand: true, - cwd: 'assets/scripts/dist/', - src: '**/*.js', - dest: 'assets/scripts/dist/' - }] - } -} \ No newline at end of file