From ca5c58030b33771449774a509c0585dc099b1dd8 Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Fri, 18 Jun 2021 16:03:58 +0100 Subject: [PATCH] Added feature image caption and alt to labs email template no issue - when feature image redesign flag is enabled add the caption under the feature image when available - adds extra class for feature image so spacing can be adjusted when the caption is present --- core/server/services/labs.js | 4 ++++ .../services/mega/post-email-serializer.js | 4 +++- core/server/services/mega/template-labs.js | 20 ++++++++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/core/server/services/labs.js b/core/server/services/labs.js index d3000581ea..5347786903 100644 --- a/core/server/services/labs.js +++ b/core/server/services/labs.js @@ -36,6 +36,10 @@ module.exports.getAll = () => { return labs; }; +/** + * @param {string} flag + * @returns {boolean} + */ module.exports.isSet = function isSet(flag) { const labsConfig = module.exports.getAll(); diff --git a/core/server/services/mega/post-email-serializer.js b/core/server/services/mega/post-email-serializer.js index 83bc9bda64..5731774e2c 100644 --- a/core/server/services/mega/post-email-serializer.js +++ b/core/server/services/mega/post-email-serializer.js @@ -4,6 +4,7 @@ const template = require('./template'); const labsTemplate = require('./template-labs'); const config = require('../../../shared/config'); const settingsCache = require('../../services/settings/cache'); +const labs = require('../../services/labs'); const urlUtils = require('../../../shared/url-utils'); const moment = require('moment-timezone'); const cheerio = require('cheerio'); @@ -144,7 +145,8 @@ const getLabsTemplateSettings = async () => { bodyFontCategory: settingsCache.get('newsletter_body_font_category'), showBadge: settingsCache.get('newsletter_show_badge'), footerContent: settingsCache.get('newsletter_footer_content'), - accentColor: settingsCache.get('accent_color') + accentColor: settingsCache.get('accent_color'), + labsFeatureImageMeta: labs.isSet('featureImageMeta') }; if (templateSettings.headerImage) { diff --git a/core/server/services/mega/template-labs.js b/core/server/services/mega/template-labs.js index f2e1a67c2b..54ab899f5e 100644 --- a/core/server/services/mega/template-labs.js +++ b/core/server/services/mega/template-labs.js @@ -2,6 +2,7 @@ const iff = (cond, yes, no) => (cond ? yes : no); module.exports = ({post, site, templateSettings}) => { const date = new Date(); + const hasFeatureImageCaption = templateSettings.labsFeatureImageMeta && templateSettings.showFeatureImage && post.feature_image && post.feature_image_caption; return ` @@ -352,6 +353,18 @@ figure blockquote p { width: 100%; } +.feature-image-with-caption { + padding-bottom: 10px; +} + +.feature-image-caption { + width: 100%; + padding-bottom: 30px; + text-align: center; + font-size: 13px; + color: #738a94; +} + .post-content { max-width: 600px !important; font-family: Georgia, serif; @@ -940,7 +953,12 @@ ${ templateSettings.showBadge ? ` ${ templateSettings.showFeatureImage && post.feature_image ? ` - + ${post.feature_image_alt} + + ` : ``} + ${ hasFeatureImageCaption ? ` + + ${post.feature_image_caption} ` : ``}