diff --git a/assets/js/src/handlebars_helpers.js b/assets/js/src/handlebars_helpers.js index e7a726bf70..1f0c25abfb 100644 --- a/assets/js/src/handlebars_helpers.js +++ b/assets/js/src/handlebars_helpers.js @@ -1,7 +1,6 @@ -/* eslint-disable func-names */ -define('handlebars_helpers', ['handlebars'], function (Handlebars) { +define('handlebars_helpers', ['handlebars'], function handlebarsHelpers(Handlebars) { // Handlebars helpers - Handlebars.registerHelper('concat', function () { + Handlebars.registerHelper('concat', function concatHelper() { var size = (arguments.length - 1); var output = ''; var i; @@ -11,10 +10,10 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { return output; }); - Handlebars.registerHelper('number_format', function (value) { + Handlebars.registerHelper('number_format', function numberFormatHelper(value) { return Number(value).toLocaleString(); }); - Handlebars.registerHelper('date_format', function (timestamp, block) { + Handlebars.registerHelper('date_format', function dateFormatHelper(timestamp, block) { var f; if (window.moment) { if (timestamp === undefined || Number.isNaN(timestamp) || timestamp <= 0) { @@ -32,12 +31,12 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { return timestamp; }); - Handlebars.registerHelper('cycle', function (value, block) { + Handlebars.registerHelper('cycle', function cycleHelper(value, block) { var values = value.split(' '); return values[block.data.index % (values.length + 1)]; }); - Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) { + Handlebars.registerHelper('ifCond', function ifCondHelper(v1, operator, v2, options) { switch (operator) { case '==': return (v1 == v2) ? options.fn(this) : options.inverse(this); // eslint-disable-line eqeqeq @@ -66,35 +65,35 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { } }); - Handlebars.registerHelper('nl2br', function (value) { + Handlebars.registerHelper('nl2br', function nl2brHelper(value) { return value.gsub('\n', '
'); }); - Handlebars.registerHelper('json_encode', function (value) { + Handlebars.registerHelper('json_encode', function jsonEncodeHelper(value) { return JSON.stringify(value); }); - Handlebars.registerHelper('json_decode', function (value) { + Handlebars.registerHelper('json_decode', function jsonDecodeHelper(value) { return JSON.parse(value); }); - Handlebars.registerHelper('url', function (value) { + Handlebars.registerHelper('url', function urlHelper(value) { var url = window.location.protocol + '//' + window.location.host + window.location.pathname; return url + value; }); - Handlebars.registerHelper('emailFromMailto', function (value) { + Handlebars.registerHelper('emailFromMailto', function emailFromMailtoHelper(value) { var mailtoMatchingRegex = /^mailto:/i; if (typeof value === 'string' && value.match(mailtoMatchingRegex)) { return value.replace(mailtoMatchingRegex, ''); } return value; }); - Handlebars.registerHelper('lookup', function (obj, field) { + Handlebars.registerHelper('lookup', function lookupHelper(obj, field) { return obj && obj[field]; }); - Handlebars.registerHelper('rsa_key', function (value) { + Handlebars.registerHelper('rsa_key', function rsaKeyHelper(value) { var lines; // extract all lines into an array if (value === undefined) return ''; @@ -109,7 +108,7 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { return lines.join(''); }); - Handlebars.registerHelper('trim', function (value) { + Handlebars.registerHelper('trim', function trimHelper(value) { if (value === null || value === undefined) return ''; return value.trim(); }); @@ -124,7 +123,7 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { * @param {String} append The string to append if charaters are omitted. * @return {String} The truncated string. */ - Handlebars.registerHelper('ellipsis', function (str, limit, append) { + Handlebars.registerHelper('ellipsis', function ellipsisHelper(str, limit, append) { var strAppend = append; var sanitized = str.replace(/(<([^>]+)>)/g, ''); if (strAppend === undefined) { @@ -136,11 +135,11 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { return sanitized; }); - Handlebars.registerHelper('getNumber', function (string) { + Handlebars.registerHelper('getNumber', function getNumberHelper(string) { return parseInt(string, 10); }); - Handlebars.registerHelper('fontWithFallback', function (font) { + Handlebars.registerHelper('fontWithFallback', function fontWithFallbackHelper(font) { switch (font) { case 'Arial': return new Handlebars.SafeString("Arial, 'Helvetica Neue', Helvetica, sans-serif"); case 'Comic Sans MS': return new Handlebars.SafeString("'Comic Sans MS', 'Marker Felt-Thin', Arial, sans-serif"); @@ -161,6 +160,10 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) { case 'Playfair Display': return new Handlebars.SafeString("playfair display, georgia, 'times new roman', serif"); case 'Roboto': return new Handlebars.SafeString("roboto, 'helvetica neue', helvetica, arial, sans-serif"); case 'Source Sans Pro': return new Handlebars.SafeString("'source sans pro', 'helvetica neue', helvetica, arial, sans-serif"); + case 'Oswald': return new Handlebars.SafeString("Oswald, 'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif"); + case 'Raleway': return new Handlebars.SafeString("Raleway, 'Century Gothic', CenturyGothic, AppleGothic, sans-serif"); + case 'Permanent Marker': return new Handlebars.SafeString("'Permanent Marker', Tahoma, Verdana, Segoe, sans-serif"); + case 'Pacifico': return new Handlebars.SafeString("Pacifico, 'Arial Narrow', Arial, sans-serif"); default: return font; } }); diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index 62ec9c5d3d..8b9ce9b9cb 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -87,7 +87,21 @@ class Menu { // Disable WP emojis to not interfere with the newsletter editor emoji handling $this->disableWPEmojis(); add_action('admin_head', function() { - echo ''; + $fonts = 'Arvo:400,400i,700,700i' + . '|Lato:400,400i,700,700i' + . '|Lora:400,400i,700,700i' + . '|Merriweather:400,400i,700,700i' + . '|Merriweather+Sans:400,400i,700,700i' + . '|Noticia+Text:400,400i,700,700i' + . '|Open+Sans:400,400i,700,700i' + . '|Playfair+Display:400,400i,700,700i' + . '|Roboto:400,400i,700,700i' + . '|Source+Sans+Pro:400,400i,700,700i' + . '|Oswald:400,400i,700,700i' + . '|Raleway:400,400i,700,700i' + . '|Permanent+Marker:400,400i,700,700i' + . '|Pacifico:400,400i,700,700i'; + echo ''; }); } } diff --git a/lib/Newsletter/Renderer/StylesHelper.php b/lib/Newsletter/Renderer/StylesHelper.php index 5a5ed4deba..1956d4bec7 100644 --- a/lib/Newsletter/Renderer/StylesHelper.php +++ b/lib/Newsletter/Renderer/StylesHelper.php @@ -36,6 +36,10 @@ class StylesHelper { 'Playfair Display' => "'playfair display', georgia, 'times new roman', serif", 'Roboto' => "roboto, 'helvetica neue', helvetica, arial, sans-serif", 'Source Sans Pro' => "'source sans pro', 'helvetica neue', helvetica, arial, sans-serif", + 'Oswald' => "Oswald, 'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif", + 'Raleway' => "Raleway, 'Century Gothic', CenturyGothic, AppleGothic, sans-serif", + 'Permanent Marker' => "'Permanent Marker', Tahoma, Verdana, Segoe, sans-serif", + 'Pacifico' => "Pacifico, 'Arial Narrow', Arial, sans-serif", ]; static $custom_fonts = [ 'Arvo', @@ -48,6 +52,10 @@ class StylesHelper { 'Playfair Display', 'Roboto', 'Source Sans Pro', + 'Oswald', + 'Raleway', + 'Permanent Marker', + 'Pacifico', ]; static $line_height_multiplier = 1.6; static $heading_margin_multiplier = 0.3; @@ -140,11 +148,11 @@ class StylesHelper { foreach(self::getCustomFontsNames($styles) as $name) { $links[] = urlencode($name) . ':400,400i,700,700i'; } - if(!count($links)) { + if(!count($links)) { return ''; } return ''; } -} \ No newline at end of file +} diff --git a/views/newsletter/editor.html b/views/newsletter/editor.html index 5ff2bb488f..df4fba0547 100644 --- a/views/newsletter/editor.html +++ b/views/newsletter/editor.html @@ -637,7 +637,11 @@ 'Open Sans', 'Playfair Display', 'Roboto', - 'Source Sans Pro' + 'Source Sans Pro', + 'Oswald', + 'Raleway', + 'Permanent Marker', + 'Pacifico', ] }, socialIconSets: {