gscan 4.28.0 → 4.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/specs/v2.js CHANGED
@@ -2,7 +2,9 @@ const _ = require('lodash');
2
2
  const oneLineTrim = require('common-tags/lib/oneLineTrim');
3
3
  const previousSpec = require('./v1');
4
4
  const ghostVersions = require('../utils').versions;
5
- const docsBaseUrl = `https://ghost.org/docs/api/handlebars-themes/`;
5
+ const docsBaseUrl = `https://ghost.org/docs/themes/`;
6
+ // TODO: we don't use versioned docs anymore and the previous rules should only contain
7
+ // correct links. The usage of replacing the previousBaseUrl can probably be removed
6
8
  const prevDocsBaseUrl = `https://themes.ghost.org/v${ghostVersions.v1.docs}/docs/`;
7
9
  const prevDocsBaseUrlRegEx = new RegExp(prevDocsBaseUrl, 'g');
8
10
 
@@ -16,7 +18,7 @@ function requiredClassRule(strings) {
16
18
 
17
19
  function requiredClassDetails(strings) {
18
20
  return oneLineTrim`The <code>.${strings[0]}</code> CSS class is required otherwise wide images will appear unstyled.
19
- Find out more about required theme changes for the Koenig editor <a href="${docsBaseUrl}editor/" target=_blank>here</a>.`;
21
+ Find out more about required theme changes for the Koenig editor <a href="${docsBaseUrl}content/" target=_blank>here</a>.`;
20
22
  }
21
23
 
22
24
  // assign new or overwrite existing knownHelpers, templates, or rules here:
@@ -26,7 +28,7 @@ let rules = {
26
28
  // New rules
27
29
  'GS001-DEPR-USER-GET': {
28
30
  level: 'error',
29
- rule: `<code>{{#get "users"}}</code> should be replaced with <code>{{#get "authors"}}</code>`,
31
+ rule: `Replace <code>{{#get "users"}}</code> with <code>{{#get "authors"}}</code>`,
30
32
  details: oneLineTrim`The usage of <code>{{#get "users"}}</code> is deprecated and will not return any data. It should be replaced with <code>{{#get "authors"}}</code>.<br>
31
33
  Find more information about the <code>{{get}}</code> helper <a href="${docsBaseUrl}helpers/get/" target=_blank>here</a>.`,
32
34
  regex: /{{\s*?#get ("|')\s*users("|')\s*/g,
@@ -34,7 +36,7 @@ let rules = {
34
36
  },
35
37
  'GS001-DEPR-AUTH-INCL': {
36
38
  level: 'error',
37
- rule: `<code>include="author"</code> should be replaced with <code>include="authors"</code>`,
39
+ rule: `Replace <code>include="author"</code> with <code>include="authors"</code>`,
38
40
  details: oneLineTrim`The usage of <code>{{#get "posts" include="author"}}</code> is deprecated and should be replaced with <code>{{#get "posts" include="authors"}}</code>.<br>
39
41
  Find more information about the <code>{{get}}</code> helper <a href="${docsBaseUrl}helpers/get/" target=_blank>here</a>.`,
40
42
  // This regex seems only to work properly with the escaped characters. Removing them resulted
@@ -44,7 +46,7 @@ let rules = {
44
46
  },
45
47
  'GS001-DEPR-AUTH-FIELD': {
46
48
  level: 'error',
47
- rule: `<code>fields="author"</code> should be replaced with <code>fields="authors"</code>`,
49
+ rule: `Replace <code>fields="author"</code> with <code>fields="authors"</code>`,
48
50
  details: oneLineTrim`The usage of <code>{{#get "posts" fields="author"}}</code> is deprecated and should be replaced with
49
51
  <code>{{#get "posts" fields="primary_author"}}</code> or <code>{{#get "posts" fields="authors.[#]"}}</code>.<br>
50
52
  Find more information about the <code>{{get}}</code> helper <a href="${docsBaseUrl}helpers/get/" target=_blank>here</a>.`,
@@ -55,7 +57,7 @@ let rules = {
55
57
  },
56
58
  'GS001-DEPR-AUTH-FILT': {
57
59
  level: 'error',
58
- rule: `<code>filter="author:[...]"</code> should be replaced with <code>filter="authors:[...]"</code>`,
60
+ rule: `Replace <code>filter="author:[...]"</code> with <code>filter="authors:[...]"</code>`,
59
61
  details: oneLineTrim`The usage of <code>{{#get "posts" filter="author:[...]"}}</code> is deprecated and should be replaced with <code>{{#get "posts" filter="authors:[...]"}}</code>.<br>
60
62
  Find more information about the <code>{{get}}</code> helper <a href="${docsBaseUrl}helpers/get/" target=_blank>here</a>.`,
61
63
  // This regex seems only to work properly with the escaped characters. Removing them resulted
@@ -65,7 +67,7 @@ let rules = {
65
67
  },
66
68
  'GS001-DEPR-AUTHBL': {
67
69
  level: 'error',
68
- rule: 'The <code>{{#author}}</code> block helper should be replaced with <code>{{#primary_author}}</code> or <code>{{#foreach authors}}...{{/foreach}}</code>',
70
+ rule: 'Replace <code>{{#author}}</code> with <code>{{#primary_author}}</code> or <code>{{#foreach authors}}...{{/foreach}}</code>',
69
71
  details: oneLineTrim`The usage of <code>{{#author}}</code> block helper outside of <code>author.hbs</code> is deprecated and
70
72
  should be replaced with <code>{{#primary_author}}</code> or <code>{{#foreach authors}}...{{/foreach}}</code>.<br>
71
73
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -75,7 +77,7 @@ let rules = {
75
77
  },
76
78
  'GS001-DEPR-CON-AUTH': {
77
79
  level: 'error',
78
- rule: `The <code>{{#if author.*}}</code> block helper should be replaced with <code>{{#if primary_author.*}}</code>
80
+ rule: `Replace <code>{{#if author.*}}</code> with <code>{{#if primary_author.*}}</code>
79
81
  or <code>{{#if authors.[#].*}}</code>`,
80
82
  details: oneLineTrim`The usage of <code>{{#if author.*}}</code> is deprecated and should be replaced with <code>{{#if primary_author.*}}</code>
81
83
  or <code>{{#if authors.[#].*}}</code>.<br>
@@ -85,7 +87,7 @@ let rules = {
85
87
  },
86
88
  'GS001-DEPR-CON-PAUTH': {
87
89
  level: 'error',
88
- rule: `The <code>{{#if post.author.*}}</code> block helper should be replaced with <code>{{#if post.primary_author.*}}</code>
90
+ rule: `Replace <code>{{#if post.author.*}}</code> with <code>{{#if post.primary_author.*}}</code>
89
91
  or <code>{{#if post.authors.[#].*}}</code>`,
90
92
  details: oneLineTrim`The usage of <code>{{#if post.author.*}}</code> is deprecated and should be replaced with <code>{{#if post.primary_author.*}}</code>
91
93
  or <code>{{#if post.authors.[#].*}}</code>.<br>
@@ -95,7 +97,7 @@ let rules = {
95
97
  },
96
98
  'GS001-DEPR-AUTH': {
97
99
  level: 'error',
98
- rule: '<code>{{author}}</code> should be replaced with <code>{{authors}}</code>',
100
+ rule: 'Replace <code>{{author}}</code> with <code>{{authors}}</code>',
99
101
  details: oneLineTrim`The usage of <code>{{author}}</code> is deprecated and should be replaced with <code>{{authors}}</code>.<br>
100
102
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
101
103
  regex: /{{\s*?author\s*?}}/g,
@@ -103,7 +105,7 @@ let rules = {
103
105
  },
104
106
  'GS001-DEPR-AUTH-ID': {
105
107
  level: 'error',
106
- rule: 'Replace the <code>{{author.id}}</code> helper with <code>{{primary_author.id}}</code> or <code>{{authors.[#].id}}</code>',
108
+ rule: 'Replace <code>{{author.id}}</code> with <code>{{primary_author.id}}</code> or <code>{{authors.[#].id}}</code>',
107
109
  details: oneLineTrim`The usage of <code>{{author.id}}</code> is deprecated and should be replaced with either <code>{{primary_author.id}}</code>
108
110
  or <code>{{authors.[#].id}}</code>.<br>
109
111
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -112,7 +114,7 @@ let rules = {
112
114
  },
113
115
  'GS001-DEPR-AUTH-SLUG': {
114
116
  level: 'error',
115
- rule: 'Replace the <code>{{author.slug}}</code> helper with <code>{{primary_author.slug}}</code> or <code>{{authors.[#].slug}}</code>',
117
+ rule: 'Replace <code>{{author.slug}}</code> with <code>{{primary_author.slug}}</code> or <code>{{authors.[#].slug}}</code>',
116
118
  details: oneLineTrim`The usage of <code>{{author.slug}}</code> is deprecated and should be replaced with either <code>{{primary_author.slug}}</code>
117
119
  or <code>{{authors.[#].slug}}</code>.<br>
118
120
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -121,7 +123,7 @@ let rules = {
121
123
  },
122
124
  'GS001-DEPR-AUTH-MAIL': {
123
125
  level: 'error',
124
- rule: 'Replace the <code>{{author.email}}</code> helper with <code>{{primary_author.email}}</code> or <code>{{authors.[#].email}}</code>',
126
+ rule: 'Replace <code>{{author.email}}</code> with <code>{{primary_author.email}}</code> or <code>{{authors.[#].email}}</code>',
125
127
  details: oneLineTrim`The usage of <code>{{author.email}}</code> is deprecated and should be replaced with either <code>{{primary_author.email}}</code>
126
128
  or <code>{{authors.[#].email}}</code>.<br>
127
129
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -130,7 +132,7 @@ let rules = {
130
132
  },
131
133
  'GS001-DEPR-AUTH-MT': {
132
134
  level: 'error',
133
- rule: 'Replace the <code>{{author.meta_title}}</code> helper with <code>{{primary_author.meta_title}}</code> or <code>{{authors.[#].meta_title}}</code>',
135
+ rule: 'Replace <code>{{author.meta_title}}</code> with <code>{{primary_author.meta_title}}</code> or <code>{{authors.[#].meta_title}}</code>',
134
136
  details: oneLineTrim`The usage of <code>{{author.meta_title}}</code> is deprecated and should be replaced with either <code>{{primary_author.meta_title}}</code>
135
137
  or <code>{{authors.[#].meta_title}}</code>.<br>
136
138
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -139,7 +141,7 @@ let rules = {
139
141
  },
140
142
  'GS001-DEPR-AUTH-MD': {
141
143
  level: 'error',
142
- rule: 'Replace the <code>{{author.meta_description}}</code> helper with <code>{{primary_author.meta_description}}</code> or <code>{{authors.[#].meta_description}}</code>',
144
+ rule: 'Replace <code>{{author.meta_description}}</code> with <code>{{primary_author.meta_description}}</code> or <code>{{authors.[#].meta_description}}</code>',
143
145
  details: oneLineTrim`The usage of <code>{{author.meta_description}}</code> is deprecated and should be replaced with either <code>{{primary_author.meta_description}}</code>
144
146
  or <code>{{authors.[#].meta_description}}</code>.<br>
145
147
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -148,7 +150,7 @@ let rules = {
148
150
  },
149
151
  'GS001-DEPR-AUTH-NAME': {
150
152
  level: 'error',
151
- rule: 'Replace the <code>{{author.name}}</code> helper with <code>{{primary_author.name}}</code> or <code>{{authors.[#].name}}</code>',
153
+ rule: 'Replace <code>{{author.name}}</code> with <code>{{primary_author.name}}</code> or <code>{{authors.[#].name}}</code>',
152
154
  details: oneLineTrim`The usage of <code>{{author.name}}</code> is deprecated and should be replaced with either <code>{{primary_author.name}}</code>
153
155
  or <code>{{authors.[#].name}}</code>.<br>
154
156
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -157,7 +159,7 @@ let rules = {
157
159
  },
158
160
  'GS001-DEPR-AUTH-BIO': {
159
161
  level: 'error',
160
- rule: 'Replace the <code>{{author.bio}}</code> helper with <code>{{primary_author.bio}}</code> or <code>{{authors.[#].bio}}</code>',
162
+ rule: 'Replace <code>{{author.bio}}</code> with <code>{{primary_author.bio}}</code> or <code>{{authors.[#].bio}}</code>',
161
163
  details: oneLineTrim`The usage of <code>{{author.bio}}</code> is deprecated and should be replaced with either <code>{{primary_author.bio}}</code>
162
164
  or <code>{{authors.[#].bio}}</code>.<br>
163
165
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -166,7 +168,7 @@ let rules = {
166
168
  },
167
169
  'GS001-DEPR-AUTH-LOC': {
168
170
  level: 'error',
169
- rule: 'Replace the <code>{{author.location}}</code> helper with <code>{{primary_author.location}}</code> or <code>{{authors.[#].location}}</code>',
171
+ rule: 'Replace <code>{{author.location}}</code> with <code>{{primary_author.location}}</code> or <code>{{authors.[#].location}}</code>',
170
172
  details: oneLineTrim`The usage of <code>{{author.location}}</code> is deprecated and should be replaced with either <code>{{primary_author.location}}</code>
171
173
  or <code>{{authors.[#].location}}</code>.<br>
172
174
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -175,7 +177,7 @@ let rules = {
175
177
  },
176
178
  'GS001-DEPR-AUTH-WEB': {
177
179
  level: 'error',
178
- rule: 'Replace the <code>{{author.website}}</code> helper with <code>{{primary_author.website}}</code> or <code>{{authors.[#].website}}</code>',
180
+ rule: 'Replace <code>{{author.website}}</code> with <code>{{primary_author.website}}</code> or <code>{{authors.[#].website}}</code>',
179
181
  details: oneLineTrim`The usage of <code>{{author.website}}</code> is deprecated and should be replaced with either <code>{{primary_author.website}}</code>
180
182
  or <code>{{authors.[#].website}}</code>.<br>
181
183
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -184,7 +186,7 @@ let rules = {
184
186
  },
185
187
  'GS001-DEPR-AUTH-TW': {
186
188
  level: 'error',
187
- rule: 'Replace the <code>{{author.twitter}}</code> helper with <code>{{primary_author.twitter}}</code> or <code>{{authors.[#].twitter}}</code>',
189
+ rule: 'Replace <code>{{author.twitter}}</code> with <code>{{primary_author.twitter}}</code> or <code>{{authors.[#].twitter}}</code>',
188
190
  details: oneLineTrim`The usage of <code>{{author.twitter}}</code> is deprecated and should be replaced with either <code>{{primary_author.twitter}}</code>
189
191
  or <code>{{authors.[#].twitter}}</code>.<br>
190
192
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -193,7 +195,7 @@ let rules = {
193
195
  },
194
196
  'GS001-DEPR-AUTH-FB': {
195
197
  level: 'error',
196
- rule: 'Replace the <code>{{author.facebook}}</code> helper with <code>{{primary_author.facebook}}</code> or <code>{{authors.[#].facebook}}</code>',
198
+ rule: 'Replace <code>{{author.facebook}}</code> with <code>{{primary_author.facebook}}</code> or <code>{{authors.[#].facebook}}</code>',
197
199
  details: oneLineTrim`The usage of <code>{{author.facebook}}</code> is deprecated and should be replaced with either <code>{{primary_author.facebook}}</code>
198
200
  or <code>{{authors.[#].facebook}}</code>.<br>
199
201
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -202,7 +204,7 @@ let rules = {
202
204
  },
203
205
  'GS001-DEPR-AUTH-PIMG': {
204
206
  level: 'error',
205
- rule: 'Replace the <code>{{author.profile_image}}</code> helper with <code>{{primary_author.profile_image}}</code> or <code>{{authors.[#].profile_image}}</code>',
207
+ rule: 'Replace <code>{{author.profile_image}}</code> with <code>{{primary_author.profile_image}}</code> or <code>{{authors.[#].profile_image}}</code>',
206
208
  details: oneLineTrim`The usage of <code>{{author.profile_image}}</code> is deprecated and should be replaced with either <code>{{primary_author.profile_image}}</code>
207
209
  or <code>{{authors.[#].profile_image}}</code>.<br>
208
210
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -211,7 +213,7 @@ let rules = {
211
213
  },
212
214
  'GS001-DEPR-AUTH-CIMG': {
213
215
  level: 'error',
214
- rule: 'Replace the <code>{{author.cover_image}}</code> helper with <code>{{primary_author.cover_image}}</code> or <code>{{authors.[#].cover_image}}</code>',
216
+ rule: 'Replace <code>{{author.cover_image}}</code> with <code>{{primary_author.cover_image}}</code> or <code>{{authors.[#].cover_image}}</code>',
215
217
  details: oneLineTrim`The usage of <code>{{author.cover_image}}</code> is deprecated and should be replaced with either <code>{{primary_author.cover_image}}</code>
216
218
  or <code>{{authors.[#].cover_image}}</code>.<br>
217
219
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -220,7 +222,7 @@ let rules = {
220
222
  },
221
223
  'GS001-DEPR-AUTH-URL': {
222
224
  level: 'error',
223
- rule: 'Replace the <code>{{author.url}}</code> helper with <code>{{primary_author.url}}</code> or <code>{{authors.[#].url}}</code>',
225
+ rule: 'Replace <code>{{author.url}}</code> with <code>{{primary_author.url}}</code> or <code>{{authors.[#].url}}</code>',
224
226
  details: oneLineTrim`The usage of <code>{{author.url}}</code> is deprecated and should be replaced with either <code>{{primary_author.url}}</code>
225
227
  or <code>{{authors.[#].url}}</code>.<br>
226
228
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -229,7 +231,7 @@ let rules = {
229
231
  },
230
232
  'GS001-DEPR-PAUTH': {
231
233
  level: 'error',
232
- rule: 'Replace the <code>{{post.author}}</code> helper with <code>{{post.primary_author}}</code> or <code>{{authors.[#]}}</code>',
234
+ rule: 'Replace <code>{{post.author}}</code> with <code>{{post.primary_author}}</code> or <code>{{authors.[#]}}</code>',
233
235
  details: oneLineTrim`The usage of <code>{{post.author}}</code> is deprecated and should be replaced with either <code>{{post.primary_author}}</code>
234
236
  or <code>{{post.authors.[#]}}</code>.<br>
235
237
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -238,7 +240,7 @@ let rules = {
238
240
  },
239
241
  'GS001-DEPR-PAUTH-ID': {
240
242
  level: 'error',
241
- rule: 'Replace the <code>{{post.author.id}}</code> helper with <code>{{post.primary_author.id}}</code> or <code>{{authors.[#].id}}</code>',
243
+ rule: 'Replace <code>{{post.author.id}}</code> with <code>{{post.primary_author.id}}</code> or <code>{{authors.[#].id}}</code>',
242
244
  details: oneLineTrim`The usage of <code>{{post.author.id}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.id}}</code>
243
245
  or <code>{{post.authors.[#].id}}</code>.<br>
244
246
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -247,7 +249,7 @@ let rules = {
247
249
  },
248
250
  'GS001-DEPR-PAUTH-SLUG': {
249
251
  level: 'error',
250
- rule: 'Replace the <code>{{post.author.slug}}</code> helper with <code>{{post.primary_author.slug}}</code> or <code>{{post.authors.[#].slug}}</code>',
252
+ rule: 'Replace <code>{{post.author.slug}}</code> with <code>{{post.primary_author.slug}}</code> or <code>{{post.authors.[#].slug}}</code>',
251
253
  details: oneLineTrim`The usage of <code>{{post.author.slug}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.slug}}</code>
252
254
  or <code>{{post.authors.[#].slug}}</code>.<br>
253
255
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -256,7 +258,7 @@ let rules = {
256
258
  },
257
259
  'GS001-DEPR-PAUTH-MAIL': {
258
260
  level: 'error',
259
- rule: 'Replace the <code>{{post.author.email}}</code> helper with <code>{{post.primary_author.email}}</code> or <code>{{post.authors.[#].email}}</code>',
261
+ rule: 'Replace <code>{{post.author.email}}</code> with <code>{{post.primary_author.email}}</code> or <code>{{post.authors.[#].email}}</code>',
260
262
  details: oneLineTrim`The usage of <code>{{post.author.email}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.email}}</code>
261
263
  or <code>{{post.authors.[#].email}}</code>.<br>
262
264
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -265,7 +267,7 @@ let rules = {
265
267
  },
266
268
  'GS001-DEPR-PAUTH-MT': {
267
269
  level: 'error',
268
- rule: 'Replace the <code>{{post.author.meta_title}}</code> helper with <code>{{post.primary_author.meta_title}}</code> or <code>{{post.authors.[#].meta_title}}</code>',
270
+ rule: 'Replace <code>{{post.author.meta_title}}</code> with <code>{{post.primary_author.meta_title}}</code> or <code>{{post.authors.[#].meta_title}}</code>',
269
271
  details: oneLineTrim`The usage of <code>{{post.author.meta_title}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.meta_title}}</code>
270
272
  or <code>{{post.authors.[#].meta_title}}</code>.<br>
271
273
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -274,7 +276,7 @@ let rules = {
274
276
  },
275
277
  'GS001-DEPR-PAUTH-MD': {
276
278
  level: 'error',
277
- rule: 'Replace the <code>{{post.author.meta_description}}</code> helper with <code>{{post.primary_author.meta_description}}</code> or <code>{{post.authors.[#].meta_description}}</code>',
279
+ rule: 'Replace <code>{{post.author.meta_description}}</code> with <code>{{post.primary_author.meta_description}}</code> or <code>{{post.authors.[#].meta_description}}</code>',
278
280
  details: oneLineTrim`The usage of <code>{{post.author.meta_description}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.meta_description}}</code>
279
281
  or <code>{{post.authors.[#].meta_description}}</code>.<br>
280
282
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -283,7 +285,7 @@ let rules = {
283
285
  },
284
286
  'GS001-DEPR-PAUTH-NAME': {
285
287
  level: 'error',
286
- rule: 'Replace the <code>{{post.author.name}}</code> helper with <code>{{post.primary_author.name}}</code> or <code>{{post.authors.[#].name}}</code>',
288
+ rule: 'Replace <code>{{post.author.name}}</code> with <code>{{post.primary_author.name}}</code> or <code>{{post.authors.[#].name}}</code>',
287
289
  details: oneLineTrim`The usage of <code>{{post.author.name}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.name}}</code>
288
290
  or <code>{{post.authors.[#].name}}</code>.<br>
289
291
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -292,7 +294,7 @@ let rules = {
292
294
  },
293
295
  'GS001-DEPR-PAUTH-BIO': {
294
296
  level: 'error',
295
- rule: 'Replace the <code>{{post.author.bio}}</code> helper with <code>{{post.primary_author.bio}}</code> or <code>{{post.authors.[#].bio}}</code>',
297
+ rule: 'Replace <code>{{post.author.bio}}</code> with <code>{{post.primary_author.bio}}</code> or <code>{{post.authors.[#].bio}}</code>',
296
298
  details: oneLineTrim`The usage of <code>{{post.author.bio}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.bio}}</code>
297
299
  or <code>{{post.authors.[#].bio}}</code>.<br>
298
300
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -301,7 +303,7 @@ let rules = {
301
303
  },
302
304
  'GS001-DEPR-PAUTH-LOC': {
303
305
  level: 'error',
304
- rule: 'Replace the <code>{{post.author.location}}</code> helper with <code>{{post.primary_author.location}}</code> or <code>{{post.authors.[#].location}}</code>',
306
+ rule: 'Replace <code>{{post.author.location}}</code> with <code>{{post.primary_author.location}}</code> or <code>{{post.authors.[#].location}}</code>',
305
307
  details: oneLineTrim`The usage of <code>{{post.author.location}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.location}}</code>
306
308
  or <code>{{post.authors.[#].location}}</code>.<br>
307
309
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -310,7 +312,7 @@ let rules = {
310
312
  },
311
313
  'GS001-DEPR-PAUTH-WEB': {
312
314
  level: 'error',
313
- rule: 'Replace the <code>{{post.author.website}}</code> helper with <code>{{post.primary_author.website}}</code> or <code>{{post.authors.[#].website}}</code>',
315
+ rule: 'Replace <code>{{post.author.website}}</code> with <code>{{post.primary_author.website}}</code> or <code>{{post.authors.[#].website}}</code>',
314
316
  details: oneLineTrim`The usage of <code>{{post.author.website}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.website}}</code>
315
317
  or <code>{{post.authors.[#].website}}</code>.<br>
316
318
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -319,7 +321,7 @@ let rules = {
319
321
  },
320
322
  'GS001-DEPR-PAUTH-TW': {
321
323
  level: 'error',
322
- rule: 'Replace the <code>{{post.author.twitter}}</code> helper with <code>{{post.primary_author.twitter}}</code> or <code>{{post.authors.[#].twitter}}</code>',
324
+ rule: 'Replace <code>{{post.author.twitter}}</code> with <code>{{post.primary_author.twitter}}</code> or <code>{{post.authors.[#].twitter}}</code>',
323
325
  details: oneLineTrim`The usage of <code>{{post.author.twitter}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.twitter}}</code>
324
326
  or <code>{{post.authors.[#].twitter}}</code>.<br>
325
327
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -328,7 +330,7 @@ let rules = {
328
330
  },
329
331
  'GS001-DEPR-PAUTH-FB': {
330
332
  level: 'error',
331
- rule: 'Replace the <code>{{post.author.facebook}}</code> helper with <code>{{post.primary_author.facebook}}</code> or <code>{{post.authors.[#].facebook}}</code>',
333
+ rule: 'Replace <code>{{post.author.facebook}}</code> with <code>{{post.primary_author.facebook}}</code> or <code>{{post.authors.[#].facebook}}</code>',
332
334
  details: oneLineTrim`The usage of <code>{{post.author.facebook}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.facebook}}</code>
333
335
  or <code>{{post.authors.[#].facebook}}</code>.<br>
334
336
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -337,7 +339,7 @@ let rules = {
337
339
  },
338
340
  'GS001-DEPR-PAUTH-PIMG': {
339
341
  level: 'error',
340
- rule: 'Replace the <code>{{post.author.profile_image}}</code> helper with <code>{{post.primary_author.profile_image}}</code> or <code>{{post.authors.[#].profile_image}}</code>',
342
+ rule: 'Replace <code>{{post.author.profile_image}}</code> with <code>{{post.primary_author.profile_image}}</code> or <code>{{post.authors.[#].profile_image}}</code>',
341
343
  details: oneLineTrim`The usage of <code>{{post.author.profile_image}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.profile_image}}</code>
342
344
  or <code>{{post.authors.[#].profile_image}}</code>.<br>
343
345
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -346,7 +348,7 @@ let rules = {
346
348
  },
347
349
  'GS001-DEPR-PAUTH-CIMG': {
348
350
  level: 'error',
349
- rule: 'Replace the <code>{{post.author.cover_image}}</code> helper with <code>{{post.primary_author.cover_image}}</code> or <code>{{post.authors.[#].cover_image}}</code>',
351
+ rule: 'Replace <code>{{post.author.cover_image}}</code> with <code>{{post.primary_author.cover_image}}</code> or <code>{{post.authors.[#].cover_image}}</code>',
350
352
  details: oneLineTrim`The usage of <code>{{post.author.cover_image}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.cover_image}}</code>
351
353
  or <code>{{post.authors.[#].cover_image}}</code>.<br>
352
354
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -355,7 +357,7 @@ let rules = {
355
357
  },
356
358
  'GS001-DEPR-PAUTH-URL': {
357
359
  level: 'error',
358
- rule: 'Replace the <code>{{post.author.url}}</code> helper with <code>{{post.primary_author.url}}</code> or <code>{{post.authors.[#].url}}</code>',
360
+ rule: 'Replace <code>{{post.author.url}}</code> with <code>{{post.primary_author.url}}</code> or <code>{{post.authors.[#].url}}</code>',
359
361
  details: oneLineTrim`The usage of <code>{{post.author.url}}</code> is deprecated and should be replaced with either <code>{{post.primary_author.url}}</code>
360
362
  or <code>{{post.authors.[#].url}}</code>.<br>
361
363
  Find more information about the <code>{{authors}}</code> helper <a href="${docsBaseUrl}helpers/authors/" target=_blank>here</a>.`,
@@ -367,7 +369,7 @@ let rules = {
367
369
  rule: 'Replace <code>{{post.author_id}}</code> code with <code>{{post.primary_author.id}}</code>',
368
370
  details: oneLineTrim`The <code>{{post.author_id}}</code> attribute in post context was removed<br>
369
371
  Instead of <code>{{post.author_id}}</code> you need to use <code>{{post.primary_author.id}}</code>.<br>
370
- See the object attributes of <code>post</code> <a href="${docsBaseUrl}context/post/#post-object-attributes" target=_blank>here</a>.`,
372
+ See the object attributes of <code>post</code> <a href="${docsBaseUrl}contexts/post/#post-object-attributes" target=_blank>here</a>.`,
371
373
  regex: /{{\s*?post\.author_id\s*?}}/g,
372
374
  helper: '{{post.author_id}}'
373
375
  },
@@ -448,7 +450,7 @@ let rules = {
448
450
  rule: `<code>.kg-card-markdown</code> doesn't exist in current version of Ghost, ensure your theme works without it`,
449
451
  details: oneLineTrim`The <code>.kg-card-markdown</code> CSS class is deprecated and will no longer be used in Ghost.
450
452
  It's recommended to add your own wrapper around the <code>{{content}}</code> helper and target that instead if needed.
451
- Find out more about required theme changes for the Koenig editor <a href="${docsBaseUrl}editor/" target=_blank>here</a>.`,
453
+ Find out more about required theme changes for the Koenig editor <a href="${docsBaseUrl}content/" target=_blank>here</a>.`,
452
454
  regex: /\.kg-card-markdown/g,
453
455
  className: '.kg-card-markdown',
454
456
  css: true
@@ -589,250 +591,250 @@ let rules = {
589
591
  // Updated v1 rules
590
592
  'GS001-DEPR-AC': {
591
593
  level: 'error',
592
- rule: 'Replace the <code>{{author.cover}}</code> helper with <code>{{primary_author.cover_image}}</code>',
594
+ rule: 'Replace <code>{{author.cover}}</code> with <code>{{primary_author.cover_image}}</code>',
593
595
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
594
596
  Instead of <code>{{author.cover}}</code> you need to use
595
597
  <code>{{primary_author.cover_image}}</code> or <code>{{authors.[#].cover_image}}</code>.<br>
596
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
598
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
597
599
  regex: /{{\s*?author\.cover\s*?}}/g,
598
600
  helper: '{{author.cover}}'
599
601
  },
600
602
  'GS001-DEPR-AC-2': {
601
603
  level: 'error',
602
- rule: 'Replace the <code>{{primary_author.cover}}</code> helper with <code>{{primary_author.cover_image}}</code>',
604
+ rule: 'Replace <code>{{primary_author.cover}}</code> with <code>{{primary_author.cover_image}}</code>',
603
605
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
604
606
  Instead of <code>{{primary_author.cover}}</code> you need to use
605
607
  <code>{{primary_author.cover_image}}</code>.<br>
606
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
608
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
607
609
  regex: /{{\s*?primary_author\.cover\s*?}}/g,
608
610
  helper: '{{primary_author.cover}}'
609
611
  },
610
612
  'GS001-DEPR-AC-3': {
611
613
  level: 'error',
612
- rule: 'Replace the <code>{{authors.[#].cover}}</code> helper with <code>{{authors.[#].cover_image}}</code>',
614
+ rule: 'Replace <code>{{authors.[#].cover}}</code> with <code>{{authors.[#].cover_image}}</code>',
613
615
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
614
616
  Instead of <code>{{authors.[#].cover}}</code> you need to use
615
617
  <code>{{authors.[#].cover_image}}</code>.<br>
616
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
618
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
617
619
  regex: /{{\s*?authors\.\[[0-9]+\]\.(cover)\s*?}}/g,
618
620
  helper: '{{authors.[#].cover}}'
619
621
  },
620
622
 
621
623
  'GS001-DEPR-AIMG': {
622
624
  level: 'error',
623
- rule: 'Replace the <code>{{author.image}}</code> helper with <code>{{primary_author.profile_image}}</code> or <code>{{authors.[#].profile_image}}</code>',
625
+ rule: 'Replace <code>{{author.image}}</code> with <code>{{primary_author.profile_image}}</code> or <code>{{authors.[#].profile_image}}</code>',
624
626
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
625
627
  Instead of <code>{{author.image}}</code>, you need to use
626
628
  <code>{{primary_author.profile_image}}</code> or <code>{{authors.[#].profile_image}}</code>.<br>
627
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
629
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
628
630
  regex: /{{\s*?author\.image\s*?}}/g,
629
631
  helper: '{{author.image}}'
630
632
  },
631
633
  'GS001-DEPR-AIMG-2': {
632
634
  level: 'error',
633
- rule: 'Replace the <code>{{primary_author.image}}</code> helper with <code>{{primary_author.profile_image}}</code>',
635
+ rule: 'Replace <code>{{primary_author.image}}</code> with <code>{{primary_author.profile_image}}</code>',
634
636
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
635
637
  Instead of <code>{{primary_author.image}}</code>, you need to use
636
638
  <code>{{primary_author.profile_image}}</code>.<br>
637
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
639
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
638
640
  regex: /{{\s*?primary_author\.(image)\s*?}}/g,
639
641
  helper: '{{primary_author.image}}'
640
642
  },
641
643
  'GS001-DEPR-AIMG-3': {
642
644
  level: 'error',
643
- rule: 'Replace the <code>{{authors.[#].image}}</code> helper with <code>{{authors.[#].profile_image}}</code>',
645
+ rule: 'Replace <code>{{authors.[#].image}}</code> with <code>{{authors.[#].profile_image}}</code>',
644
646
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
645
647
  Instead of <code>{{authors.[#].image}}</code>, you need to use
646
648
  <code>{{authors.[#].profile_image}}</code>.<br>
647
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
649
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
648
650
  regex: /{{\s*?authors\.\[[0-9]+\]\.(cover)\s*?}}/g,
649
651
  helper: '{{authors.[#].image}}'
650
652
  },
651
653
 
652
654
  'GS001-DEPR-PAC': {
653
655
  level: 'error',
654
- rule: 'Replace the <code>{{post.author.cover}}</code> helper with <code>{{post.primary_author.cover_image}}</code> or <code>{{post.authors.[#].cover_image}}</code>',
656
+ rule: 'Replace <code>{{post.author.cover}}</code> with <code>{{post.primary_author.cover_image}}</code> or <code>{{post.authors.[#].cover_image}}</code>',
655
657
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
656
658
  Instead of <code>{{post.author.cover}}</code>, you need to use
657
659
  <code>{{post.primary_author.cover_image}}</code> or <code>{{post.authors.[#].cover_image}}</code>.<br>
658
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
660
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
659
661
  regex: /{{\s*?post\.author\.cover\s*?}}/g,
660
662
  helper: '{{post.author.cover}}'
661
663
  },
662
664
  'GS001-DEPR-PAC-2': {
663
665
  level: 'error',
664
- rule: 'Replace the <code>{{post.primary_author.cover}}</code> helper with <code>{{post.primary_author.cover_image}}</code>',
666
+ rule: 'Replace <code>{{post.primary_author.cover}}</code> with <code>{{post.primary_author.cover_image}}</code>',
665
667
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
666
668
  Instead of <code>{{post.primary_author.cover}}</code>, you need to use
667
669
  <code>{{post.primary_author.cover_image}}</code>.<br>
668
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
670
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
669
671
  regex: /{{\s*?post\.primary_author\.cover\s*?}}/g,
670
672
  helper: '{{post.primary_author.cover}}'
671
673
  },
672
674
  'GS001-DEPR-PAC-3': {
673
675
  level: 'error',
674
- rule: 'Replace the <code>{{post.authors.[#].cover}}</code> helper with <code>{{post.authors.[#].cover_image}}</code>',
676
+ rule: 'Replace <code>{{post.authors.[#].cover}}</code> with <code>{{post.authors.[#].cover_image}}</code>',
675
677
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
676
678
  Instead of <code>{{post.authors.[#].cover}}</code>, you need to use
677
679
  <code>{{post.authors.[#].cover_image}}</code>.<br>
678
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
680
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
679
681
  regex: /{{\s*?post\.authors\.\[[0-9]+\]\.(cover)\s*?}}/g,
680
682
  helper: '{{post.authors.[#].cover}}'
681
683
  },
682
684
 
683
685
  'GS001-DEPR-PAIMG': {
684
686
  level: 'error',
685
- rule: 'Replace the <code>{{post.author.image}}</code> helper with <code>{{post.primary_author.profile_image}}</code> or <code>{{post.authors.[#].profile_image}}</code>',
687
+ rule: 'Replace <code>{{post.author.image}}</code> with <code>{{post.primary_author.profile_image}}</code> or <code>{{post.authors.[#].profile_image}}</code>',
686
688
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
687
689
  Instead of <code>{{post.author.image}}</code>, you need to use
688
690
  <code>{{post.primary_author.profile_image}}</code> or <code>{{post.authors.[#].profile_image}}</code>.<br>
689
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
691
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
690
692
  regex: /{{\s*?post\.author\.image\s*?}}/g,
691
693
  helper: '{{post.author.image}}'
692
694
  },
693
695
  'GS001-DEPR-PAIMG-2': {
694
696
  level: 'error',
695
- rule: 'Replace the <code>{{post.primary_author.image}}</code> helper with <code>{{post.primary_author.profile_image}}</code>',
697
+ rule: 'Replace <code>{{post.primary_author.image}}</code> with <code>{{post.primary_author.profile_image}}</code>',
696
698
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
697
699
  Instead of <code>{{post.primary_author.image}}</code>, you need to use
698
700
  <code>{{post.primary_author.profile_image}}</code>.<br>
699
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
701
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
700
702
  regex: /{{\s*?post\.primary_author\.image\s*?}}/g,
701
703
  helper: '{{post.primary_author.image}}'
702
704
  },
703
705
  'GS001-DEPR-PAIMG-3': {
704
706
  level: 'error',
705
- rule: 'Replace the <code>{{post.authors.[#].image}}</code> helper with <code>{{post.authors.[#].profile_image}}</code>',
707
+ rule: 'Replace <code>{{post.authors.[#].image}}</code> with <code>{{post.authors.[#].profile_image}}</code>',
706
708
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
707
709
  Instead of <code>{{post.authors.[#].image}}</code>, you need to use
708
710
  <code>{{post.authors.[#].profile_image}}</code>.<br>
709
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
711
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
710
712
  regex: /{{\s*?post\.authors\.\[[0-9]+\]\.(image)\s*?}}/g,
711
713
  helper: '{{post.authors.[#].image}}'
712
714
  },
713
715
 
714
716
  'GS001-DEPR-CON-AC': {
715
717
  level: 'error',
716
- rule: 'Replace the <code>{{#if author.cover}}</code> helper with <code>{{#if primary_author.cover_image}}</code> or <code>{{#if authors.[#].cover_image}}</code>',
718
+ rule: 'Replace <code>{{#if author.cover}}</code> with <code>{{#if primary_author.cover_image}}</code> or <code>{{#if authors.[#].cover_image}}</code>',
717
719
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
718
720
  Instead of <code>{{#if author.cover}}</code>, you need to use
719
721
  <code>{{#if primary_author.cover_image}}</code> or <code>{{#if authors.[#].cover_image}}</code>.<br>
720
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
722
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
721
723
  regex: /{{\s*?#if\s*?author\.cover\s*?}}/g,
722
724
  helper: '{{#if author.cover}}'
723
725
  },
724
726
 
725
727
  'GS001-DEPR-CON-AC-2': {
726
728
  level: 'error',
727
- rule: 'Replace the <code>{{#if primary_author.cover}}</code> helper with <code>{{#if primary_author.cover_image}}</code>',
729
+ rule: 'Replace <code>{{#if primary_author.cover}}</code> with <code>{{#if primary_author.cover_image}}</code>',
728
730
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
729
731
  Instead of <code>{{#if primary_author.cover}}</code>, you need to use
730
732
  <code>{{#if primary_author.cover_image}}</code>.<br>
731
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
733
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
732
734
  regex: /{{\s*?#if\s*?primary_author\.cover\s*?}}/g,
733
735
  helper: '{{#if primary_author.cover}}'
734
736
  },
735
737
 
736
738
  'GS001-DEPR-CON-AC-3': {
737
739
  level: 'error',
738
- rule: 'Replace the <code>{{#if authors.[#].cover}}</code> helper with <code>{{#if authors.[#].cover_image}}</code>',
740
+ rule: 'Replace <code>{{#if authors.[#].cover}}</code> with <code>{{#if authors.[#].cover_image}}</code>',
739
741
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
740
742
  Instead of <code>{{#if authors.[#].cover}}</code>, you need to use
741
743
  <code>{{#if authors.[#].cover_image}}</code>.<br>
742
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
744
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
743
745
  regex: /{{\s*?#if\s*?authors\.\[[0-9]+\]\.cover\s*?}}/g,
744
746
  helper: '{{#if authors.[#].cover}}'
745
747
  },
746
748
 
747
749
  'GS001-DEPR-CON-AIMG': {
748
750
  level: 'error',
749
- rule: 'Replace the <code>{{#if author.image}}</code> helper with <code>{{#if primary_author.profile_image}}</code> or <code>{{#if authors.[#].profile_image}}</code>',
751
+ rule: 'Replace <code>{{#if author.image}}</code> with <code>{{#if primary_author.profile_image}}</code> or <code>{{#if authors.[#].profile_image}}</code>',
750
752
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
751
753
  Instead of <code>{{#if author.image}}</code>, you need to use
752
754
  <code>{{#if primary_author.profile_image}}</code> or <code>{{#if authors.[#].profile_image}}</code>.<br>
753
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
755
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
754
756
  regex: /{{\s*?#if\s*?author\.image\s*?}}/g,
755
757
  helper: '{{#if author.image}}'
756
758
  },
757
759
  'GS001-DEPR-CON-AIMG-2': {
758
760
  level: 'error',
759
- rule: 'Replace the <code>{{#if primary_author.image}}</code> helper with <code>{{#if primary_author.profile_image}}</code>',
761
+ rule: 'Replace <code>{{#if primary_author.image}}</code> with <code>{{#if primary_author.profile_image}}</code>',
760
762
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
761
763
  Instead of <code>{{#if primary_author.image}}</code>, you need to use
762
764
  <code>{{#if primary_author.profile_image}}</code>.<br>
763
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
765
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
764
766
  regex: /{{\s*?#if\s*?primary_author\.image\s*?}}/g,
765
767
  helper: '{{#if primary_author.image}}'
766
768
  },
767
769
  'GS001-DEPR-CON-AIMG-3': {
768
770
  level: 'error',
769
- rule: 'Replace the <code>{{#if authors.[#].image}}</code> helper with <code>{{#if authors.[#].profile_image}}</code>',
771
+ rule: 'Replace <code>{{#if authors.[#].image}}</code> with <code>{{#if authors.[#].profile_image}}</code>',
770
772
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
771
773
  Instead of <code>{{#if authors.[#].image}}</code>, you need to use
772
774
  <code>{{#if authors.[#].profile_image}}</code>.<br>
773
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
775
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
774
776
  regex: /{{\s*?#if\s*?authors\.\[[0-9]+\]\.image\s*?}}/g,
775
777
  helper: '{{#if authors.[#].image}}'
776
778
  },
777
779
 
778
780
  'GS001-DEPR-CON-PAC': {
779
781
  level: 'error',
780
- rule: 'Replace the <code>{{#if post.author.cover}}</code> helper with <code>{{#if post.primary_author.cover_image}}</code> or <code>{{#if post.authors.[#].cover_image}}</code>',
782
+ rule: 'Replace <code>{{#if post.author.cover}}</code> with <code>{{#if post.primary_author.cover_image}}</code> or <code>{{#if post.authors.[#].cover_image}}</code>',
781
783
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
782
784
  Instead of <code>{{#if post.author.cover}}</code>, you need to use
783
785
  <code>{{#if post.primary_author.cover_image}}</code> or <code>{{#if post.authors.[#].cover_image}}</code>.<br>
784
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
786
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
785
787
  regex: /{{\s*?#if\s*?post\.author\.cover\s*?}}/g,
786
788
  helper: '{{#if post.author.cover}}'
787
789
  },
788
790
  'GS001-DEPR-CON-PAC-2': {
789
791
  level: 'error',
790
- rule: 'Replace the <code>{{#if post.primary_author.cover}}</code> helper with <code>{{#if post.primary_author.cover_image}}</code>',
792
+ rule: 'Replace <code>{{#if post.primary_author.cover}}</code> with <code>{{#if post.primary_author.cover_image}}</code>',
791
793
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
792
794
  Instead of <code>{{#if post.primary_author.cover}}</code>, you need to use
793
795
  <code>{{#if post.primary_author.cover_image}}</code>.<br>
794
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
796
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
795
797
  regex: /{{\s*?#if\s*?post\.primary_author\.cover\s*?}}/g,
796
798
  helper: '{{#if post.primary_author.cover}}'
797
799
  },
798
800
  'GS001-DEPR-CON-PAC-3': {
799
801
  level: 'error',
800
- rule: 'Replace the <code>{{#if post.authors.[#].cover}}</code> helper with <code>{{#if post.authors.[#].cover_image}}</code>',
802
+ rule: 'Replace <code>{{#if post.authors.[#].cover}}</code> with <code>{{#if post.authors.[#].cover_image}}</code>',
801
803
  details: oneLineTrim`The <code>cover</code> attribute was replaced with <code>cover_image</code>.<br>
802
804
  Instead of <code>{{#if post.authors.[#].cover}}</code>, you need to use
803
805
  <code>{{#if post.authors.[#].cover_image}}</code>.<br>
804
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
806
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
805
807
  regex: /{{\s*?#if\s*?post\.authors\.\[[0-9]+\]\.cover\s*?}}/g,
806
808
  helper: '{{#if post.authors.[#].cover}}'
807
809
  },
808
810
 
809
811
  'GS001-DEPR-CON-PAIMG': {
810
812
  level: 'error',
811
- rule: 'Replace the <code>{{#if post.author.image}}</code> helper with <code>{{#if post.primary_author.profile_image}}</code> or <code>{{#if post.authors.[#].profile_image}}</code>',
813
+ rule: 'Replace <code>{{#if post.author.image}}</code> with <code>{{#if post.primary_author.profile_image}}</code> or <code>{{#if post.authors.[#].profile_image}}</code>',
812
814
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
813
815
  Instead of <code>{{#if post.author.image}}</code>, you need to use
814
816
  <code>{{#if post.primary_author.profile_image}}</code> or <code>{{#if post.authors.[#].profile_image}}</code>.<br>
815
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
817
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
816
818
  regex: /{{\s*?#if\s*?post\.author\.image\s*?}}/g,
817
819
  helper: '{{#if post.author.image}}'
818
820
  },
819
821
  'GS001-DEPR-CON-PAIMG-2': {
820
822
  level: 'error',
821
- rule: 'Replace the <code>{{#if post.primary_author.image}}</code> helper with <code>{{#if post.primary_author.profile_image}}</code>',
823
+ rule: 'Replace <code>{{#if post.primary_author.image}}</code> with <code>{{#if post.primary_author.profile_image}}</code>',
822
824
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
823
825
  Instead of <code>{{#if post.primary_author.image}}</code>, you need to use
824
826
  <code>{{#if post.primary_author.profile_image}}</code>.<br>
825
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
827
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
826
828
  regex: /{{\s*?#if\s*?post\.primary_author\.image\s*?}}/g,
827
829
  helper: '{{#if post.primary_author.image}}'
828
830
  },
829
831
  'GS001-DEPR-CON-PAIMG-3': {
830
832
  level: 'error',
831
- rule: 'Replace the <code>{{#if post.authors.[#].image}}</code> helper with <code>{{#if post.authors.[#].profile_image}}</code>',
833
+ rule: 'Replace <code>{{#if post.authors.[#].image}}</code> with <code>{{#if post.authors.[#].profile_image}}</code>',
832
834
  details: oneLineTrim`The <code>image</code> attribute was replaced with <code>profile_image</code>.<br>
833
835
  Instead of <code>{{#if post.authors.[#].image}}</code>, you need to use
834
836
  <code>{{#if post.authors.[#].profile_image}}</code>.<br>
835
- See the object attributes of <code>author</code> <a href="${docsBaseUrl}context/author/#author-object-attributes" target=_blank>here</a>.`,
837
+ See the object attributes of <code>author</code> <a href="${docsBaseUrl}contexts/author/#author-object-attributes" target=_blank>here</a>.`,
836
838
  regex: /{{\s*?#if\s*?post\.authors\.\[[0-9]+\]\.image\s*?}}/g,
837
839
  helper: '{{#if post.authors.[#].image}}'
838
840
  },
@@ -841,7 +843,7 @@ let rules = {
841
843
  level: 'warning',
842
844
  rule: '<code>package.json</code> property <code>keywords</code> should contain <code>ghost-theme</code>',
843
845
  details: oneLineTrim`The property <code>keywords</code> in your <code>package.json</code> file must contain <code>ghost-theme</code>. E.g. <code>{"keywords": ["ghost-theme"]}</code>.<br>
844
- Check the <a href="${docsBaseUrl}packagejson/" target=_blank><code>package.json</code> documentation</a> for further information.`
846
+ Check the <a href="${docsBaseUrl}structure/#packagejson" target=_blank><code>package.json</code> documentation</a> for further information.`
845
847
  }
846
848
  };
847
849
 
@@ -859,5 +861,14 @@ rules = _.each(_.merge({}, previousRules, rules), function replaceDocsUrl(value)
859
861
  module.exports = {
860
862
  knownHelpers: knownHelpers,
861
863
  templates: templates,
862
- rules: rules
864
+ rules: rules,
865
+ /**
866
+ * Copy of Ghost defaults for https://github.com/TryGhost/Ghost/blob/e25f1df0ae551c447da0d319bae06eadf9665444/core/frontend/services/theme-engine/config/defaults.json
867
+ */
868
+ defaultPackageJSON: {
869
+ posts_per_page: 5,
870
+ card_assets: {
871
+ exclude: ['bookmark', 'gallery']
872
+ }
873
+ }
863
874
  };