From c50a158ab2d1536ead569f7d4c343ddb90549c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20=C3=81lvarez=20Medina?= Date: Mon, 4 May 2015 11:14:21 +0200 Subject: [PATCH 1/2] Changing NEWs --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 8bb7a43381e1..ed80be5c9c71 100644 --- a/NEWS.md +++ b/NEWS.md @@ -26,6 +26,7 @@ Bugfixes: * Deleted unused endpoints for POST/DELETE api/v1/maps * Avoid infinite recursion when renaming table [#3330](https://github.com/CartoDB/cartodb/pull/3330) * Script to delete inconsistent vizs [#3342](https://github.com/CartoDB/cartodb/pull/3342) +* Fixed problem rendering Lato font [#3461](https://github.com/CartoDB/cartodb/issues/3461) 3.10.0 (2015-04-08) ------------------- From 6f51b6492fa9c891f8e57de8f7df1faba0a1e27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20=C3=81lvarez=20Medina?= Date: Mon, 4 May 2015 12:33:33 +0200 Subject: [PATCH 2/2] Rendering google lato font if possible, if not loading the local one --- .../lato-font-face.css.scss | 1 + config/application.rb | 1 + config/frontend.yml | 2 +- .../javascripts/cartodb/fonts/lato_loader.js | 29 ++++++++++++ lib/build/files/css_files.js | 4 ++ lib/build/files/js_files.js | 12 +++++ package.json | 2 +- vendor/assets/javascripts/webfontloader.js | 45 +++++++++++++++++++ 8 files changed, 94 insertions(+), 2 deletions(-) rename app/assets/stylesheets/{new_common => fonts}/lato-font-face.css.scss (89%) create mode 100644 lib/assets/javascripts/cartodb/fonts/lato_loader.js create mode 100644 vendor/assets/javascripts/webfontloader.js diff --git a/app/assets/stylesheets/new_common/lato-font-face.css.scss b/app/assets/stylesheets/fonts/lato-font-face.css.scss similarity index 89% rename from app/assets/stylesheets/new_common/lato-font-face.css.scss rename to app/assets/stylesheets/fonts/lato-font-face.css.scss index 8b30a7aa8766..8e17d72232a2 100644 --- a/app/assets/stylesheets/new_common/lato-font-face.css.scss +++ b/app/assets/stylesheets/fonts/lato-font-face.css.scss @@ -1,5 +1,6 @@ // Lato font face // -------------------------------------------------- +// This is the CSS fallback for Lato web font @import "compass/css3/font-face"; diff --git a/config/application.rb b/config/application.rb index 61012570583c..aacac861a893 100644 --- a/config/application.rb +++ b/config/application.rb @@ -111,6 +111,7 @@ class Application < Rails::Application db.css cartodb.css fonts_ie.css + fonts.css front.css editor.css diff --git a/config/frontend.yml b/config/frontend.yml index 456bd90c61fe..396af450d867 100644 --- a/config/frontend.yml +++ b/config/frontend.yml @@ -1,2 +1,2 @@ #This file defines the version of the frontend code that is going to be loaded. -3.11.2 +3.11.10 diff --git a/lib/assets/javascripts/cartodb/fonts/lato_loader.js b/lib/assets/javascripts/cartodb/fonts/lato_loader.js new file mode 100644 index 000000000000..f67bb6211821 --- /dev/null +++ b/lib/assets/javascripts/cartodb/fonts/lato_loader.js @@ -0,0 +1,29 @@ +var customInstall = cdb.config.get('cartodb_com_hosted'); +var latoCSSUrl = cdb.config.get('assets_url') + '/stylesheets/fonts.css'; +var opts = {}; + +if (customInstall) { + opts = { + custom: { + families: ['Lato'], + urls: [ latoCSSUrl ] + } + } +} else { + opts = { + fontinactive: function () { + WebFont.load({ + custom: { + families: ['Lato'], + urls: [ latoCSSUrl ] + } + }) + }, + google: { + families: ['Lato:300,400,700,300italic,400italic:latin'], + timeout: 2000 + } + } +} + +WebFont.load(opts); \ No newline at end of file diff --git a/lib/build/files/css_files.js b/lib/build/files/css_files.js index a1c5da94239f..028fa6d64fa9 100644 --- a/lib/build/files/css_files.js +++ b/lib/build/files/css_files.js @@ -144,6 +144,10 @@ module.exports = css_files = { // Overrides for older styles, to work as expected with new_common/default '<%= assets_dir %>/stylesheets/editor/table_overrides.css' + ], + + fonts: [ + '<%= assets_dir %>/stylesheets/fonts/lato-font-face.css' ] }; diff --git a/lib/build/files/js_files.js b/lib/build/files/js_files.js index 78835b1c4f91..28017382925e 100644 --- a/lib/build/files/js_files.js +++ b/lib/build/files/js_files.js @@ -3,6 +3,7 @@ var _ = require('underscore'); module.exports = files = { new_dashboard_deps: [ + 'vendor/assets/javascripts/webfontloader.js', 'vendor/assets/javascripts/d3.v2.js', 'vendor/assets/javascripts/jquery.tipsy.js', 'vendor/assets/javascripts/rails.js', @@ -13,6 +14,7 @@ module.exports = files = { 'vendor/assets/javascripts/jquery-ui/**/*.js', 'vendor/assets/javascripts/dropzone.js', 'vendor/assets/javascripts/dragster.js', + 'lib/assets/javascripts/cartodb/fonts/lato_loader.js', 'lib/assets/javascripts/cartodb/common/video_player.js', 'lib/assets/javascripts/cartodb/common/dropdown_menu.js', 'lib/assets/javascripts/cartodb/common/error_stats.js', @@ -119,10 +121,12 @@ module.exports = files = { ], new_keys_deps: [ + 'vendor/assets/javascripts/webfontloader.js', 'vendor/assets/javascripts/jquery.tipsy.js', 'vendor/assets/javascripts/rails.js', 'vendor/assets/javascripts/ZeroClipboard.js', 'vendor/assets/javascripts/moment.js', + 'lib/assets/javascripts/cartodb/fonts/lato_loader.js', 'lib/assets/javascripts/cartodb/common/dropdown_menu.js', 'lib/assets/javascripts/cartodb/common/error_stats.js', 'lib/assets/javascripts/cartodb/common/tipsy_tooltip.js', @@ -134,10 +138,12 @@ module.exports = files = { ], account_deps: [ + 'vendor/assets/javascripts/webfontloader.js', 'vendor/assets/javascripts/jquery.tipsy.js', 'vendor/assets/javascripts/rails.js', 'vendor/assets/javascripts/filestyle.js', 'vendor/assets/javascripts/moment.js', + 'lib/assets/javascripts/cartodb/fonts/lato_loader.js', 'vendor/assets/javascripts/backbone-model-file-upload.js', 'lib/assets/javascripts/cartodb/common/dropdown_menu.js', 'lib/assets/javascripts/cartodb/common/error_stats.js', @@ -150,10 +156,12 @@ module.exports = files = { ], new_organization_deps: [ + 'vendor/assets/javascripts/webfontloader.js', 'vendor/assets/javascripts/jquery.tipsy.js', 'vendor/assets/javascripts/rails.js', 'vendor/assets/javascripts/filestyle.js', 'vendor/assets/javascripts/moment.js', + 'lib/assets/javascripts/cartodb/fonts/lato_loader.js', 'vendor/assets/javascripts/backbone-model-file-upload.js', 'lib/assets/javascripts/cartodb/common/dropdown_menu.js', 'lib/assets/javascripts/cartodb/common/error_stats.js', @@ -287,12 +295,14 @@ module.exports = files = { ], new_public_dashboard_deps: [ + 'vendor/assets/javascripts/webfontloader.js', 'lib/assets/javascripts/cartodb/public/authenticated_user.js', 'lib/assets/javascripts/cartodb/models/cartodb_layer.js', 'lib/assets/javascripts/cartodb/models/map.js', 'lib/assets/javascripts/cartodb/models/user.js', 'lib/assets/javascripts/cartodb/models/organization.js', 'lib/assets/javascripts/cartodb/models/like.js', + 'lib/assets/javascripts/cartodb/fonts/lato_loader.js', 'lib/assets/javascripts/cartodb/common/dropdown_menu.js', 'lib/assets/javascripts/cartodb/common/urls/url.js', 'lib/assets/javascripts/cartodb/common/urls/dashboard_vis_url.js', @@ -352,12 +362,14 @@ module.exports = files = { ], public_map_deps: [ + 'vendor/assets/javascripts/webfontloader.js', 'lib/assets/javascripts/cartodb/public/authenticated_user.js', 'lib/assets/javascripts/cartodb/models/cartodb_layer.js', 'lib/assets/javascripts/cartodb/models/map.js', 'lib/assets/javascripts/cartodb/models/user.js', 'lib/assets/javascripts/cartodb/models/organization.js', 'lib/assets/javascripts/cartodb/models/like.js', + 'lib/assets/javascripts/cartodb/fonts/lato_loader.js', 'lib/assets/javascripts/cartodb/common/dropdown_menu.js', 'lib/assets/javascripts/cartodb/common/urls/url.js', 'lib/assets/javascripts/cartodb/common/urls/dashboard_vis_url.js', diff --git a/package.json b/package.json index aefeccfd2416..ea167986d29d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cartodb-ui", - "version": "3.11.2", + "version": "3.11.10", "description": "CartoDB UI frontend", "repository": { "type": "git", diff --git a/vendor/assets/javascripts/webfontloader.js b/vendor/assets/javascripts/webfontloader.js new file mode 100644 index 000000000000..541b7aab7424 --- /dev/null +++ b/vendor/assets/javascripts/webfontloader.js @@ -0,0 +1,45 @@ +/* + * Copyright 2015 Small Batch, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +/* Web Font Loader v1.5.10 - (c) Adobe Systems, Google. License: Apache 2.0 */ +;(function(window,document,undefined){var k=this;function l(a,b){var c=a.split("."),d=k;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b}function aa(a,b,c){return a.call.apply(a.bind,arguments)} +function ba(a,b,c){if(!a)throw Error();if(2a.c||this.c===a.c&&this.g>a.g||this.c===a.c&&this.g===a.g&&this.B>a.B?1:this.cd.c||536== +d.c&&11>d.g,"iPhone"==b||"iPad"==b||"iPod"==b||"Macintosh"==b,!!a.k.fonts))}function G(a,b,c){return(a=a.match(b))&&a[c]?a[c]:""}function H(a){if(a.documentMode)return a.documentMode};function J(a){this.xa=a||"-"}J.prototype.e=function(a){for(var b=[],c=0;c=a.Y?a.m.Z&&la(a,b,c)&&(null===a.da||a.da.hasOwnProperty(a.s.getName()))?S(a,a.aa):S(a,a.va):ma(a):S(a,a.aa)}function ma(a){setTimeout(n(function(){ka(this)},a),25)}function S(a,b){a.F.remove();a.G.remove();b(a.s)};function T(a,b,c,d){this.d=b;this.u=c;this.U=0;this.fa=this.ca=!1;this.Y=d;this.m=a.m}function na(a,b,c,d,e){c=c||{};if(0===b.length&&e)M(a.u);else for(a.U+=b.length,e&&(a.ca=e),e=0;e