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/app/tpl/error.hbs +1 -1
- package/app/tpl/layouts/default.hbs +8 -8
- package/bin/cli.js +9 -4
- package/lib/checks/050-koenig-css-classes.js +1 -1
- package/lib/specs/canary.js +204 -166
- package/lib/specs/v1.js +60 -60
- package/lib/specs/v2.js +102 -91
- package/lib/specs/v3.js +8 -6
- package/lib/specs/v4.js +24 -21
- package/lib/utils/package-json.js +2 -11
- package/package.json +4 -4
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/
|
|
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}
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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: '
|
|
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: `
|
|
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: `
|
|
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>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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}
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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}
|
|
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
|
|
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
|
};
|