adding custom fonts
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
@import 'nib'
|
@import 'nib'
|
||||||
|
|
||||||
|
@require 'custom_fonts'
|
||||||
|
|
||||||
@require 'select2/dist/css/select2.css'
|
@require 'select2/dist/css/select2.css'
|
||||||
@require 'datepicker/datepicker'
|
@require 'datepicker/datepicker'
|
||||||
@require 'badge'
|
@require 'badge'
|
||||||
@@ -36,4 +38,4 @@
|
|||||||
@require 'welcome_wizard'
|
@require 'welcome_wizard'
|
||||||
@require 'intro'
|
@require 'intro'
|
||||||
@require 'in_app_announcements'
|
@require 'in_app_announcements'
|
||||||
@require 'discounts'
|
@require 'discounts'
|
1
assets/css/src/custom_fonts.styl
Normal file
1
assets/css/src/custom_fonts.styl
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@import url('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');
|
@@ -236,3 +236,16 @@ select.mailpoet_font-size
|
|||||||
margin-left: 10px
|
margin-left: 10px
|
||||||
input.mailpoet_option_offset_left_small
|
input.mailpoet_option_offset_left_small
|
||||||
margin-left: 10px !important
|
margin-left: 10px !important
|
||||||
|
|
||||||
|
.mailpoet_form_field span.select2-container
|
||||||
|
width: 103px !important
|
||||||
|
|
||||||
|
span.select2-container--open > span.select2-dropdown
|
||||||
|
width: 150px !important
|
||||||
|
|
||||||
|
span.select2-container--open > span.select2-dropdown li.select2-results__option
|
||||||
|
margin: 0px !important
|
||||||
|
padding: 2px !important
|
||||||
|
|
||||||
|
.mailpoet-fonts-notice
|
||||||
|
color: #999
|
||||||
|
@@ -151,6 +151,16 @@ define('handlebars_helpers', ['handlebars'], function (Handlebars) {
|
|||||||
case 'Times New Roman': return new Handlebars.SafeString("'Times New Roman', Times, Baskerville, Georgia, serif");
|
case 'Times New Roman': return new Handlebars.SafeString("'Times New Roman', Times, Baskerville, Georgia, serif");
|
||||||
case 'Trebuchet MS': return new Handlebars.SafeString("'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif");
|
case 'Trebuchet MS': return new Handlebars.SafeString("'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif");
|
||||||
case 'Verdana': return new Handlebars.SafeString('Verdana, Geneva, sans-serif');
|
case 'Verdana': return new Handlebars.SafeString('Verdana, Geneva, sans-serif');
|
||||||
|
case 'Arvo': return new Handlebars.SafeString('arvo, courier, georgia, serif');
|
||||||
|
case 'Lato': return new Handlebars.SafeString("lato, 'helvetica neue', helvetica, arial, sans-serif");
|
||||||
|
case 'Lora': return new Handlebars.SafeString("lora, georgia, 'times new roman', serif");
|
||||||
|
case 'Merriweather': return new Handlebars.SafeString("merriweather, georgia, 'times new roman', serif");
|
||||||
|
case 'Merriweather Sans': return new Handlebars.SafeString("'merriweather sans', 'helvetica neue', helvetica, arial, sans-serif");
|
||||||
|
case 'Noticia Text': return new Handlebars.SafeString("'noticia text', georgia, 'times new roman', serif");
|
||||||
|
case 'Open Sans': return new Handlebars.SafeString("'open sans', 'helvetica neue', helvetica, arial, sans-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 'Source Sans Pro': return new Handlebars.SafeString("'source sans pro', 'helvetica neue', helvetica, arial, sans-serif");
|
||||||
default: return font;
|
default: return font;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@@ -50,10 +50,12 @@ class Renderer {
|
|||||||
$content = $this->preProcessALC($content);
|
$content = $this->preProcessALC($content);
|
||||||
$rendered_body = $this->renderBody($content);
|
$rendered_body = $this->renderBody($content);
|
||||||
$rendered_styles = $this->renderStyles($styles);
|
$rendered_styles = $this->renderStyles($styles);
|
||||||
|
$custom_fonts_links = StylesHelper::getCustomFontsLinks($styles);
|
||||||
|
|
||||||
$template = $this->injectContentIntoTemplate($this->template, array(
|
$template = $this->injectContentIntoTemplate($this->template, array(
|
||||||
htmlspecialchars($newsletter['subject']),
|
htmlspecialchars($newsletter['subject']),
|
||||||
$rendered_styles,
|
$rendered_styles,
|
||||||
|
$custom_fonts_links,
|
||||||
$newsletter['preheader'],
|
$newsletter['preheader'],
|
||||||
$rendered_body
|
$rendered_body
|
||||||
));
|
));
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
namespace MailPoet\Newsletter\Renderer;
|
namespace MailPoet\Newsletter\Renderer;
|
||||||
|
|
||||||
class StylesHelper {
|
class StylesHelper {
|
||||||
static $css_attributes = array(
|
static $css_attributes = [
|
||||||
'backgroundColor' => 'background-color',
|
'backgroundColor' => 'background-color',
|
||||||
'fontColor' => 'color',
|
'fontColor' => 'color',
|
||||||
'fontFamily' => 'font-family',
|
'fontFamily' => 'font-family',
|
||||||
@@ -15,8 +15,8 @@ class StylesHelper {
|
|||||||
'borderColor' => 'border-color',
|
'borderColor' => 'border-color',
|
||||||
'borderRadius' => 'border-radius',
|
'borderRadius' => 'border-radius',
|
||||||
'lineHeight' => 'line-height'
|
'lineHeight' => 'line-height'
|
||||||
);
|
];
|
||||||
static $font = array(
|
static $font = [
|
||||||
'Arial' => "Arial, 'Helvetica Neue', Helvetica, sans-serif",
|
'Arial' => "Arial, 'Helvetica Neue', Helvetica, sans-serif",
|
||||||
'Comic Sans MS' => "'Comic Sans MS', 'Marker Felt-Thin', Arial, sans-serif",
|
'Comic Sans MS' => "'Comic Sans MS', 'Marker Felt-Thin', Arial, sans-serif",
|
||||||
'Courier New' => "'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace",
|
'Courier New' => "'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace",
|
||||||
@@ -25,8 +25,30 @@ class StylesHelper {
|
|||||||
'Tahoma' => 'Tahoma, Verdana, Segoe, sans-serif',
|
'Tahoma' => 'Tahoma, Verdana, Segoe, sans-serif',
|
||||||
'Times New Roman' => "'Times New Roman', Times, Baskerville, Georgia, serif",
|
'Times New Roman' => "'Times New Roman', Times, Baskerville, Georgia, serif",
|
||||||
'Trebuchet MS' => "'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif",
|
'Trebuchet MS' => "'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, sans-serif",
|
||||||
'Verdana' => 'Verdana, Geneva, sans-serif'
|
'Verdana' => 'Verdana, Geneva, sans-serif',
|
||||||
);
|
'Arvo' => "arvo, courier, georgia, serif",
|
||||||
|
'Lato' => "lato, helvetica neue, helvetica, arial, sans-serif",
|
||||||
|
'Lora' => "lora, georgia, times new roman, serif",
|
||||||
|
'Merriweather' => "merriweather, georgia, times new roman, serif",
|
||||||
|
'Merriweather Sans' => "merriweather sans, helvetica neue, helvetica, arial, sans-serif",
|
||||||
|
'Noticia Text' => "noticia text, georgia, times new roman, serif",
|
||||||
|
'Open Sans' => "open sans, helvetica neue, helvetica, arial, sans-serif",
|
||||||
|
'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"
|
||||||
|
];
|
||||||
|
static $custom_fonts = [
|
||||||
|
'Arvo',
|
||||||
|
'Lato',
|
||||||
|
'Lora',
|
||||||
|
'Merriweather',
|
||||||
|
'Merriweather Sans',
|
||||||
|
'Noticia Text',
|
||||||
|
'Open Sans',
|
||||||
|
'Playfair Display',
|
||||||
|
'Roboto',
|
||||||
|
'Source Sans Pro'
|
||||||
|
];
|
||||||
static $line_height_multiplier = 1.6;
|
static $line_height_multiplier = 1.6;
|
||||||
static $heading_margin_multiplier = 0.3;
|
static $heading_margin_multiplier = 0.3;
|
||||||
static $padding_width = 20;
|
static $padding_width = 20;
|
||||||
@@ -102,4 +124,23 @@ class StylesHelper {
|
|||||||
$style['lineHeight'] = sprintf('%spx', self::$line_height_multiplier * $font_size);
|
$style['lineHeight'] = sprintf('%spx', self::$line_height_multiplier * $font_size);
|
||||||
return $style;
|
return $style;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static function getCustomFontsNames($styles) {
|
||||||
|
$font_names = [];
|
||||||
|
foreach($styles as $style) {
|
||||||
|
if (isset($style['fontFamily']) && in_array($style['fontFamily'], self::$custom_fonts))
|
||||||
|
$font_names[$style['fontFamily']] = true;
|
||||||
|
}
|
||||||
|
return array_keys($font_names);
|
||||||
|
}
|
||||||
|
|
||||||
|
static function getCustomFontsLinks($styles) {
|
||||||
|
$links = [];
|
||||||
|
foreach(self::getCustomFontsNames($styles) as $name) {
|
||||||
|
$links[] = '<!--[if !mso]><!--><link href="https://fonts.googleapis.com/css?family='
|
||||||
|
. str_replace(' ', '+', $name)
|
||||||
|
. ':400,400i,700,700i" rel="stylesheet"><!--<![endif]-->';
|
||||||
|
}
|
||||||
|
return implode("\n", $links);
|
||||||
|
}
|
||||||
}
|
}
|
@@ -78,6 +78,7 @@
|
|||||||
}
|
}
|
||||||
{{newsletter_styles}}
|
{{newsletter_styles}}
|
||||||
</style>
|
</style>
|
||||||
|
{{newsletter_custom_fonts}}
|
||||||
</head>
|
</head>
|
||||||
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
|
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
|
||||||
<table class="mailpoet_template" border="0" width="100%" cellpadding="0" cellspacing="0"
|
<table class="mailpoet_template" border="0" width="100%" cellpadding="0" cellspacing="0"
|
||||||
|
@@ -153,7 +153,10 @@ define([
|
|||||||
describe('settings view', function () {
|
describe('settings view', function () {
|
||||||
global.stubChannel(EditorApplication);
|
global.stubChannel(EditorApplication);
|
||||||
global.stubAvailableStyles(EditorApplication, {
|
global.stubAvailableStyles(EditorApplication, {
|
||||||
fonts: ['Arial', 'Tahoma'],
|
fonts: {
|
||||||
|
standard: ['Arial', 'Tahoma'],
|
||||||
|
custom: ['Arvo', 'Lato', 'Lora']
|
||||||
|
},
|
||||||
textSizes: ['16px', '20px']
|
textSizes: ['16px', '20px']
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -173,7 +176,10 @@ define([
|
|||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
global.stubChannel(EditorApplication);
|
global.stubChannel(EditorApplication);
|
||||||
global.stubAvailableStyles(EditorApplication, {
|
global.stubAvailableStyles(EditorApplication, {
|
||||||
fonts: ['Arial', 'Tahoma'],
|
fonts: {
|
||||||
|
standard: ['Arial', 'Tahoma'],
|
||||||
|
custom: ['Arvo', 'Lato', 'Lora']
|
||||||
|
},
|
||||||
textSizes: ['16px', '20px']
|
textSizes: ['16px', '20px']
|
||||||
});
|
});
|
||||||
model = new (FooterBlock.FooterBlockModel)({});
|
model = new (FooterBlock.FooterBlockModel)({});
|
||||||
|
@@ -153,7 +153,10 @@ define([
|
|||||||
global.stubChannel(EditorApplication);
|
global.stubChannel(EditorApplication);
|
||||||
global.stubConfig(EditorApplication);
|
global.stubConfig(EditorApplication);
|
||||||
global.stubAvailableStyles(EditorApplication, {
|
global.stubAvailableStyles(EditorApplication, {
|
||||||
fonts: ['Arial', 'Tahoma'],
|
fonts: {
|
||||||
|
standard: ['Arial', 'Tahoma'],
|
||||||
|
custom: ['Arvo', 'Lato', 'Lora']
|
||||||
|
},
|
||||||
textSizes: ['16px', '20px']
|
textSizes: ['16px', '20px']
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -173,7 +176,10 @@ define([
|
|||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
global.stubChannel(EditorApplication);
|
global.stubChannel(EditorApplication);
|
||||||
global.stubAvailableStyles(EditorApplication, {
|
global.stubAvailableStyles(EditorApplication, {
|
||||||
fonts: ['Arial', 'Tahoma'],
|
fonts: {
|
||||||
|
standard: ['Arial', 'Tahoma'],
|
||||||
|
custom: ['Arvo', 'Lato', 'Lora']
|
||||||
|
},
|
||||||
textSizes: ['16px', '20px']
|
textSizes: ['16px', '20px']
|
||||||
});
|
});
|
||||||
model = new (HeaderBlock.HeaderBlockModel)({});
|
model = new (HeaderBlock.HeaderBlockModel)({});
|
||||||
|
@@ -79,7 +79,13 @@ define([
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
availableStyles = new Backbone.SuperModel({
|
availableStyles = new Backbone.SuperModel({
|
||||||
fonts: ['Arial', 'Times New Roman', 'Tahoma', 'Comic Sans', 'Lucida'],
|
fonts: {
|
||||||
|
standard: ['Arial', 'Times New Roman', 'Tahoma', 'Comic Sans', 'Lucida'],
|
||||||
|
custom: [
|
||||||
|
'Arvo', 'Lato', 'Lora', 'Merriweather', 'Merriweather Sans', 'Noticia Text',
|
||||||
|
'Open Sans', 'Playfair Display', 'Roboto', 'Source Sans Pro'
|
||||||
|
]
|
||||||
|
},
|
||||||
textSizes: [
|
textSizes: [
|
||||||
'9px', '10px'
|
'9px', '10px'
|
||||||
],
|
],
|
||||||
|
50
tests/unit/Newsletter/Renderer/StylesHelperTest.php
Normal file
50
tests/unit/Newsletter/Renderer/StylesHelperTest.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
namespace MailPoet\Test\Newsletter;
|
||||||
|
|
||||||
|
use MailPoet\Newsletter\Renderer\StylesHelper;
|
||||||
|
|
||||||
|
class StylesHelperTest extends \MailPoetTest {
|
||||||
|
|
||||||
|
function __construct() {
|
||||||
|
parent::__construct();
|
||||||
|
$this->styles = [
|
||||||
|
"text" => [
|
||||||
|
"fontColor" => "#565656",
|
||||||
|
"fontFamily" => "Arial",
|
||||||
|
"fontSize" => "16px"
|
||||||
|
],
|
||||||
|
"h1" => [
|
||||||
|
"fontColor" => "#565656",
|
||||||
|
"fontFamily" => "Roboto",
|
||||||
|
"fontSize" => "36px"
|
||||||
|
],
|
||||||
|
"h2" => [
|
||||||
|
"fontColor" => "#565656",
|
||||||
|
"fontFamily" => "Source Sans Pro",
|
||||||
|
"fontSize" => "26px"
|
||||||
|
],
|
||||||
|
"h3" => [
|
||||||
|
"fontColor" => "#565656",
|
||||||
|
"fontFamily" => "Roboto",
|
||||||
|
"fontSize" => "18px"
|
||||||
|
],
|
||||||
|
"link" => [
|
||||||
|
"fontColor" => "#561ab9",
|
||||||
|
"textDecoration" => "underline"
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
function testItGetsCustomFontsNames() {
|
||||||
|
expect(StylesHelper::getCustomFontsNames($this->styles))
|
||||||
|
->equals(['Roboto', 'Source Sans Pro']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testItGetsCustomFontsLinks() {
|
||||||
|
expect(StylesHelper::getCustomFontsLinks($this->styles))
|
||||||
|
->equals(implode("\n", [
|
||||||
|
'<!--[if !mso]><!--><link href="https://fonts.googleapis.com/css?family=Roboto:400,400i,700,700i" rel="stylesheet"><!--<![endif]-->',
|
||||||
|
'<!--[if !mso]><!--><link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,700,700i" rel="stylesheet"><!--<![endif]-->',
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
}
|
@@ -397,6 +397,21 @@
|
|||||||
<%= do_action('mailpoet_newsletter_editor_after_javascript') %>
|
<%= do_action('mailpoet_newsletter_editor_after_javascript') %>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
function renderWithFont(node) {
|
||||||
|
if (!node.element) return node.text;
|
||||||
|
var $wrapper = $('<span></span>');
|
||||||
|
$wrapper.css({'font-family': Handlebars.helpers.fontWithFallback(node.element.value)});
|
||||||
|
$wrapper.text(node.text);
|
||||||
|
return $wrapper;
|
||||||
|
}
|
||||||
|
function fontsSelect(selector) {
|
||||||
|
jQuery(selector).select2({
|
||||||
|
minimumResultsForSearch: Infinity,
|
||||||
|
templateSelection: renderWithFont,
|
||||||
|
templateResult: renderWithFont
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
var templates = {
|
var templates = {
|
||||||
styles: Handlebars.compile(
|
styles: Handlebars.compile(
|
||||||
jQuery('#newsletter_editor_template_styles').html()
|
jQuery('#newsletter_editor_template_styles').html()
|
||||||
@@ -604,17 +619,31 @@
|
|||||||
'10px', '12px', '14px', '16px', '18px', '20px', '22px', '24px',
|
'10px', '12px', '14px', '16px', '18px', '20px', '22px', '24px',
|
||||||
'26px', '30px', '36px', '40px'
|
'26px', '30px', '36px', '40px'
|
||||||
],
|
],
|
||||||
fonts: [
|
fonts: {
|
||||||
'Arial',
|
standard: [
|
||||||
'Comic Sans MS',
|
'Arial',
|
||||||
'Courier New',
|
'Comic Sans MS',
|
||||||
'Georgia',
|
'Courier New',
|
||||||
'Lucida',
|
'Georgia',
|
||||||
'Tahoma',
|
'Lucida',
|
||||||
'Times New Roman',
|
'Tahoma',
|
||||||
'Trebuchet MS',
|
'Times New Roman',
|
||||||
'Verdana'
|
'Trebuchet MS',
|
||||||
],
|
'Verdana'
|
||||||
|
],
|
||||||
|
custom: [
|
||||||
|
'Arvo',
|
||||||
|
'Lato',
|
||||||
|
'Lora',
|
||||||
|
'Merriweather',
|
||||||
|
'Merriweather Sans',
|
||||||
|
'Noticia Text',
|
||||||
|
'Open Sans',
|
||||||
|
'Playfair Display',
|
||||||
|
'Roboto',
|
||||||
|
'Source Sans Pro'
|
||||||
|
]
|
||||||
|
},
|
||||||
socialIconSets: {
|
socialIconSets: {
|
||||||
'default': {
|
'default': {
|
||||||
'custom': '<%= image_url(
|
'custom': '<%= image_url(
|
||||||
@@ -1322,5 +1351,6 @@
|
|||||||
};
|
};
|
||||||
var mailpoet_in_app_announcements = <%= json_encode(settings.in_app_announcements) %>;
|
var mailpoet_in_app_announcements = <%= json_encode(settings.in_app_announcements) %>;
|
||||||
wp.hooks.doAction('mailpoet_newsletters_editor_initialize', config);
|
wp.hooks.doAction('mailpoet_newsletters_editor_initialize', config);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<% endblock %>
|
<% endblock %>
|
||||||
|
@@ -3,9 +3,16 @@
|
|||||||
<div class="mailpoet_form_field_input_option">
|
<div class="mailpoet_form_field_input_option">
|
||||||
<input type="text" name="font-color" id="mailpoet_field_footer_text_color" class="mailpoet_field_footer_text_color mailpoet_color" value="{{ model.styles.text.fontColor }}" />
|
<input type="text" name="font-color" id="mailpoet_field_footer_text_color" class="mailpoet_field_footer_text_color mailpoet_color" value="{{ model.styles.text.fontColor }}" />
|
||||||
<select id="mailpoet_field_footer_text_font_family" name="font-family" class="mailpoet_select mailpoet_select_medium mailpoet_field_footer_text_font_family mailpoet_font_family">
|
<select id="mailpoet_field_footer_text_font_family" name="font-family" class="mailpoet_select mailpoet_select_medium mailpoet_field_footer_text_font_family mailpoet_font_family">
|
||||||
{{#each availableStyles.fonts}}
|
<optgroup label="<%= __('Standard fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.standard}}
|
||||||
<option value="{{ this }}" {{#ifCond this '==' ../model.styles.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
<option value="{{ this }}" {{#ifCond this '==' ../model.styles.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="<%= __('Custom fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.custom}}
|
||||||
|
<option value="{{ this }}" {{#ifCond this '==' ../model.styles.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<select id="mailpoet_field_footer_text_size" name="font-size" class="mailpoet_select mailpoet_select_small mailpoet_field_footer_text_size mailpoet_font_size">
|
<select id="mailpoet_field_footer_text_size" name="font-size" class="mailpoet_select mailpoet_select_small mailpoet_field_footer_text_size mailpoet_font_size">
|
||||||
{{#each availableStyles.textSizes}}
|
{{#each availableStyles.textSizes}}
|
||||||
@@ -58,3 +65,6 @@
|
|||||||
<div class="mailpoet_form_field">
|
<div class="mailpoet_form_field">
|
||||||
<input type="button" class="button button-primary mailpoet_done_editing" value="<%= __('Done') | escape('html_attr') %>" />
|
<input type="button" class="button button-primary mailpoet_done_editing" value="<%= __('Done') | escape('html_attr') %>" />
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
fontsSelect('#mailpoet_field_footer_text_font_family');
|
||||||
|
</script>
|
@@ -3,9 +3,17 @@
|
|||||||
<div class="mailpoet_form_field_input_option">
|
<div class="mailpoet_form_field_input_option">
|
||||||
<input type="text" name="font-color" id="mailpoet_field_header_text_color" class="mailpoet_field_header_text_color mailpoet_color" value="{{ model.styles.text.fontColor }}" />
|
<input type="text" name="font-color" id="mailpoet_field_header_text_color" class="mailpoet_field_header_text_color mailpoet_color" value="{{ model.styles.text.fontColor }}" />
|
||||||
<select id="mailpoet_field_header_text_font_family" name="font-family" class="mailpoet_select mailpoet_select_medium mailpoet_field_header_text_font_family mailpoet_font_family">
|
<select id="mailpoet_field_header_text_font_family" name="font-family" class="mailpoet_select mailpoet_select_medium mailpoet_field_header_text_font_family mailpoet_font_family">
|
||||||
{{#each availableStyles.fonts}}
|
|
||||||
|
<optgroup label="<%= __('Standard fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.standard}}
|
||||||
<option value="{{ this }}" {{#ifCond this '==' ../model.styles.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
<option value="{{ this }}" {{#ifCond this '==' ../model.styles.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="<%= __('Custom fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.custom}}
|
||||||
|
<option value="{{ this }}" {{#ifCond this '==' ../model.styles.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<select id="mailpoet_field_header_text_size" name="font-size" class="mailpoet_select mailpoet_select_small mailpoet_field_header_text_size mailpoet_font_size">
|
<select id="mailpoet_field_header_text_size" name="font-size" class="mailpoet_select mailpoet_select_small mailpoet_field_header_text_size mailpoet_font_size">
|
||||||
{{#each availableStyles.textSizes}}
|
{{#each availableStyles.textSizes}}
|
||||||
@@ -58,3 +66,6 @@
|
|||||||
<div class="mailpoet_form_field">
|
<div class="mailpoet_form_field">
|
||||||
<input type="button" class="button button-primary mailpoet_done_editing" value="<%= __('Done') | escape('html_attr') %>" />
|
<input type="button" class="button button-primary mailpoet_done_editing" value="<%= __('Done') | escape('html_attr') %>" />
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
fontsSelect('#mailpoet_field_header_text_font_family');
|
||||||
|
</script>
|
@@ -8,9 +8,16 @@
|
|||||||
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="text-color" value="{{ model.text.fontColor }}" id="mailpoet_text_font_color"></span>
|
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="text-color" value="{{ model.text.fontColor }}" id="mailpoet_text_font_color"></span>
|
||||||
</span>
|
</span>
|
||||||
<select id="mailpoet_text_font_family" name="text-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
<select id="mailpoet_text_font_family" name="text-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
||||||
{{#each availableStyles.fonts}}
|
<optgroup label="<%= __('Standard fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.standard}}
|
||||||
<option value="{{ this }}" {{#ifCond this '==' ../model.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
<option value="{{ this }}" {{#ifCond this '==' ../model.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="<%= __('Custom fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.custom}}
|
||||||
|
<option value="{{ this }}" {{#ifCond this '==' ../model.text.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<select id="mailpoet_text_font_size" name="text-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
<select id="mailpoet_text_font_size" name="text-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
||||||
{{#each availableStyles.textSizes}}
|
{{#each availableStyles.textSizes}}
|
||||||
@@ -23,9 +30,16 @@
|
|||||||
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="h1-color" value="{{ model.h1.fontColor }}" id="mailpoet_h1_font_color"></span>
|
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="h1-color" value="{{ model.h1.fontColor }}" id="mailpoet_h1_font_color"></span>
|
||||||
</span>
|
</span>
|
||||||
<select id="mailpoet_h1_font_family" name="h1-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
<select id="mailpoet_h1_font_family" name="h1-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
||||||
{{#each availableStyles.fonts}}
|
<optgroup label="<%= __('Standard fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.standard}}
|
||||||
<option value="{{ this }}" {{#ifCond this '==' ../model.h1.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
<option value="{{ this }}" {{#ifCond this '==' ../model.h1.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="<%= __('Custom fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.custom}}
|
||||||
|
<option value="{{ this }}" {{#ifCond this '==' ../model.h1.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<select id="mailpoet_h1_font_size" name="h1-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
<select id="mailpoet_h1_font_size" name="h1-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
||||||
{{#each availableStyles.headingSizes}}
|
{{#each availableStyles.headingSizes}}
|
||||||
@@ -38,9 +52,16 @@
|
|||||||
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="h2-color" value="{{ model.h2.fontColor }}" id="mailpoet_h2_font_color"></span>
|
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="h2-color" value="{{ model.h2.fontColor }}" id="mailpoet_h2_font_color"></span>
|
||||||
</span>
|
</span>
|
||||||
<select id="mailpoet_h2_font_family" name="h2-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
<select id="mailpoet_h2_font_family" name="h2-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
||||||
{{#each availableStyles.fonts}}
|
<optgroup label="<%= __('Standard fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.standard}}
|
||||||
<option value="{{ this }}" {{#ifCond this '==' ../model.h2.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
<option value="{{ this }}" {{#ifCond this '==' ../model.h2.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="<%= __('Custom fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.custom}}
|
||||||
|
<option value="{{ this }}" {{#ifCond this '==' ../model.h2.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<select id="mailpoet_h2_font_size" name="h2-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
<select id="mailpoet_h2_font_size" name="h2-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
||||||
{{#each availableStyles.headingSizes}}
|
{{#each availableStyles.headingSizes}}
|
||||||
@@ -53,9 +74,16 @@
|
|||||||
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="h3-color" value="{{ model.h3.fontColor }}" id="mailpoet_h3_font_color"></span>
|
<span><input type="text" class="mailpoet_color" size="6" maxlength="6" name="h3-color" value="{{ model.h3.fontColor }}" id="mailpoet_h3_font_color"></span>
|
||||||
</span>
|
</span>
|
||||||
<select id="mailpoet_h3_font_family" name="h3-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
<select id="mailpoet_h3_font_family" name="h3-family" class="mailpoet_font_family mailpoet_select mailpoet_select_medium">
|
||||||
{{#each availableStyles.fonts}}
|
<optgroup label="<%= __('Standard fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.standard}}
|
||||||
<option value="{{ this }}" {{#ifCond this '==' ../model.h3.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
<option value="{{ this }}" {{#ifCond this '==' ../model.h3.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="<%= __('Custom fonts')%>">
|
||||||
|
{{#each availableStyles.fonts.custom}}
|
||||||
|
<option value="{{ this }}" {{#ifCond this '==' ../model.h3.fontFamily}}SELECTED{{/ifCond}}>{{ this }}</option>
|
||||||
|
{{/each}}
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<select id="mailpoet_h3_font_size" name="h3-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
<select id="mailpoet_h3_font_size" name="h3-size" class="mailpoet_font_size mailpoet_select mailpoet_select_small">
|
||||||
{{#each availableStyles.headingSizes}}
|
{{#each availableStyles.headingSizes}}
|
||||||
@@ -80,4 +108,8 @@
|
|||||||
</span><%= __('Global background') %>
|
</span><%= __('Global background') %>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<p class="mailpoet-fonts-notice"><%= __('If an email client [link]does not support a custom web font[/link], a similar standard font will be used instead.')|replaceLinkTags('https://beta.docs.mailpoet.com/article/176-which-fonts-can-be-used-in-mailpoet#custom-web-fonts', {'target' : '_blank'})|raw %></p>
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
fontsSelect('.mailpoet_font_family.mailpoet_select');
|
||||||
|
</script>
|
Reference in New Issue
Block a user