0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-10 23:36:14 -05:00

Added extra newsletter settings

refs https://github.com/TryGhost/Team/issues/755

Additional customisation settings for newsletter emails are being introduced. Defaults match the existing email design.

- adds new settings
  - `newsletter_header_image` - stores URL from image upload
  - `newsletter_show_header_icon` - boolean toggle, default `true`
  - `newsletter_show_header_title` - boolean toggle, default `true`
  - `newsletter_show_feature_image` - boolean toggle, default `true`
  - `newsletter_title_alignment` - "left" or "center" selection, default "center"
  - `newsletter_title_font_category` - "serif" or "sans_serif" selection, default "sans_serif" (matches body font category selection)
This commit is contained in:
Kevin Ansfield 2021-06-07 10:00:10 +01:00
parent 024fd27221
commit 485a50794e
6 changed files with 119 additions and 3 deletions

View file

@ -472,6 +472,80 @@
},
"type": "boolean"
},
"newsletter_header_image": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 2000
}
},
"type": "string"
},
"newsletter_show_header_icon": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [
[
"true",
"false"
]
]
},
"type": "boolean"
},
"newsletter_show_header_title": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [
[
"true",
"false"
]
]
},
"type": "boolean"
},
"newsletter_title_alignment": {
"defaultValue": "center",
"validations": {
"isEmpty": false,
"isIn": [
[
"center",
"left"
]
]
},
"type": "string"
},
"newsletter_title_font_category": {
"defaultValue": "sans_serif",
"validations": {
"isEmpty": false,
"isIn": [
[
"serif",
"sans_serif"
]
]
},
"type": "string"
},
"newsletter_show_feature_image": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [
[
"true",
"false"
]
]
},
"type": "boolean"
},
"newsletter_body_font_category": {
"defaultValue": "sans_serif",
"validations": {

View file

@ -350,6 +350,36 @@ const defaultSettingsKeyTypes = [
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_header_image',
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_show_header_icon',
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_show_header_title',
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_title_alignment',
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_title_font_category',
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_show_feature_image',
type: 'newsletter',
group: 'newsletter'
},
{
key: 'newsletter_body_font_category',
type: 'newsletter',

View file

@ -72,8 +72,14 @@ const defaultSettingsKeyTypes = [
{key: 'default_locale', type: 'blog'},
{key: 'newsletter_show_badge', type: 'newsletter'},
{key: 'newsletter_show_header', type: 'newsletter'},
{key: 'newsletter_footer_content', type: 'newsletter'},
{key: 'newsletter_header_image', type: 'newsletter'},
{key: 'newsletter_show_header_icon', type: 'newsletter'},
{key: 'newsletter_show_header_title', type: 'newsletter'},
{key: 'newsletter_title_alignment', type: 'newsletter'},
{key: 'newsletter_title_font_category', type: 'newsletter'},
{key: 'newsletter_show_feature_image', type: 'newsletter'},
{key: 'newsletter_body_font_category', type: 'newsletter'},
{key: 'newsletter_footer_content', type: 'newsletter'},
{key: 'firstpromoter', type: 'firstpromoter'},
{key: 'firstpromoter_id', type: 'firstpromoter'},
{key: 'oauth_client_id', type: 'oauth'},

View file

@ -76,6 +76,12 @@ const defaultSettingsKeyTypes = [
{key: 'accent_color', type: 'blog'},
{key: 'newsletter_show_badge', type: 'newsletter'},
{key: 'newsletter_show_header', type: 'newsletter'},
{key: 'newsletter_header_image', type: 'newsletter'},
{key: 'newsletter_show_header_icon', type: 'newsletter'},
{key: 'newsletter_show_header_title', type: 'newsletter'},
{key: 'newsletter_title_alignment', type: 'newsletter'},
{key: 'newsletter_title_font_category', type: 'newsletter'},
{key: 'newsletter_show_feature_image', type: 'newsletter'},
{key: 'newsletter_body_font_category', type: 'newsletter'},
{key: 'newsletter_footer_content', type: 'newsletter'},
{key: 'firstpromoter', type: 'firstpromoter'},

View file

@ -191,7 +191,7 @@ describe('Exporter', function () {
// NOTE: if default settings changed either modify the settings keys blocklist or increase allowedKeysLength
// This is a reminder to think about the importer/exporter scenarios ;)
const allowedKeysLength = 77;
const allowedKeysLength = 83;
totalKeysLength.should.eql(SETTING_KEYS_BLOCKLIST.length + allowedKeysLength);
});
});

View file

@ -34,7 +34,7 @@ describe('DB version integrity', function () {
// Only these variables should need updating
const currentSchemaHash = '2099a4ba6b9462c5a0aa36a434139e8b';
const currentFixturesHash = '8671672598d2a62e53418c4b91aa79a3';
const currentSettingsHash = '4f7fa90d4d545b9ec7eb0b86aa8f15ab';
const currentSettingsHash = 'fec0d2f71557a9bd2ff5ff8b423e11be';
const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01';
// If this test is failing, then it is likely a change has been made that requires a DB version bump,