diff options
author | suelockwood <deathbear@apache.org> | 2014-02-25 13:07:36 -0500 |
---|---|---|
committer | suelockwood <deathbear@apache.org> | 2014-03-11 12:56:59 -0400 |
commit | 87cc4076a17cbd337cad8652a39b26c52ad923e0 (patch) | |
tree | 28c0f504b7d3f8f9a055037389c714ff93d4080b | |
parent | 5d17c204dbcefc389420fef79810a58be91cde71 (diff) | |
download | couchdb-BrandingPOC.tar.gz |
POC step 1: generate the imports for brandingBrandingPOC
-rw-r--r-- | src/fauxton/Gruntfile.js | 9 | ||||
-rw-r--r-- | src/fauxton/assets/less/branding.less | 12 | ||||
-rw-r--r-- | src/fauxton/assets/less/branding.less.underscore | 12 | ||||
-rw-r--r-- | src/fauxton/assets/less/fauxton.less | 7 | ||||
-rw-r--r-- | src/fauxton/settings.json.default | 106 | ||||
-rw-r--r-- | src/fauxton/tasks/fauxton.js | 18 |
6 files changed, 110 insertions, 54 deletions
diff --git a/src/fauxton/Gruntfile.js b/src/fauxton/Gruntfile.js index c087afac9..82dc7594a 100644 --- a/src/fauxton/Gruntfile.js +++ b/src/fauxton/Gruntfile.js @@ -56,6 +56,7 @@ module.exports = function(grunt) { }(); var assets = function(){ + // Base assets var theAssets = { less:{ @@ -342,7 +343,11 @@ module.exports = function(grunt) { src: "settings.json" } }, - + gen_brand_imports: { + "default": { + src: "settings.json" + } + }, gen_load_addons: { "default": { src: "settings.json" @@ -430,7 +435,7 @@ module.exports = function(grunt) { // lighter weight test task for use inside dev/watch grunt.registerTask('test_inline', ['mochaSetup','jst', 'concat:test_config_js','mocha_phantomjs']); // Fetch dependencies (from git or local dir), lint them and make load_addons - grunt.registerTask('dependencies', ['get_deps', 'gen_load_addons:default']); + grunt.registerTask('dependencies', ['get_deps', 'gen_load_addons:default', 'gen_brand_imports:default']); // build templates, js and css grunt.registerTask('build', ['less', 'concat:index_css', 'jst', 'requirejs', 'concat:requirejs', 'template:release']); // minify code and css, ready for release. diff --git a/src/fauxton/assets/less/branding.less b/src/fauxton/assets/less/branding.less new file mode 100644 index 000000000..967ca9a85 --- /dev/null +++ b/src/fauxton/assets/less/branding.less @@ -0,0 +1,12 @@ +/* + * ::WARNING:: + * THIS IS A GENERATED FILE. DO NOT EDIT. + */ + + + + +@import "../../../app/addons/cloudantbrand/variables.less"; + + + diff --git a/src/fauxton/assets/less/branding.less.underscore b/src/fauxton/assets/less/branding.less.underscore new file mode 100644 index 000000000..a2cc31728 --- /dev/null +++ b/src/fauxton/assets/less/branding.less.underscore @@ -0,0 +1,12 @@ +/* + * ::WARNING:: + * THIS IS A GENERATED FILE. DO NOT EDIT. + */ + +<% if (less.variables){ %> +@import "<%=less.variables%>"; +<% }%> + +<% if (less.branding){ %> +@import "<%=less.branding%>"; +<% }%> diff --git a/src/fauxton/assets/less/fauxton.less b/src/fauxton/assets/less/fauxton.less index 4ec502a2a..f115ead86 100644 --- a/src/fauxton/assets/less/fauxton.less +++ b/src/fauxton/assets/less/fauxton.less @@ -17,12 +17,17 @@ * */ @import "bootstrap/variables.less"; -@import "variables.less"; +// @import "variables.less"; + +//brand +@import "branding.less"; + @import "bootstrap/bootstrap.less"; @import "bootstrap/mixins.less"; @import "prettyprint.less"; @import "icons.less"; + /** * HTML-wide overrides **/ diff --git a/src/fauxton/settings.json.default b/src/fauxton/settings.json.default index 1bc88f649..5ab971ea4 100644 --- a/src/fauxton/settings.json.default +++ b/src/fauxton/settings.json.default @@ -1,61 +1,65 @@ { "deps": [ - { "name": "fauxton" }, - { "name": "databases" }, - { "name": "documents" }, - { "name": "pouchdb" }, - { "name": "activetasks" }, - { "name": "config" }, - { "name": "logs" }, - { "name": "stats" }, - { "name": "replication" }, - { "name": "plugins" }, - { "name": "contribute" }, - { "name": "permissions" }, - { "name": "compaction" }, - { "name": "auth" }, - { "name": "verifyinstall" } + { "name": "fauxton" }, + { "name": "databases" }, + { "name": "documents" }, + { "name": "pouchdb" }, + { "name": "activetasks" }, + { "name": "config" }, + { "name": "logs" }, + { "name": "stats" }, + { "name": "replication" }, + { "name": "plugins" }, + { "name": "contribute" }, + { "name": "permissions" }, + { "name": "compaction" }, + { "name": "auth" }, + { "name": "verifyinstall" } ], - "template": { - "development": { - "src": "assets/index.underscore", - "dest": "dist/debug/index.html", - "variables": { - "requirejs": "/assets/js/libs/require.js", - "css": "./css/index.css", - "base": null, - "cachebuster": "" - }, - "app": { - "root": "/", - "host": "../..", - "version": "1.0.dev" - } + "branding": { + "variables": "assets/less/variables.less", + "branding": "" + }, + "template": { + "development": { + "src": "assets/index.underscore", + "dest": "dist/debug/index.html", + "variables": { + "requirejs": "/assets/js/libs/require.js", + "css": "./css/index.css", + "base": null, + "cachebuster": "" }, - "release": { - "src": "assets/index.underscore", - "dest": "dist/debug/index.html", - "variables": { - "requirejs": "./js/require.js", - "css": "./css/index.css", - "base": null, - "cachebuster": "?v1.0" - }, - "app": { - "root": "/_utils/fauxton/", - "host": "../..", - "version": "1.0" - } + "app": { + "root": "/", + "host": "../..", + "version": "1.0.dev" } }, + "release": { + "src": "assets/index.underscore", + "dest": "dist/debug/index.html", + "variables": { + "requirejs": "./js/require.js", + "css": "./css/index.css", + "base": null, + "cachebuster": "?v1.0" + }, + "app": { + "root": "/_utils/fauxton/", + "host": "../..", + "version": "1.0" + } + } + }, - "couch_config": { - "fauxton": { - "db": "http://localhost:5984/fauxton", - "app": "./couchapp.js", - "options": { - "okay_if_missing": true - } + "couch_config": { + "fauxton": { + "db": "http://localhost:5984/fauxton", + "app": "./couchapp.js", + "options": { + "okay_if_missing": true } } + } } diff --git a/src/fauxton/tasks/fauxton.js b/src/fauxton/tasks/fauxton.js index e54bab8b6..80581a79e 100644 --- a/src/fauxton/tasks/fauxton.js +++ b/src/fauxton/tasks/fauxton.js @@ -75,6 +75,24 @@ module.exports = function(grunt) { }); + + grunt.registerMultiTask('gen_brand_imports', 'Generate the branding.less file imports for site branding and setting variables', function() { + var path = require('path'); + data = this.data, + _ = grunt.util._, + settingsFile = path.existsSync(data.src) ? data.src : "settings.json.default", + settings = grunt.file.readJSON(settingsFile), + template = "assets/less/branding.less.underscore", + dest = "assets/less/branding.less", + less = settings.branding; + + var tmpl = _.template(grunt.file.read(template)); + grunt.file.write(dest, tmpl({less: less})); + }); + + + + grunt.registerMultiTask('gen_load_addons', 'Generate the load_addons.js file', function() { var path = require('path'); data = this.data, |