summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuelockwood <deathbear@apache.org>2014-02-25 13:07:36 -0500
committersuelockwood <deathbear@apache.org>2014-03-11 12:56:59 -0400
commit87cc4076a17cbd337cad8652a39b26c52ad923e0 (patch)
tree28c0f504b7d3f8f9a055037389c714ff93d4080b
parent5d17c204dbcefc389420fef79810a58be91cde71 (diff)
downloadcouchdb-BrandingPOC.tar.gz
POC step 1: generate the imports for brandingBrandingPOC
-rw-r--r--src/fauxton/Gruntfile.js9
-rw-r--r--src/fauxton/assets/less/branding.less12
-rw-r--r--src/fauxton/assets/less/branding.less.underscore12
-rw-r--r--src/fauxton/assets/less/fauxton.less7
-rw-r--r--src/fauxton/settings.json.default106
-rw-r--r--src/fauxton/tasks/fauxton.js18
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,