Add new fonts

[MAILPOET-1733]
This commit is contained in:
Pavel Dohnal
2019-02-06 10:50:06 +01:00
committed by M. Shull
parent 0a23d78d90
commit 82bdd343bd
4 changed files with 51 additions and 22 deletions

View File

@@ -1,7 +1,6 @@
/* eslint-disable func-names */ define('handlebars_helpers', ['handlebars'], function handlebarsHelpers(Handlebars) {
define('handlebars_helpers', ['handlebars'], function (Handlebars) {
// Handlebars helpers // Handlebars helpers
Handlebars.registerHelper('concat', function () { Handlebars.registerHelper('concat', function concatHelper() {
var size = (arguments.length - 1); var size = (arguments.length - 1);
var output = ''; var output = '';
var i; var i;
@@ -11,10 +10,10 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) {
return output; return output;
}); });
Handlebars.registerHelper('number_format', function (value) { Handlebars.registerHelper('number_format', function numberFormatHelper(value) {
return Number(value).toLocaleString(); return Number(value).toLocaleString();
}); });
Handlebars.registerHelper('date_format', function (timestamp, block) { Handlebars.registerHelper('date_format', function dateFormatHelper(timestamp, block) {
var f; var f;
if (window.moment) { if (window.moment) {
if (timestamp === undefined || Number.isNaN(timestamp) || timestamp <= 0) { if (timestamp === undefined || Number.isNaN(timestamp) || timestamp <= 0) {
@@ -32,12 +31,12 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) {
return timestamp; return timestamp;
}); });
Handlebars.registerHelper('cycle', function (value, block) { Handlebars.registerHelper('cycle', function cycleHelper(value, block) {
var values = value.split(' '); var values = value.split(' ');
return values[block.data.index % (values.length + 1)]; 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) { switch (operator) {
case '==': case '==':
return (v1 == v2) ? options.fn(this) : options.inverse(this); // eslint-disable-line eqeqeq 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', '<br />'); return value.gsub('\n', '<br />');
}); });
Handlebars.registerHelper('json_encode', function (value) { Handlebars.registerHelper('json_encode', function jsonEncodeHelper(value) {
return JSON.stringify(value); return JSON.stringify(value);
}); });
Handlebars.registerHelper('json_decode', function (value) { Handlebars.registerHelper('json_decode', function jsonDecodeHelper(value) {
return JSON.parse(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; var url = window.location.protocol + '//' + window.location.host + window.location.pathname;
return url + value; return url + value;
}); });
Handlebars.registerHelper('emailFromMailto', function (value) { Handlebars.registerHelper('emailFromMailto', function emailFromMailtoHelper(value) {
var mailtoMatchingRegex = /^mailto:/i; var mailtoMatchingRegex = /^mailto:/i;
if (typeof value === 'string' && value.match(mailtoMatchingRegex)) { if (typeof value === 'string' && value.match(mailtoMatchingRegex)) {
return value.replace(mailtoMatchingRegex, ''); return value.replace(mailtoMatchingRegex, '');
} }
return value; return value;
}); });
Handlebars.registerHelper('lookup', function (obj, field) { Handlebars.registerHelper('lookup', function lookupHelper(obj, field) {
return obj && obj[field]; return obj && obj[field];
}); });
Handlebars.registerHelper('rsa_key', function (value) { Handlebars.registerHelper('rsa_key', function rsaKeyHelper(value) {
var lines; var lines;
// extract all lines into an array // extract all lines into an array
if (value === undefined) return ''; if (value === undefined) return '';
@@ -109,7 +108,7 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) {
return lines.join(''); return lines.join('');
}); });
Handlebars.registerHelper('trim', function (value) { Handlebars.registerHelper('trim', function trimHelper(value) {
if (value === null || value === undefined) return ''; if (value === null || value === undefined) return '';
return value.trim(); return value.trim();
}); });
@@ -124,7 +123,7 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) {
* @param {String} append The string to append if charaters are omitted. * @param {String} append The string to append if charaters are omitted.
* @return {String} The truncated string. * @return {String} The truncated string.
*/ */
Handlebars.registerHelper('ellipsis', function (str, limit, append) { Handlebars.registerHelper('ellipsis', function ellipsisHelper(str, limit, append) {
var strAppend = append; var strAppend = append;
var sanitized = str.replace(/(<([^>]+)>)/g, ''); var sanitized = str.replace(/(<([^>]+)>)/g, '');
if (strAppend === undefined) { if (strAppend === undefined) {
@@ -136,11 +135,11 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) {
return sanitized; return sanitized;
}); });
Handlebars.registerHelper('getNumber', function (string) { Handlebars.registerHelper('getNumber', function getNumberHelper(string) {
return parseInt(string, 10); return parseInt(string, 10);
}); });
Handlebars.registerHelper('fontWithFallback', function (font) { Handlebars.registerHelper('fontWithFallback', function fontWithFallbackHelper(font) {
switch (font) { switch (font) {
case 'Arial': return new Handlebars.SafeString("Arial, 'Helvetica Neue', Helvetica, sans-serif"); 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"); 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 '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 '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 '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; default: return font;
} }
}); });

View File

@@ -87,7 +87,21 @@ class Menu {
// Disable WP emojis to not interfere with the newsletter editor emoji handling // Disable WP emojis to not interfere with the newsletter editor emoji handling
$this->disableWPEmojis(); $this->disableWPEmojis();
add_action('admin_head', function() { add_action('admin_head', function() {
echo '<!--[if !mso]><link href="https://fonts.googleapis.com/css?family=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" rel="stylesheet"><![endif]-->'; $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 '<!--[if !mso]><link href="https://fonts.googleapis.com/css?family=' . $fonts . '" rel="stylesheet"><![endif]-->';
}); });
} }
} }

View File

@@ -36,6 +36,10 @@ class StylesHelper {
'Playfair Display' => "'playfair display', georgia, 'times new roman', serif", 'Playfair Display' => "'playfair display', georgia, 'times new roman', serif",
'Roboto' => "roboto, 'helvetica neue', helvetica, arial, sans-serif", 'Roboto' => "roboto, 'helvetica neue', helvetica, arial, sans-serif",
'Source Sans Pro' => "'source sans pro', '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 = [ static $custom_fonts = [
'Arvo', 'Arvo',
@@ -48,6 +52,10 @@ class StylesHelper {
'Playfair Display', 'Playfair Display',
'Roboto', 'Roboto',
'Source Sans Pro', 'Source Sans Pro',
'Oswald',
'Raleway',
'Permanent Marker',
'Pacifico',
]; ];
static $line_height_multiplier = 1.6; static $line_height_multiplier = 1.6;
static $heading_margin_multiplier = 0.3; static $heading_margin_multiplier = 0.3;
@@ -140,11 +148,11 @@ class StylesHelper {
foreach(self::getCustomFontsNames($styles) as $name) { foreach(self::getCustomFontsNames($styles) as $name) {
$links[] = urlencode($name) . ':400,400i,700,700i'; $links[] = urlencode($name) . ':400,400i,700,700i';
} }
if(!count($links)) { if(!count($links)) {
return ''; return '';
} }
return '<!--[if !mso]><link href="https://fonts.googleapis.com/css?family=' return '<!--[if !mso]><link href="https://fonts.googleapis.com/css?family='
. implode("|", $links) . implode("|", $links)
. '" rel="stylesheet"><![endif]-->'; . '" rel="stylesheet"><![endif]-->';
} }
} }

View File

@@ -637,7 +637,11 @@
'Open Sans', 'Open Sans',
'Playfair Display', 'Playfair Display',
'Roboto', 'Roboto',
'Source Sans Pro' 'Source Sans Pro',
'Oswald',
'Raleway',
'Permanent Marker',
'Pacifico',
] ]
}, },
socialIconSets: { socialIconSets: {