axyseo 2025.1.0-blog.1 → 2025.1.0-blog.3
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/build/cjs/languageProcessing/helpers/image/getImagesInTree.js +2 -4
- package/build/cjs/languageProcessing/helpers/image/getImagesInTree.js.map +1 -1
- package/build/cjs/languageProcessing/researches/imageCount.js +1 -2
- package/build/cjs/languageProcessing/researches/imageCount.js.map +1 -1
- package/build/cjs/scoring/assessments/seo/ImagesInContentAssessment.js +13 -7
- package/build/cjs/scoring/assessments/seo/ImagesInContentAssessment.js.map +1 -1
- package/build/esm/languageProcessing/helpers/image/getImagesInTree.js +2 -4
- package/build/esm/languageProcessing/helpers/image/getImagesInTree.js.map +1 -1
- package/build/esm/languageProcessing/researches/imageCount.js +1 -2
- package/build/esm/languageProcessing/researches/imageCount.js.map +1 -1
- package/build/esm/scoring/assessments/seo/ImagesInContentAssessment.js +12 -7
- package/build/esm/scoring/assessments/seo/ImagesInContentAssessment.js.map +1 -1
- package/package.json +3 -3
|
@@ -13,9 +13,7 @@ exports.default = _default;
|
|
|
13
13
|
*/
|
|
14
14
|
function _default(paper) {
|
|
15
15
|
const tree = paper.getTree();
|
|
16
|
-
if (!tree)
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
return tree.findAll(node => node.name === "img");
|
|
16
|
+
if (!tree) return [];
|
|
17
|
+
return tree.findAll(node => node.name === 'img');
|
|
20
18
|
}
|
|
21
19
|
//# sourceMappingURL=getImagesInTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getImagesInTree.js","names":["_default","paper","tree","getTree","findAll","node","name"],"sources":["../../../../../src/languageProcessing/helpers/image/getImagesInTree.js"],"sourcesContent":["/**\n * Checks the tree for images.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {Array} Array containing all images in the tree\n */\nexport default function(
|
|
1
|
+
{"version":3,"file":"getImagesInTree.js","names":["_default","paper","tree","getTree","findAll","node","name"],"sources":["../../../../../src/languageProcessing/helpers/image/getImagesInTree.js"],"sourcesContent":["/**\n * Checks the tree for images.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {Array} Array containing all images in the tree\n */\nexport default function(paper) {\n const tree = paper.getTree();\n\n if (!tree) return [];\n return tree.findAll(node => node.name === 'img');\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAAA,SAASC,KAAK,EAAE;EAC7B,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EAE5B,IAAI,CAACD,IAAI,EAAE,OAAO,EAAE;EACpB,OAAOA,IAAI,CAACE,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACC,IAAI,KAAK,KAAK,CAAC;AAClD","ignoreList":[]}
|
|
@@ -16,7 +16,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
16
16
|
* @returns {number} The amount of found images.
|
|
17
17
|
*/
|
|
18
18
|
function imageCount(paper) {
|
|
19
|
-
|
|
20
|
-
return images.length;
|
|
19
|
+
return (0, _getImagesInTree.default)(paper)?.length || 0;
|
|
21
20
|
}
|
|
22
21
|
//# sourceMappingURL=imageCount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageCount.js","names":["_getImagesInTree","_interopRequireDefault","require","e","__esModule","default","imageCount","paper","
|
|
1
|
+
{"version":3,"file":"imageCount.js","names":["_getImagesInTree","_interopRequireDefault","require","e","__esModule","default","imageCount","paper","getImagesInTree","length"],"sources":["../../../../src/languageProcessing/researches/imageCount.js"],"sourcesContent":["/** @module researches/imageInText */\n\nimport getImagesInTree from '../helpers/image/getImagesInTree';\n\n/**\n * Checks the amount of images in the text.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {number} The amount of found images.\n */\nexport default function imageCount(paper) {\n return getImagesInTree(paper)?.length || 0;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA+D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF/D;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,UAAUA,CAACC,KAAK,EAAE;EACxC,OAAO,IAAAC,wBAAe,EAACD,KAAK,CAAC,EAAEE,MAAM,IAAI,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -9,6 +9,11 @@ var _assessment = _interopRequireDefault(require("../assessment"));
|
|
|
9
9
|
var _AssessmentResult = _interopRequireDefault(require("../../../values/AssessmentResult"));
|
|
10
10
|
var _analysis = require("../../../const/analysis");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const DEFAULT_TITLE = 'Images in content';
|
|
13
|
+
const DEFAULT_GOOD_TITLE = 'Images included';
|
|
14
|
+
const DEFAULT_GOOD_CONTENT = 'Images are included and well placed.';
|
|
15
|
+
const DEFAULT_BAD_CONTENT = 'This post is text heavy. Add images to break up sections and improve reading experience.';
|
|
16
|
+
|
|
12
17
|
/**
|
|
13
18
|
* Represents the assessment that checks if the text has any images present.
|
|
14
19
|
*/
|
|
@@ -24,16 +29,16 @@ class ImagesInContentAssessment extends _assessment.default {
|
|
|
24
29
|
super();
|
|
25
30
|
const defaultConfig = {
|
|
26
31
|
id: _analysis.IMAGES_IN_CONTENT_ID,
|
|
27
|
-
docUrl: 'https://
|
|
32
|
+
docUrl: 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist',
|
|
28
33
|
ctaType: 'fix',
|
|
29
34
|
priority: 'high',
|
|
30
35
|
fixPosition: 'description',
|
|
31
|
-
title:
|
|
32
|
-
goodTitle:
|
|
36
|
+
title: DEFAULT_TITLE,
|
|
37
|
+
goodTitle: DEFAULT_GOOD_TITLE,
|
|
33
38
|
content: {
|
|
34
|
-
good:
|
|
39
|
+
good: DEFAULT_GOOD_CONTENT,
|
|
35
40
|
improve: '',
|
|
36
|
-
bad:
|
|
41
|
+
bad: DEFAULT_BAD_CONTENT
|
|
37
42
|
}
|
|
38
43
|
};
|
|
39
44
|
this.identifier = _analysis.IMAGES_IN_CONTENT_ID;
|
|
@@ -80,12 +85,13 @@ class ImagesInContentAssessment extends _assessment.default {
|
|
|
80
85
|
calculateResult() {
|
|
81
86
|
let status = '';
|
|
82
87
|
if (!this.imageCount || this.imageCount === 0) {
|
|
83
|
-
status = '
|
|
88
|
+
status = 'improve';
|
|
84
89
|
} else {
|
|
85
90
|
status = 'good';
|
|
86
91
|
}
|
|
87
92
|
const score = this.getScore(this._config.priority, status);
|
|
88
|
-
const
|
|
93
|
+
const shouldUseTitleForGood = this._config.title !== DEFAULT_TITLE && this._config.goodTitle === DEFAULT_GOOD_TITLE;
|
|
94
|
+
const title = status === 'good' ? shouldUseTitleForGood ? this._config.title : this._config.goodTitle || this._config.title : this._config.title;
|
|
89
95
|
return {
|
|
90
96
|
score,
|
|
91
97
|
status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagesInContentAssessment.js","names":["_lodash","require","_assessment","_interopRequireDefault","_AssessmentResult","_analysis","e","__esModule","default","ImagesInContentAssessment","Assessment","constructor","config","defaultConfig","id","IMAGES_IN_CONTENT_ID","docUrl","ctaType","priority","fixPosition","title","goodTitle","content","good","improve","bad","identifier","_config","merge","getResult","paper","researcher","imageCount","getResearch","assessmentResult","AssessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","setTitle","isApplicable","hasText","getScore","exports"],"sources":["../../../../../src/scoring/assessments/seo/ImagesInContentAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {IMAGES_IN_CONTENT_ID} from '@axyseo/const/analysis';\n\n/**\n * Represents the assessment that checks if the text has any images present.\n */\nexport default class ImagesInContentAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {object} config The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: IMAGES_IN_CONTENT_ID,\n docUrl: 'https://
|
|
1
|
+
{"version":3,"file":"ImagesInContentAssessment.js","names":["_lodash","require","_assessment","_interopRequireDefault","_AssessmentResult","_analysis","e","__esModule","default","DEFAULT_TITLE","DEFAULT_GOOD_TITLE","DEFAULT_GOOD_CONTENT","DEFAULT_BAD_CONTENT","ImagesInContentAssessment","Assessment","constructor","config","defaultConfig","id","IMAGES_IN_CONTENT_ID","docUrl","ctaType","priority","fixPosition","title","goodTitle","content","good","improve","bad","identifier","_config","merge","getResult","paper","researcher","imageCount","getResearch","assessmentResult","AssessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","setTitle","isApplicable","hasText","getScore","shouldUseTitleForGood","exports"],"sources":["../../../../../src/scoring/assessments/seo/ImagesInContentAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {IMAGES_IN_CONTENT_ID} from '@axyseo/const/analysis';\n\nconst DEFAULT_TITLE = 'Images in content';\nconst DEFAULT_GOOD_TITLE = 'Images included';\nconst DEFAULT_GOOD_CONTENT = 'Images are included and well placed.';\nconst DEFAULT_BAD_CONTENT =\n 'This post is text heavy. Add images to break up sections and improve reading experience.';\n\n/**\n * Represents the assessment that checks if the text has any images present.\n */\nexport default class ImagesInContentAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {object} config The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: IMAGES_IN_CONTENT_ID,\n docUrl: 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist',\n ctaType: 'fix',\n priority: 'high',\n fixPosition: 'description',\n title: DEFAULT_TITLE,\n goodTitle: DEFAULT_GOOD_TITLE,\n content: {\n good: DEFAULT_GOOD_CONTENT,\n improve: '',\n bad: DEFAULT_BAD_CONTENT\n }\n };\n\n this.identifier = IMAGES_IN_CONTENT_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Execute the Assessment and return a result.\n *\n * @param {Paper} paper The Paper object to assess.\n * @param {Researcher} researcher The Researcher object containing all available researches.\n * @returns {AssessmentResult} The result of the assessment, containing both a score and a descriptive text.\n */\n getResult({paper, researcher}) {\n this.imageCount = researcher.getResearch('imageCount');\n\n const assessmentResult = new AssessmentResult({config: this._config});\n\n const calculatedResult = this.calculateResult();\n\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n assessmentResult.setTitle(calculatedResult.title);\n\n return assessmentResult;\n }\n\n /**\n * Checks whether the paper has text.\n *\n * @param {Paper} paper The paper to use for the assessment.\n *\n * @returns {boolean} True when there is text.\n */\n isApplicable(paper) {\n return paper.hasText();\n }\n\n /**\n *\n * @returns {{score: number, status: string, title: string}}\n */\n calculateResult() {\n let status = '';\n\n if (!this.imageCount || this.imageCount === 0) {\n status = 'improve';\n } else {\n status = 'good';\n }\n\n const score = this.getScore(this._config.priority, status);\n const shouldUseTitleForGood =\n this._config.title !== DEFAULT_TITLE && this._config.goodTitle === DEFAULT_GOOD_TITLE;\n const title =\n status === 'good'\n ? shouldUseTitleForGood\n ? this._config.title\n : this._config.goodTitle || this._config.title\n : this._config.title;\n\n return {\n score,\n status,\n title\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,9 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export default function (paper) {
|
|
9
9
|
const tree = paper.getTree();
|
|
10
|
-
if (!tree)
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
return tree.findAll(node => node.name === "img");
|
|
10
|
+
if (!tree) return [];
|
|
11
|
+
return tree.findAll(node => node.name === 'img');
|
|
14
12
|
}
|
|
15
13
|
//# sourceMappingURL=getImagesInTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getImagesInTree.js","names":["paper","tree","getTree","findAll","node","name"],"sources":["../../../../../src/languageProcessing/helpers/image/getImagesInTree.js"],"sourcesContent":["/**\n * Checks the tree for images.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {Array} Array containing all images in the tree\n */\nexport default function(
|
|
1
|
+
{"version":3,"file":"getImagesInTree.js","names":["paper","tree","getTree","findAll","node","name"],"sources":["../../../../../src/languageProcessing/helpers/image/getImagesInTree.js"],"sourcesContent":["/**\n * Checks the tree for images.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {Array} Array containing all images in the tree\n */\nexport default function(paper) {\n const tree = paper.getTree();\n\n if (!tree) return [];\n return tree.findAll(node => node.name === 'img');\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,UAASA,KAAK,EAAE;EAC7B,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EAE5B,IAAI,CAACD,IAAI,EAAE,OAAO,EAAE;EACpB,OAAOA,IAAI,CAACE,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACC,IAAI,KAAK,KAAK,CAAC;AAClD","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ import getImagesInTree from "../helpers/image/getImagesInTree";
|
|
|
10
10
|
* @returns {number} The amount of found images.
|
|
11
11
|
*/
|
|
12
12
|
export default function imageCount(paper) {
|
|
13
|
-
|
|
14
|
-
return images.length;
|
|
13
|
+
return getImagesInTree(paper)?.length || 0;
|
|
15
14
|
}
|
|
16
15
|
//# sourceMappingURL=imageCount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageCount.js","names":["getImagesInTree","imageCount","paper","
|
|
1
|
+
{"version":3,"file":"imageCount.js","names":["getImagesInTree","imageCount","paper","length"],"sources":["../../../../src/languageProcessing/researches/imageCount.js"],"sourcesContent":["/** @module researches/imageInText */\n\nimport getImagesInTree from '../helpers/image/getImagesInTree';\n\n/**\n * Checks the amount of images in the text.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {number} The amount of found images.\n */\nexport default function imageCount(paper) {\n return getImagesInTree(paper)?.length || 0;\n}\n"],"mappings":"AAAA;;AAEA,OAAOA,eAAe;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,UAAUA,CAACC,KAAK,EAAE;EACxC,OAAOF,eAAe,CAACE,KAAK,CAAC,EAAEC,MAAM,IAAI,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -2,6 +2,10 @@ import { merge } from 'lodash';
|
|
|
2
2
|
import Assessment from "../assessment";
|
|
3
3
|
import AssessmentResult from "../../../values/AssessmentResult";
|
|
4
4
|
import { IMAGES_IN_CONTENT_ID } from "../../../const/analysis";
|
|
5
|
+
const DEFAULT_TITLE = 'Images in content';
|
|
6
|
+
const DEFAULT_GOOD_TITLE = 'Images included';
|
|
7
|
+
const DEFAULT_GOOD_CONTENT = 'Images are included and well placed.';
|
|
8
|
+
const DEFAULT_BAD_CONTENT = 'This post is text heavy. Add images to break up sections and improve reading experience.';
|
|
5
9
|
|
|
6
10
|
/**
|
|
7
11
|
* Represents the assessment that checks if the text has any images present.
|
|
@@ -18,16 +22,16 @@ export default class ImagesInContentAssessment extends Assessment {
|
|
|
18
22
|
super();
|
|
19
23
|
const defaultConfig = {
|
|
20
24
|
id: IMAGES_IN_CONTENT_ID,
|
|
21
|
-
docUrl: 'https://
|
|
25
|
+
docUrl: 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist',
|
|
22
26
|
ctaType: 'fix',
|
|
23
27
|
priority: 'high',
|
|
24
28
|
fixPosition: 'description',
|
|
25
|
-
title:
|
|
26
|
-
goodTitle:
|
|
29
|
+
title: DEFAULT_TITLE,
|
|
30
|
+
goodTitle: DEFAULT_GOOD_TITLE,
|
|
27
31
|
content: {
|
|
28
|
-
good:
|
|
32
|
+
good: DEFAULT_GOOD_CONTENT,
|
|
29
33
|
improve: '',
|
|
30
|
-
bad:
|
|
34
|
+
bad: DEFAULT_BAD_CONTENT
|
|
31
35
|
}
|
|
32
36
|
};
|
|
33
37
|
this.identifier = IMAGES_IN_CONTENT_ID;
|
|
@@ -74,12 +78,13 @@ export default class ImagesInContentAssessment extends Assessment {
|
|
|
74
78
|
calculateResult() {
|
|
75
79
|
let status = '';
|
|
76
80
|
if (!this.imageCount || this.imageCount === 0) {
|
|
77
|
-
status = '
|
|
81
|
+
status = 'improve';
|
|
78
82
|
} else {
|
|
79
83
|
status = 'good';
|
|
80
84
|
}
|
|
81
85
|
const score = this.getScore(this._config.priority, status);
|
|
82
|
-
const
|
|
86
|
+
const shouldUseTitleForGood = this._config.title !== DEFAULT_TITLE && this._config.goodTitle === DEFAULT_GOOD_TITLE;
|
|
87
|
+
const title = status === 'good' ? shouldUseTitleForGood ? this._config.title : this._config.goodTitle || this._config.title : this._config.title;
|
|
83
88
|
return {
|
|
84
89
|
score,
|
|
85
90
|
status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagesInContentAssessment.js","names":["merge","Assessment","AssessmentResult","IMAGES_IN_CONTENT_ID","ImagesInContentAssessment","constructor","config","defaultConfig","id","docUrl","ctaType","priority","fixPosition","title","goodTitle","content","good","improve","bad","identifier","_config","getResult","paper","researcher","imageCount","getResearch","assessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","setTitle","isApplicable","hasText","getScore"],"sources":["../../../../../src/scoring/assessments/seo/ImagesInContentAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {IMAGES_IN_CONTENT_ID} from '@axyseo/const/analysis';\n\n/**\n * Represents the assessment that checks if the text has any images present.\n */\nexport default class ImagesInContentAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {object} config The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: IMAGES_IN_CONTENT_ID,\n docUrl: 'https://
|
|
1
|
+
{"version":3,"file":"ImagesInContentAssessment.js","names":["merge","Assessment","AssessmentResult","IMAGES_IN_CONTENT_ID","DEFAULT_TITLE","DEFAULT_GOOD_TITLE","DEFAULT_GOOD_CONTENT","DEFAULT_BAD_CONTENT","ImagesInContentAssessment","constructor","config","defaultConfig","id","docUrl","ctaType","priority","fixPosition","title","goodTitle","content","good","improve","bad","identifier","_config","getResult","paper","researcher","imageCount","getResearch","assessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","setTitle","isApplicable","hasText","getScore","shouldUseTitleForGood"],"sources":["../../../../../src/scoring/assessments/seo/ImagesInContentAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {IMAGES_IN_CONTENT_ID} from '@axyseo/const/analysis';\n\nconst DEFAULT_TITLE = 'Images in content';\nconst DEFAULT_GOOD_TITLE = 'Images included';\nconst DEFAULT_GOOD_CONTENT = 'Images are included and well placed.';\nconst DEFAULT_BAD_CONTENT =\n 'This post is text heavy. Add images to break up sections and improve reading experience.';\n\n/**\n * Represents the assessment that checks if the text has any images present.\n */\nexport default class ImagesInContentAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {object} config The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: IMAGES_IN_CONTENT_ID,\n docUrl: 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist',\n ctaType: 'fix',\n priority: 'high',\n fixPosition: 'description',\n title: DEFAULT_TITLE,\n goodTitle: DEFAULT_GOOD_TITLE,\n content: {\n good: DEFAULT_GOOD_CONTENT,\n improve: '',\n bad: DEFAULT_BAD_CONTENT\n }\n };\n\n this.identifier = IMAGES_IN_CONTENT_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Execute the Assessment and return a result.\n *\n * @param {Paper} paper The Paper object to assess.\n * @param {Researcher} researcher The Researcher object containing all available researches.\n * @returns {AssessmentResult} The result of the assessment, containing both a score and a descriptive text.\n */\n getResult({paper, researcher}) {\n this.imageCount = researcher.getResearch('imageCount');\n\n const assessmentResult = new AssessmentResult({config: this._config});\n\n const calculatedResult = this.calculateResult();\n\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n assessmentResult.setTitle(calculatedResult.title);\n\n return assessmentResult;\n }\n\n /**\n * Checks whether the paper has text.\n *\n * @param {Paper} paper The paper to use for the assessment.\n *\n * @returns {boolean} True when there is text.\n */\n isApplicable(paper) {\n return paper.hasText();\n }\n\n /**\n *\n * @returns {{score: number, status: string, title: string}}\n */\n calculateResult() {\n let status = '';\n\n if (!this.imageCount || this.imageCount === 0) {\n status = 'improve';\n } else {\n status = 'good';\n }\n\n const score = this.getScore(this._config.priority, status);\n const shouldUseTitleForGood =\n this._config.title !== DEFAULT_TITLE && this._config.goodTitle === DEFAULT_GOOD_TITLE;\n const title =\n status === 'good'\n ? shouldUseTitleForGood\n ? this._config.title\n : this._config.goodTitle || this._config.title\n : this._config.title;\n\n return {\n score,\n status,\n title\n };\n }\n}\n"],"mappings":"AAAA,SAAQA,KAAK,QAAO,QAAQ;AAC5B,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,SAAQC,oBAAoB;AAE5B,MAAMC,aAAa,GAAG,mBAAmB;AACzC,MAAMC,kBAAkB,GAAG,iBAAiB;AAC5C,MAAMC,oBAAoB,GAAG,sCAAsC;AACnE,MAAMC,mBAAmB,GACvB,0FAA0F;;AAE5F;AACA;AACA;AACA,eAAe,MAAMC,yBAAyB,SAASP,UAAU,CAAC;EAChE;AACF;AACA;AACA;AACA;AACA;AACA;EACEQ,WAAWA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;IACvB,KAAK,CAAC,CAAC;IAEP,MAAMC,aAAa,GAAG;MACpBC,EAAE,EAAET,oBAAoB;MACxBU,MAAM,EAAE,6EAA6E;MACrFC,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE,aAAa;MAC1BC,KAAK,EAAEb,aAAa;MACpBc,SAAS,EAAEb,kBAAkB;MAC7Bc,OAAO,EAAE;QACPC,IAAI,EAAEd,oBAAoB;QAC1Be,OAAO,EAAE,EAAE;QACXC,GAAG,EAAEf;MACP;IACF,CAAC;IAED,IAAI,CAACgB,UAAU,GAAGpB,oBAAoB;IACtC,IAAI,CAACqB,OAAO,GAAGxB,KAAK,CAACW,aAAa,EAAED,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEe,SAASA,CAAC;IAACC,KAAK;IAAEC;EAAU,CAAC,EAAE;IAC7B,IAAI,CAACC,UAAU,GAAGD,UAAU,CAACE,WAAW,CAAC,YAAY,CAAC;IAEtD,MAAMC,gBAAgB,GAAG,IAAI5B,gBAAgB,CAAC;MAACQ,MAAM,EAAE,IAAI,CAACc;IAAO,CAAC,CAAC;IAErE,MAAMO,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAAC,CAAC;IAE/CF,gBAAgB,CAACG,QAAQ,CAACF,gBAAgB,CAACG,KAAK,CAAC;IACjDJ,gBAAgB,CAACK,SAAS,CAACJ,gBAAgB,CAACK,MAAM,CAAC;IACnDN,gBAAgB,CAACO,QAAQ,CAACN,gBAAgB,CAACd,KAAK,CAAC;IAEjD,OAAOa,gBAAgB;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEQ,YAAYA,CAACZ,KAAK,EAAE;IAClB,OAAOA,KAAK,CAACa,OAAO,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;EACEP,eAAeA,CAAA,EAAG;IAChB,IAAII,MAAM,GAAG,EAAE;IAEf,IAAI,CAAC,IAAI,CAACR,UAAU,IAAI,IAAI,CAACA,UAAU,KAAK,CAAC,EAAE;MAC7CQ,MAAM,GAAG,SAAS;IACpB,CAAC,MAAM;MACLA,MAAM,GAAG,MAAM;IACjB;IAEA,MAAMF,KAAK,GAAG,IAAI,CAACM,QAAQ,CAAC,IAAI,CAAChB,OAAO,CAACT,QAAQ,EAAEqB,MAAM,CAAC;IAC1D,MAAMK,qBAAqB,GACzB,IAAI,CAACjB,OAAO,CAACP,KAAK,KAAKb,aAAa,IAAI,IAAI,CAACoB,OAAO,CAACN,SAAS,KAAKb,kBAAkB;IACvF,MAAMY,KAAK,GACTmB,MAAM,KAAK,MAAM,GACbK,qBAAqB,GACnB,IAAI,CAACjB,OAAO,CAACP,KAAK,GAClB,IAAI,CAACO,OAAO,CAACN,SAAS,IAAI,IAAI,CAACM,OAAO,CAACP,KAAK,GAC9C,IAAI,CAACO,OAAO,CAACP,KAAK;IAExB,OAAO;MACLiB,KAAK;MACLE,MAAM;MACNnB;IACF,CAAC;EACH;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axyseo",
|
|
3
|
-
"version": "2025.1.0-blog.
|
|
3
|
+
"version": "2025.1.0-blog.3",
|
|
4
4
|
"main": "build/cjs/index.js",
|
|
5
5
|
"module": "build/esm/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
|
-
"prepublishOnly": "npm run build
|
|
13
|
+
"prepublishOnly": "npm run build",
|
|
14
14
|
"build": "yarn clean && yarn build:esm && yarn build:cjs && yarn build:types",
|
|
15
15
|
"dev": "nodemon",
|
|
16
16
|
"build:esm": "npx babel src --copy-files --source-maps --out-dir build/esm",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"build:types": "tsc",
|
|
19
19
|
"clean": "rm -rf build",
|
|
20
20
|
"lint": "eslint src spec --max-warnings 10",
|
|
21
|
-
"version:patch": "npm version
|
|
21
|
+
"version:patch": "npm version prerelease --preid blog --no-git-tag-version",
|
|
22
22
|
"publish:patch": "yarn version:patch && yarn build && npm publish"
|
|
23
23
|
},
|
|
24
24
|
"files": [
|