axyseo 2.0.0-alpha.0.0.4 → 2.0.0-alpha.0.0.6
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/package.json +5 -2
- package/.browserslistrc +0 -1
- package/.gitattributes +0 -1
- package/babel.config.js +0 -3
- package/eslint.config.mjs +0 -119
- package/src/bundledPlugins/index.js +0 -5
- package/src/bundledPlugins/previouslyUsedKeywords.js +0 -192
- package/src/config/diacritics.js +0 -106
- package/src/config/getTransliterations.js +0 -1447
- package/src/config/transliterationsWPstyle.js +0 -774
- package/src/config/wordBoundaries.js +0 -23
- package/src/config/wordBoundariesWithoutPunctuation.js +0 -9
- package/src/const/analysis.js +0 -41
- package/src/errors/invalidType.js +0 -14
- package/src/errors/missingArgument.js +0 -14
- package/src/helpers/createMeasurementElement.js +0 -40
- package/src/helpers/domManipulation.js +0 -65
- package/src/helpers/errors.js +0 -26
- package/src/helpers/factory.js +0 -219
- package/src/helpers/formatNumber.js +0 -12
- package/src/helpers/formatString.js +0 -33
- package/src/helpers/getLanguagesWithWordComplexity.js +0 -8
- package/src/helpers/getLanguagesWithWordFormSupport.js +0 -11
- package/src/helpers/getWordComplexityConfig.js +0 -20
- package/src/helpers/getWordComplexityHelper.js +0 -20
- package/src/helpers/htmlEntities.js +0 -41
- package/src/helpers/includesAny.js +0 -19
- package/src/helpers/index.js +0 -127
- package/src/helpers/shortlinker/Shortlinker.js +0 -75
- package/src/helpers/shortlinker/index.js +0 -1
- package/src/helpers/shortlinker/singleton.js +0 -68
- package/src/helpers/types.js +0 -34
- package/src/index.js +0 -60
- package/src/languageProcessing/AbstractResearcher.js +0 -366
- package/src/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +0 -125
- package/src/languageProcessing/helpers/html/getFieldsToMark.js +0 -29
- package/src/languageProcessing/helpers/html/getSubheadingTexts.js +0 -47
- package/src/languageProcessing/helpers/html/getSubheadings.js +0 -95
- package/src/languageProcessing/helpers/html/html.js +0 -176
- package/src/languageProcessing/helpers/html/htmlParser.js +0 -145
- package/src/languageProcessing/helpers/html/matchParagraphs.js +0 -62
- package/src/languageProcessing/helpers/html/normalizeHTML.js +0 -16
- package/src/languageProcessing/helpers/image/getAltAttribute.js +0 -20
- package/src/languageProcessing/helpers/image/getImagesInTree.js +0 -16
- package/src/languageProcessing/helpers/image/imageInText.js +0 -19
- package/src/languageProcessing/helpers/index.js +0 -12
- package/src/languageProcessing/helpers/language/getLanguage.js +0 -9
- package/src/languageProcessing/helpers/link/checkNofollow.js +0 -38
- package/src/languageProcessing/helpers/link/getAnchorsFromText.js +0 -32
- package/src/languageProcessing/helpers/link/getLinkType.js +0 -32
- package/src/languageProcessing/helpers/match/findKeywordFormsInString.js +0 -101
- package/src/languageProcessing/helpers/match/isDoubleQuoted.js +0 -13
- package/src/languageProcessing/helpers/match/matchTextWithArray.js +0 -36
- package/src/languageProcessing/helpers/match/matchTextWithTransliteration.js +0 -58
- package/src/languageProcessing/helpers/match/matchTextWithWord.js +0 -45
- package/src/languageProcessing/helpers/match/matchWordFormsWithSentence.js +0 -164
- package/src/languageProcessing/helpers/match/processExactMatchRequest.js +0 -20
- package/src/languageProcessing/helpers/morphology/baseStemmer.js +0 -11
- package/src/languageProcessing/helpers/morphology/buildFormRule.js +0 -19
- package/src/languageProcessing/helpers/morphology/buildTopicStems.js +0 -169
- package/src/languageProcessing/helpers/morphology/createRulesFromArrays.js +0 -45
- package/src/languageProcessing/helpers/morphology/exceptionListHelpers.js +0 -65
- package/src/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +0 -24
- package/src/languageProcessing/helpers/morphology/flattenSortLength.js +0 -14
- package/src/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +0 -39
- package/src/languageProcessing/helpers/morphology/regexHelpers.js +0 -44
- package/src/languageProcessing/helpers/morphology/stemHelpers.js +0 -38
- package/src/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +0 -31
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +0 -36
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +0 -113
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +0 -45
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +0 -231
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +0 -20
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +0 -23
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +0 -40
- package/src/languageProcessing/helpers/prominentWords/determineProminentWords.js +0 -238
- package/src/languageProcessing/helpers/regex/createRegexFromArray.js +0 -35
- package/src/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +0 -34
- package/src/languageProcessing/helpers/regex/createWordRegex.js +0 -30
- package/src/languageProcessing/helpers/regex/matchStringWithRegex.js +0 -19
- package/src/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +0 -14
- package/src/languageProcessing/helpers/sanitize/doubleQuotes.js +0 -12
- package/src/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +0 -131
- package/src/languageProcessing/helpers/sanitize/mergeListItems.js +0 -24
- package/src/languageProcessing/helpers/sanitize/parseSynonyms.js +0 -20
- package/src/languageProcessing/helpers/sanitize/quotes.js +0 -46
- package/src/languageProcessing/helpers/sanitize/removeEmailAddresses.js +0 -12
- package/src/languageProcessing/helpers/sanitize/removePunctuation.js +0 -64
- package/src/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +0 -18
- package/src/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +0 -13
- package/src/languageProcessing/helpers/sanitize/removeURLs.js +0 -13
- package/src/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +0 -11
- package/src/languageProcessing/helpers/sanitize/sanitizeString.js +0 -18
- package/src/languageProcessing/helpers/sanitize/stripHTMLTags.js +0 -57
- package/src/languageProcessing/helpers/sanitize/stripNonTextTags.js +0 -15
- package/src/languageProcessing/helpers/sanitize/stripNumbers.js +0 -21
- package/src/languageProcessing/helpers/sanitize/stripSpaces.js +0 -23
- package/src/languageProcessing/helpers/sanitize/stripWordBoundaries.js +0 -65
- package/src/languageProcessing/helpers/sanitize/unifyWhitespace.js +0 -61
- package/src/languageProcessing/helpers/sentence/SentenceTokenizer.js +0 -640
- package/src/languageProcessing/helpers/sentence/countSentences.js +0 -20
- package/src/languageProcessing/helpers/sentence/getSentences.js +0 -65
- package/src/languageProcessing/helpers/sentence/getSentencesFromTree.js +0 -55
- package/src/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +0 -28
- package/src/languageProcessing/helpers/sentence/sentencesLength.js +0 -31
- package/src/languageProcessing/helpers/syllables/DeviationFragment.js +0 -112
- package/src/languageProcessing/helpers/syllables/countSyllables.js +0 -182
- package/src/languageProcessing/helpers/syllables/syllableCountIterator.js +0 -56
- package/src/languageProcessing/helpers/syllables/syllableCountStep.js +0 -68
- package/src/languageProcessing/helpers/transform/transformWordsWithHyphens.js +0 -17
- package/src/languageProcessing/helpers/transliterate/replaceDiacritics.js +0 -22
- package/src/languageProcessing/helpers/transliterate/specialCharacterMappings.js +0 -214
- package/src/languageProcessing/helpers/transliterate/transliterate.js +0 -20
- package/src/languageProcessing/helpers/transliterate/transliterateWPstyle.js +0 -21
- package/src/languageProcessing/helpers/url/parseSlug.js +0 -10
- package/src/languageProcessing/helpers/url/url.js +0 -172
- package/src/languageProcessing/helpers/word/addWordboundary.js +0 -37
- package/src/languageProcessing/helpers/word/areWordsInSentence.js +0 -16
- package/src/languageProcessing/helpers/word/countMetaDescriptionLength.js +0 -18
- package/src/languageProcessing/helpers/word/countWords.js +0 -14
- package/src/languageProcessing/helpers/word/createPunctuationTokens.js +0 -42
- package/src/languageProcessing/helpers/word/filterWordsFromArray.js +0 -15
- package/src/languageProcessing/helpers/word/followsIndex.js +0 -25
- package/src/languageProcessing/helpers/word/getAllWordsFromTree.js +0 -23
- package/src/languageProcessing/helpers/word/getWords.js +0 -43
- package/src/languageProcessing/helpers/word/includesIndex.js +0 -30
- package/src/languageProcessing/helpers/word/indices.js +0 -146
- package/src/languageProcessing/helpers/word/markWordsInSentences.js +0 -173
- package/src/languageProcessing/helpers/word/matchWordInSentence.js +0 -61
- package/src/languageProcessing/helpers/word/splitIntoTokens.js +0 -46
- package/src/languageProcessing/index.js +0 -91
- package/src/languageProcessing/languages/_default/Researcher.js +0 -34
- package/src/languageProcessing/languages/_default/helpers/getStemmer.js +0 -11
- package/src/languageProcessing/languages/ar/Researcher.js +0 -46
- package/src/languageProcessing/languages/ar/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/ar/config/functionWords.js +0 -329
- package/src/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +0 -570
- package/src/languageProcessing/languages/ar/config/prefixedFunctionWords.js +0 -5
- package/src/languageProcessing/languages/ar/config/transitionWords.js +0 -19
- package/src/languageProcessing/languages/ar/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/ar/helpers/createBasicWordForms.js +0 -32
- package/src/languageProcessing/languages/ar/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/ar/helpers/internal/stem.js +0 -632
- package/src/languageProcessing/languages/ar/helpers/isPassiveSentence.js +0 -33
- package/src/languageProcessing/languages/ca/Researcher.js +0 -43
- package/src/languageProcessing/languages/ca/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/ca/config/transitionWords.js +0 -31
- package/src/languageProcessing/languages/ca/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/ca/helpers/getStemmer.js +0 -11
- package/src/languageProcessing/languages/cs/Researcher.js +0 -44
- package/src/languageProcessing/languages/cs/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/cs/config/functionWords.js +0 -121
- package/src/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +0 -38
- package/src/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +0 -54
- package/src/languageProcessing/languages/cs/config/stopWords.js +0 -42
- package/src/languageProcessing/languages/cs/config/transitionWords.js +0 -26
- package/src/languageProcessing/languages/cs/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/cs/helpers/getClauses.js +0 -26
- package/src/languageProcessing/languages/cs/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/cs/helpers/internal/getParticiples.js +0 -16
- package/src/languageProcessing/languages/cs/helpers/internal/stem.js +0 -499
- package/src/languageProcessing/languages/cs/values/Clause.js +0 -34
- package/src/languageProcessing/languages/de/Researcher.js +0 -52
- package/src/languageProcessing/languages/de/config/firstWordExceptions.js +0 -17
- package/src/languageProcessing/languages/de/config/functionWords.js +0 -303
- package/src/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +0 -2231
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +0 -96
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +0 -368
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +0 -72
- package/src/languageProcessing/languages/de/config/keyphraseLength.js +0 -11
- package/src/languageProcessing/languages/de/config/stopWords.js +0 -67
- package/src/languageProcessing/languages/de/config/syllables.json +0 -460
- package/src/languageProcessing/languages/de/config/transitionWords.js +0 -31
- package/src/languageProcessing/languages/de/config/twoPartTransitionWords.js +0 -12
- package/src/languageProcessing/languages/de/config/wordComplexity.js +0 -4
- package/src/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +0 -40
- package/src/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +0 -15
- package/src/languageProcessing/languages/de/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/de/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +0 -31
- package/src/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +0 -128
- package/src/languageProcessing/languages/de/helpers/internal/determineStem.js +0 -128
- package/src/languageProcessing/languages/de/helpers/internal/getParticiples.js +0 -40
- package/src/languageProcessing/languages/de/helpers/internal/stem.js +0 -215
- package/src/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +0 -28
- package/src/languageProcessing/languages/de/values/Clause.js +0 -85
- package/src/languageProcessing/languages/el/Researcher.js +0 -46
- package/src/languageProcessing/languages/el/config/firstWordExceptions.js +0 -47
- package/src/languageProcessing/languages/el/config/functionWords.js +0 -116
- package/src/languageProcessing/languages/el/config/internal/auxiliaries.js +0 -19
- package/src/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +0 -87
- package/src/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +0 -138
- package/src/languageProcessing/languages/el/config/stopWords.js +0 -854
- package/src/languageProcessing/languages/el/config/transitionWords.js +0 -26
- package/src/languageProcessing/languages/el/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/el/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/el/helpers/getStemmer.js +0 -21
- package/src/languageProcessing/languages/el/helpers/internal/getParticiples.js +0 -20
- package/src/languageProcessing/languages/el/helpers/internal/stem.js +0 -368
- package/src/languageProcessing/languages/el/helpers/isPassiveSentence.js +0 -38
- package/src/languageProcessing/languages/el/values/Clause.js +0 -37
- package/src/languageProcessing/languages/en/Researcher.js +0 -46
- package/src/languageProcessing/languages/en/config/abbreviations.js +0 -55
- package/src/languageProcessing/languages/en/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/en/config/functionWords.js +0 -186
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +0 -44
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +0 -354
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +0 -3047
- package/src/languageProcessing/languages/en/config/regularParticiplesRegex.js +0 -5
- package/src/languageProcessing/languages/en/config/stopWords.js +0 -52
- package/src/languageProcessing/languages/en/config/syllables.json +0 -86
- package/src/languageProcessing/languages/en/config/transitionWords.js +0 -48
- package/src/languageProcessing/languages/en/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/en/config/wordComplexity.js +0 -5
- package/src/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +0 -43
- package/src/languageProcessing/languages/en/helpers/getClauses.js +0 -49
- package/src/languageProcessing/languages/en/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/en/helpers/internal/determineStem.js +0 -178
- package/src/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +0 -162
- package/src/languageProcessing/languages/en/helpers/internal/getParticiples.js +0 -25
- package/src/languageProcessing/languages/en/helpers/internal/getVerbStem.js +0 -237
- package/src/languageProcessing/languages/en/values/Clause.js +0 -68
- package/src/languageProcessing/languages/es/Researcher.js +0 -48
- package/src/languageProcessing/languages/es/config/firstWordExceptions.js +0 -16
- package/src/languageProcessing/languages/es/config/functionWords.js +0 -321
- package/src/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +0 -60
- package/src/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +0 -7327
- package/src/languageProcessing/languages/es/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/es/config/stopWords.js +0 -33
- package/src/languageProcessing/languages/es/config/syllables.json +0 -176
- package/src/languageProcessing/languages/es/config/transitionWords.js +0 -40
- package/src/languageProcessing/languages/es/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/es/config/wordComplexity.js +0 -4
- package/src/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +0 -56
- package/src/languageProcessing/languages/es/helpers/getClauses.js +0 -29
- package/src/languageProcessing/languages/es/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +0 -41
- package/src/languageProcessing/languages/es/helpers/internal/getParticiples.js +0 -35
- package/src/languageProcessing/languages/es/helpers/internal/stem.js +0 -793
- package/src/languageProcessing/languages/es/values/Clause.js +0 -47
- package/src/languageProcessing/languages/fa/Researcher.js +0 -47
- package/src/languageProcessing/languages/fa/config/firstWordExceptions.js +0 -12
- package/src/languageProcessing/languages/fa/config/functionWords.js +0 -122
- package/src/languageProcessing/languages/fa/config/internal/participles.js +0 -1429
- package/src/languageProcessing/languages/fa/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/fa/config/transitionWords.js +0 -20
- package/src/languageProcessing/languages/fa/config/twoPartTransitionWords.js +0 -9
- package/src/languageProcessing/languages/fa/helpers/createBasicWordForms.js +0 -97
- package/src/languageProcessing/languages/fa/helpers/getStemmer.js +0 -13
- package/src/languageProcessing/languages/fa/helpers/isPassiveSentence.js +0 -14
- package/src/languageProcessing/languages/fr/Researcher.js +0 -46
- package/src/languageProcessing/languages/fr/config/firstWordExceptions.js +0 -16
- package/src/languageProcessing/languages/fr/config/functionWords.js +0 -281
- package/src/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +0 -1510
- package/src/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +0 -108
- package/src/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +0 -565
- package/src/languageProcessing/languages/fr/config/stopWords.js +0 -119
- package/src/languageProcessing/languages/fr/config/syllables.json +0 -1426
- package/src/languageProcessing/languages/fr/config/transitionWords.js +0 -59
- package/src/languageProcessing/languages/fr/config/twoPartTransitionWords.js +0 -15
- package/src/languageProcessing/languages/fr/config/wordComplexity.js +0 -4
- package/src/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +0 -67
- package/src/languageProcessing/languages/fr/helpers/getClauses.js +0 -34
- package/src/languageProcessing/languages/fr/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/fr/helpers/internal/getParticiples.js +0 -72
- package/src/languageProcessing/languages/fr/helpers/internal/stem.js +0 -633
- package/src/languageProcessing/languages/fr/values/Clause.js +0 -96
- package/src/languageProcessing/languages/he/Researcher.js +0 -50
- package/src/languageProcessing/languages/he/config/firstWordExceptions.js +0 -13
- package/src/languageProcessing/languages/he/config/functionWords.js +0 -564
- package/src/languageProcessing/languages/he/config/internal/regularRootsHufal.js +0 -186
- package/src/languageProcessing/languages/he/config/internal/regularRootsNifal.js +0 -195
- package/src/languageProcessing/languages/he/config/internal/regularRootsPual.js +0 -168
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +0 -188
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +0 -197
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +0 -170
- package/src/languageProcessing/languages/he/config/prefixedFunctionWords.js +0 -2
- package/src/languageProcessing/languages/he/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/he/config/transitionWords.js +0 -28
- package/src/languageProcessing/languages/he/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/he/helpers/createBasicWordForms.js +0 -33
- package/src/languageProcessing/languages/he/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/he/helpers/internal/stem.js +0 -52
- package/src/languageProcessing/languages/he/helpers/isPassiveSentence.js +0 -96
- package/src/languageProcessing/languages/he/helpers/stem.js +0 -52
- package/src/languageProcessing/languages/hu/Researcher.js +0 -48
- package/src/languageProcessing/languages/hu/config/firstWordExceptions.js +0 -31
- package/src/languageProcessing/languages/hu/config/functionWords.js +0 -284
- package/src/languageProcessing/languages/hu/config/internal/auxiliaries.js +0 -97
- package/src/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +0 -125
- package/src/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +0 -265
- package/src/languageProcessing/languages/hu/config/internal/odikVerbs.js +0 -273
- package/src/languageProcessing/languages/hu/config/internal/participles.js +0 -412
- package/src/languageProcessing/languages/hu/config/stopWords.js +0 -213
- package/src/languageProcessing/languages/hu/config/transitionWords.js +0 -42
- package/src/languageProcessing/languages/hu/config/twoPartTransitionWords.js +0 -34
- package/src/languageProcessing/languages/hu/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/hu/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/hu/helpers/internal/getParticiples.js +0 -21
- package/src/languageProcessing/languages/hu/helpers/internal/stem.js +0 -389
- package/src/languageProcessing/languages/hu/helpers/isPassiveSentence.js +0 -54
- package/src/languageProcessing/languages/hu/values/Clause.js +0 -41
- package/src/languageProcessing/languages/id/Researcher.js +0 -46
- package/src/languageProcessing/languages/id/config/firstWordExceptions.js +0 -13
- package/src/languageProcessing/languages/id/config/functionWords.js +0 -202
- package/src/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +0 -215
- package/src/languageProcessing/languages/id/config/transitionWords.js +0 -62
- package/src/languageProcessing/languages/id/config/twoPartTransitionWords.js +0 -13
- package/src/languageProcessing/languages/id/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/id/helpers/internal/stem.js +0 -462
- package/src/languageProcessing/languages/id/helpers/internal/stemHelpers.js +0 -78
- package/src/languageProcessing/languages/id/helpers/isPassiveSentence.js +0 -39
- package/src/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +0 -47
- package/src/languageProcessing/languages/it/Researcher.js +0 -48
- package/src/languageProcessing/languages/it/config/firstWordExceptions.js +0 -17
- package/src/languageProcessing/languages/it/config/functionWords.js +0 -277
- package/src/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +0 -98
- package/src/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +0 -7197
- package/src/languageProcessing/languages/it/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/it/config/stopWords.js +0 -57
- package/src/languageProcessing/languages/it/config/syllables.json +0 -573
- package/src/languageProcessing/languages/it/config/transitionWords.js +0 -104
- package/src/languageProcessing/languages/it/config/twoPartTransitionWords.js +0 -9
- package/src/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +0 -15
- package/src/languageProcessing/languages/it/helpers/getClauses.js +0 -32
- package/src/languageProcessing/languages/it/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/it/helpers/internal/getParticiples.js +0 -34
- package/src/languageProcessing/languages/it/helpers/internal/stem.js +0 -436
- package/src/languageProcessing/languages/it/values/Clause.js +0 -47
- package/src/languageProcessing/languages/ja/Researcher.js +0 -86
- package/src/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +0 -4
- package/src/languageProcessing/languages/ja/config/firstWordExceptions.js +0 -8
- package/src/languageProcessing/languages/ja/config/functionWords.js +0 -563
- package/src/languageProcessing/languages/ja/config/keyphraseLength.js +0 -16
- package/src/languageProcessing/languages/ja/config/metaDescriptionLength.js +0 -4
- package/src/languageProcessing/languages/ja/config/paragraphLength.js +0 -10
- package/src/languageProcessing/languages/ja/config/sentenceLength.js +0 -4
- package/src/languageProcessing/languages/ja/config/subheadingsTooLong.js +0 -18
- package/src/languageProcessing/languages/ja/config/textLength.js +0 -47
- package/src/languageProcessing/languages/ja/config/topicLength.js +0 -5
- package/src/languageProcessing/languages/ja/config/transitionWords.js +0 -354
- package/src/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +0 -98
- package/src/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +0 -19
- package/src/languageProcessing/languages/ja/customResearches/getWordForms.js +0 -50
- package/src/languageProcessing/languages/ja/customResearches/textLength.js +0 -24
- package/src/languageProcessing/languages/ja/helpers/countCharacters.js +0 -19
- package/src/languageProcessing/languages/ja/helpers/customGetStemmer.js +0 -21
- package/src/languageProcessing/languages/ja/helpers/getContentWords.js +0 -21
- package/src/languageProcessing/languages/ja/helpers/getWords.js +0 -31
- package/src/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +0 -102
- package/src/languageProcessing/languages/ja/helpers/internal/createWordForms.js +0 -68
- package/src/languageProcessing/languages/ja/helpers/internal/determineStem.js +0 -17
- package/src/languageProcessing/languages/ja/helpers/matchTextWithWord.js +0 -53
- package/src/languageProcessing/languages/ja/helpers/matchTransitionWords.js +0 -25
- package/src/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +0 -28
- package/src/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +0 -20
- package/src/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +0 -13
- package/src/languageProcessing/languages/nb/Researcher.js +0 -45
- package/src/languageProcessing/languages/nb/config/firstWordExceptions.js +0 -12
- package/src/languageProcessing/languages/nb/config/functionWords.js +0 -106
- package/src/languageProcessing/languages/nb/config/internal/participles.js +0 -3127
- package/src/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +0 -15
- package/src/languageProcessing/languages/nb/config/stopWords.js +0 -39
- package/src/languageProcessing/languages/nb/config/transitionWords.js +0 -21
- package/src/languageProcessing/languages/nb/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/nb/helpers/getClauses.js +0 -28
- package/src/languageProcessing/languages/nb/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/nb/helpers/internal/getParticiples.js +0 -24
- package/src/languageProcessing/languages/nb/helpers/internal/stem.js +0 -133
- package/src/languageProcessing/languages/nb/values/Clause.js +0 -43
- package/src/languageProcessing/languages/nl/Researcher.js +0 -48
- package/src/languageProcessing/languages/nl/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/nl/config/functionWords.js +0 -233
- package/src/languageProcessing/languages/nl/config/internal/nonParticiples.js +0 -2515
- package/src/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +0 -13
- package/src/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +0 -474
- package/src/languageProcessing/languages/nl/config/keyphraseLength.js +0 -10
- package/src/languageProcessing/languages/nl/config/stopWords.js +0 -35
- package/src/languageProcessing/languages/nl/config/syllables.json +0 -343
- package/src/languageProcessing/languages/nl/config/transitionWords.js +0 -22
- package/src/languageProcessing/languages/nl/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +0 -15
- package/src/languageProcessing/languages/nl/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/nl/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +0 -128
- package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +0 -324
- package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +0 -164
- package/src/languageProcessing/languages/nl/helpers/internal/determineStem.js +0 -133
- package/src/languageProcessing/languages/nl/helpers/internal/getParticiples.js +0 -25
- package/src/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +0 -183
- package/src/languageProcessing/languages/nl/helpers/internal/stem.js +0 -146
- package/src/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +0 -109
- package/src/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +0 -65
- package/src/languageProcessing/languages/nl/values/Clause.js +0 -62
- package/src/languageProcessing/languages/pl/Researcher.js +0 -47
- package/src/languageProcessing/languages/pl/config/firstWordExceptions.js +0 -12
- package/src/languageProcessing/languages/pl/config/functionWords.js +0 -421
- package/src/languageProcessing/languages/pl/config/internal/auxiliaries.js +0 -85
- package/src/languageProcessing/languages/pl/config/internal/participles.js +0 -26433
- package/src/languageProcessing/languages/pl/config/sentenceLength.js +0 -10
- package/src/languageProcessing/languages/pl/config/stopWords.js +0 -36
- package/src/languageProcessing/languages/pl/config/transitionWords.js +0 -42
- package/src/languageProcessing/languages/pl/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/pl/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/pl/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/pl/helpers/internal/getParticiples.js +0 -18
- package/src/languageProcessing/languages/pl/helpers/internal/stem.js +0 -161
- package/src/languageProcessing/languages/pl/values/Clause.js +0 -53
- package/src/languageProcessing/languages/pt/Researcher.js +0 -48
- package/src/languageProcessing/languages/pt/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/pt/config/functionWords.js +0 -226
- package/src/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +0 -66
- package/src/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +0 -4088
- package/src/languageProcessing/languages/pt/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/pt/config/stopWords.js +0 -50
- package/src/languageProcessing/languages/pt/config/syllables.json +0 -38
- package/src/languageProcessing/languages/pt/config/transitionWords.js +0 -34
- package/src/languageProcessing/languages/pt/config/twoPartTransitionWords.js +0 -9
- package/src/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +0 -15
- package/src/languageProcessing/languages/pt/helpers/getClauses.js +0 -29
- package/src/languageProcessing/languages/pt/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/pt/helpers/internal/getParticiples.js +0 -35
- package/src/languageProcessing/languages/pt/helpers/internal/stem.js +0 -319
- package/src/languageProcessing/languages/pt/values/Clause.js +0 -43
- package/src/languageProcessing/languages/ru/Researcher.js +0 -48
- package/src/languageProcessing/languages/ru/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +0 -20
- package/src/languageProcessing/languages/ru/config/functionWords.js +0 -519
- package/src/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +0 -2914
- package/src/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +0 -6295
- package/src/languageProcessing/languages/ru/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/ru/config/syllables.json +0 -19
- package/src/languageProcessing/languages/ru/config/transitionWords.js +0 -62
- package/src/languageProcessing/languages/ru/config/twoPartTransitionWords.js +0 -14
- package/src/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +0 -16
- package/src/languageProcessing/languages/ru/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/ru/helpers/internal/stem.js +0 -288
- package/src/languageProcessing/languages/ru/helpers/isPassiveSentence.js +0 -14
- package/src/languageProcessing/languages/sk/Researcher.js +0 -46
- package/src/languageProcessing/languages/sk/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/sk/config/functionWords.js +0 -855
- package/src/languageProcessing/languages/sk/config/internal/nonPassives.js +0 -1074
- package/src/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +0 -22
- package/src/languageProcessing/languages/sk/config/stopWords.js +0 -34
- package/src/languageProcessing/languages/sk/config/transitionWords.js +0 -23
- package/src/languageProcessing/languages/sk/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/sk/helpers/getClauses.js +0 -26
- package/src/languageProcessing/languages/sk/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/sk/helpers/internal/getParticiples.js +0 -16
- package/src/languageProcessing/languages/sk/helpers/internal/stem.js +0 -319
- package/src/languageProcessing/languages/sk/values/Clause.js +0 -39
- package/src/languageProcessing/languages/sv/Researcher.js +0 -45
- package/src/languageProcessing/languages/sv/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/sv/config/functionWords.js +0 -176
- package/src/languageProcessing/languages/sv/config/internal/passiveVerbs.js +0 -10400
- package/src/languageProcessing/languages/sv/config/keyphraseLength.js +0 -11
- package/src/languageProcessing/languages/sv/config/transitionWords.js +0 -35
- package/src/languageProcessing/languages/sv/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/sv/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/sv/helpers/internal/stem.js +0 -152
- package/src/languageProcessing/languages/sv/helpers/isPassiveSentence.js +0 -14
- package/src/languageProcessing/languages/tr/Researcher.js +0 -44
- package/src/languageProcessing/languages/tr/config/firstWordExceptions.js +0 -13
- package/src/languageProcessing/languages/tr/config/functionWords.js +0 -116
- package/src/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +0 -574
- package/src/languageProcessing/languages/tr/config/internal/passiveEndings.js +0 -151
- package/src/languageProcessing/languages/tr/config/sentenceLength.js +0 -7
- package/src/languageProcessing/languages/tr/config/transitionWords.js +0 -42
- package/src/languageProcessing/languages/tr/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/tr/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/tr/helpers/internal/stem.js +0 -20
- package/src/languageProcessing/languages/tr/helpers/isPassiveSentence.js +0 -43
- package/src/languageProcessing/researches/altTagCount.js +0 -70
- package/src/languageProcessing/researches/countSentencesFromText.js +0 -19
- package/src/languageProcessing/researches/findKeyphraseInSEOTitle.js +0 -257
- package/src/languageProcessing/researches/findKeywordInFirstParagraph.js +0 -86
- package/src/languageProcessing/researches/findTransitionWords.js +0 -123
- package/src/languageProcessing/researches/functionWordsInKeyphrase.js +0 -44
- package/src/languageProcessing/researches/getAnchorsWithKeyphrase.js +0 -227
- package/src/languageProcessing/researches/getFleschReadingScore.js +0 -150
- package/src/languageProcessing/researches/getKeywordDensity.js +0 -44
- package/src/languageProcessing/researches/getLinkStatistics.js +0 -54
- package/src/languageProcessing/researches/getLinks.js +0 -18
- package/src/languageProcessing/researches/getLongCenterAlignedTexts.js +0 -37
- package/src/languageProcessing/researches/getParagraphLength.js +0 -44
- package/src/languageProcessing/researches/getParagraphs.js +0 -18
- package/src/languageProcessing/researches/getPassiveVoiceResult.js +0 -129
- package/src/languageProcessing/researches/getProminentWordsForInsights.js +0 -48
- package/src/languageProcessing/researches/getProminentWordsForInternalLinking.js +0 -119
- package/src/languageProcessing/researches/getSentenceBeginnings.js +0 -124
- package/src/languageProcessing/researches/getSubheadingTextLengths.js +0 -59
- package/src/languageProcessing/researches/getWordForms.js +0 -204
- package/src/languageProcessing/researches/h1s.js +0 -10
- package/src/languageProcessing/researches/imageCount.js +0 -16
- package/src/languageProcessing/researches/index.js +0 -5
- package/src/languageProcessing/researches/keyphraseDistribution.js +0 -249
- package/src/languageProcessing/researches/keyphraseLength.js +0 -17
- package/src/languageProcessing/researches/keywordCount.js +0 -134
- package/src/languageProcessing/researches/keywordCountInUrl.js +0 -57
- package/src/languageProcessing/researches/matchKeywordInSubheadings.js +0 -62
- package/src/languageProcessing/researches/metaDescriptionKeyword.js +0 -85
- package/src/languageProcessing/researches/metaDescriptionLength.js +0 -12
- package/src/languageProcessing/researches/pageTitleWidth.js +0 -11
- package/src/languageProcessing/researches/readingTime.js +0 -82
- package/src/languageProcessing/researches/sentences.js +0 -20
- package/src/languageProcessing/researches/videoCount.js +0 -32
- package/src/languageProcessing/researches/wordComplexity.js +0 -129
- package/src/languageProcessing/researches/wordCountInText.js +0 -29
- package/src/languageProcessing/values/Clause.js +0 -108
- package/src/languageProcessing/values/ProminentWord.js +0 -95
- package/src/languageProcessing/values/Sentence.js +0 -111
- package/src/languageProcessing/values/index.js +0 -9
- package/src/markers/addMark.js +0 -9
- package/src/markers/addMarkSingleWord.js +0 -32
- package/src/markers/index.js +0 -7
- package/src/markers/removeDuplicateMarks.js +0 -27
- package/src/markers/removeMarks.js +0 -11
- package/src/parse/build/build.js +0 -52
- package/src/parse/build/index.js +0 -10
- package/src/parse/build/private/adapt.js +0 -113
- package/src/parse/build/private/adaptAttributes.js +0 -36
- package/src/parse/build/private/alwaysFilterElements.js +0 -75
- package/src/parse/build/private/combineIntoImplicitParagraphs.js +0 -130
- package/src/parse/build/private/filterBeforeTokenizing.js +0 -32
- package/src/parse/build/private/filterHelpers.js +0 -44
- package/src/parse/build/private/filterTree.js +0 -42
- package/src/parse/build/private/getTextElementPositions.js +0 -184
- package/src/parse/build/private/helpers/parseClassAttribute.js +0 -9
- package/src/parse/build/private/isPhrasingContent.js +0 -28
- package/src/parse/build/private/parseBlocks.js +0 -151
- package/src/parse/build/private/tokenize.js +0 -74
- package/src/parse/language/LanguageProcessor.js +0 -74
- package/src/parse/structure/Heading.js +0 -26
- package/src/parse/structure/Node.js +0 -69
- package/src/parse/structure/Paragraph.js +0 -48
- package/src/parse/structure/Sentence.js +0 -30
- package/src/parse/structure/SourceCodeLocation.js +0 -41
- package/src/parse/structure/Text.js +0 -27
- package/src/parse/structure/Token.js +0 -24
- package/src/parse/structure/index.js +0 -16
- package/src/parse/traverse/findAllInTree.js +0 -58
- package/src/parse/traverse/index.js +0 -12
- package/src/parse/traverse/innerText.js +0 -26
- package/src/parsedPaper/ParsedPaper.js +0 -92
- package/src/parsedPaper/assess/TreeAssessor.js +0 -184
- package/src/parsedPaper/assess/assessmentListFactories.js +0 -73
- package/src/parsedPaper/assess/assessments/Assessment.js +0 -79
- package/src/parsedPaper/assess/assessments/index.js +0 -6
- package/src/parsedPaper/assess/assessorFactories.js +0 -104
- package/src/parsedPaper/assess/cornerstone/assessmentListFactories.js +0 -47
- package/src/parsedPaper/assess/cornerstone/index.js +0 -5
- package/src/parsedPaper/assess/index.js +0 -20
- package/src/parsedPaper/build/PaperParser.js +0 -105
- package/src/parsedPaper/build/linguisticParsing/Sentence.js +0 -89
- package/src/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +0 -323
- package/src/parsedPaper/build/linguisticParsing/parseText.js +0 -20
- package/src/parsedPaper/build/tree/TreeBuilder.js +0 -75
- package/src/parsedPaper/build/tree/cleanup/calculateTextIndices.js +0 -190
- package/src/parsedPaper/build/tree/cleanup/getElementContent.js +0 -21
- package/src/parsedPaper/build/tree/cleanup/postParsing.js +0 -37
- package/src/parsedPaper/build/tree/html/HTMLTreeConverter.js +0 -230
- package/src/parsedPaper/build/tree/html/buildTree.js +0 -31
- package/src/parsedPaper/build/tree/html/htmlConstants.js +0 -37
- package/src/parsedPaper/build/tree/index.js +0 -14
- package/src/parsedPaper/build/tree/metadata/buildTree.js +0 -32
- package/src/parsedPaper/research/TreeResearcher.js +0 -134
- package/src/parsedPaper/research/index.js +0 -13
- package/src/parsedPaper/research/researches/Headings.js +0 -20
- package/src/parsedPaper/research/researches/LinkStatistics.js +0 -128
- package/src/parsedPaper/research/researches/Research.js +0 -50
- package/src/parsedPaper/research/researches/index.js +0 -1
- package/src/parsedPaper/structure/tree/FormattingElement.js +0 -67
- package/src/parsedPaper/structure/tree/SourceCodeLocation.js +0 -31
- package/src/parsedPaper/structure/tree/TextContainer.js +0 -85
- package/src/parsedPaper/structure/tree/index.js +0 -22
- package/src/parsedPaper/structure/tree/nodes/Heading.js +0 -26
- package/src/parsedPaper/structure/tree/nodes/LeafNode.js +0 -75
- package/src/parsedPaper/structure/tree/nodes/List.js +0 -47
- package/src/parsedPaper/structure/tree/nodes/ListItem.js +0 -26
- package/src/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +0 -46
- package/src/parsedPaper/structure/tree/nodes/MetadataText.js +0 -26
- package/src/parsedPaper/structure/tree/nodes/Node.js +0 -154
- package/src/parsedPaper/structure/tree/nodes/Paragraph.js +0 -24
- package/src/parsedPaper/structure/tree/nodes/StructuredNode.js +0 -52
- package/src/parsedPaper/structure/tree/nodes/index.js +0 -21
- package/src/scoring/assessments/assessment.js +0 -63
- package/src/scoring/assessments/index.js +0 -58
- package/src/scoring/assessments/readability/ParagraphTooLongAssessment.js +0 -173
- package/src/scoring/assessments/readability/SentenceBeginningsAssessment.js +0 -132
- package/src/scoring/assessments/readability/SentenceLengthInTextAssessment.js +0 -186
- package/src/scoring/assessments/readability/TransitionWordsAssessment.js +0 -168
- package/src/scoring/assessments/seo/ImageCountAssessment.js +0 -112
- package/src/scoring/assessments/seo/InternalLinksAssessment.js +0 -114
- package/src/scoring/assessments/seo/IntroductionKeywordAssessment.js +0 -110
- package/src/scoring/assessments/seo/KeyphraseAssessment.js +0 -104
- package/src/scoring/assessments/seo/KeyphraseLengthAssessment.js +0 -110
- package/src/scoring/assessments/seo/KeywordDensityAssessment.js +0 -116
- package/src/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +0 -114
- package/src/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +0 -112
- package/src/scoring/assessments/seo/MetaTitleKeywordAssessment.js +0 -111
- package/src/scoring/assessments/seo/NumberInMetaTitleAssessment.js +0 -107
- package/src/scoring/assessments/seo/OutboundLinksAssessment.js +0 -111
- package/src/scoring/assessments/seo/PageTitleWidthAssessment.js +0 -104
- package/src/scoring/assessments/seo/SingleH1Assessment.js +0 -118
- package/src/scoring/assessments/seo/SingleTitleAssessment.js +0 -108
- package/src/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +0 -107
- package/src/scoring/assessments/seo/TextImagesAssessment.js +0 -144
- package/src/scoring/assessments/seo/TextLengthAssessment.js +0 -100
- package/src/scoring/assessments/seo/UrlKeywordAssessment.js +0 -111
- package/src/scoring/assessments/seo/UrlLengthAssessment.js +0 -103
- package/src/scoring/assessors/assessor.js +0 -269
- package/src/scoring/assessors/avadaAssessor.js +0 -67
- package/src/scoring/assessors/contentAssessor.js +0 -159
- package/src/scoring/assessors/index.js +0 -4
- package/src/scoring/assessors/seoAssessor.js +0 -57
- package/src/scoring/helpers/assessments/checkForTooLongSentences.js +0 -13
- package/src/scoring/helpers/assessments/inRange.js +0 -49
- package/src/scoring/helpers/assessments/keyphraseLengthFactor.js +0 -10
- package/src/scoring/helpers/assessments/recommendedKeywordCount.js +0 -43
- package/src/scoring/helpers/index.js +0 -74
- package/src/scoring/interpreters/index.js +0 -5
- package/src/scoring/interpreters/scoreToRating.js +0 -31
- package/src/scoring/renderers/AssessorPresenter.js +0 -360
- package/src/scoring/scoreAggregators/ReadabilityScoreAggregator.js +0 -203
- package/src/scoring/scoreAggregators/SEOScoreAggregator.js +0 -54
- package/src/scoring/scoreAggregators/ScoreAggregator.js +0 -23
- package/src/scoring/scoreAggregators/index.js +0 -3
- package/src/values/AssessmentResult.js +0 -496
- package/src/values/Mark.js +0 -271
- package/src/values/Paper.js +0 -425
- package/src/values/index.js +0 -9
- package/src/vendor/turkishStemmer.js +0 -3435
- package/tsconfig.json +0 -15
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { has, get } from "lodash";
|
|
2
|
-
import SourceCodeLocation from "../SourceCodeLocation";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Abstract class representing a node in the structured tree.
|
|
6
|
-
* @abstract
|
|
7
|
-
*
|
|
8
|
-
* @memberOf module:parsedPaper/structure
|
|
9
|
-
*/
|
|
10
|
-
class Node {
|
|
11
|
-
/**
|
|
12
|
-
* Makes a new Node.
|
|
13
|
-
*
|
|
14
|
-
* @param {string} type The type of Node (should be unique for each child class of Node).
|
|
15
|
-
* @param {?Object} sourceCodeLocation The parse5 formatted location of the element inside of the source code.
|
|
16
|
-
*
|
|
17
|
-
* @abstract
|
|
18
|
-
*/
|
|
19
|
-
constructor( type, sourceCodeLocation ) {
|
|
20
|
-
/**
|
|
21
|
-
* Type of node (unique for each child class of Node).
|
|
22
|
-
* @type {string}
|
|
23
|
-
*/
|
|
24
|
-
this.type = type;
|
|
25
|
-
|
|
26
|
-
if ( sourceCodeLocation ) {
|
|
27
|
-
/**
|
|
28
|
-
* Location inside of the source code.
|
|
29
|
-
* @type {SourceCodeLocation}
|
|
30
|
-
*/
|
|
31
|
-
this.sourceCodeLocation = new SourceCodeLocation( sourceCodeLocation );
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The parent node of this node.
|
|
36
|
-
* @type {module:parsedPaper/structure.Node|null}
|
|
37
|
-
*/
|
|
38
|
-
this.parent = null;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Cache for the research results.
|
|
42
|
-
* @type {Object}
|
|
43
|
-
* @private
|
|
44
|
-
*/
|
|
45
|
-
this._researchResult = {};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Stores the research result on this node.
|
|
50
|
-
*
|
|
51
|
-
* @param {string} researchName The name of the research of which to store the results.
|
|
52
|
-
* @param {Object} researchResult The results to store.
|
|
53
|
-
*
|
|
54
|
-
* @returns {void}
|
|
55
|
-
*/
|
|
56
|
-
setResearchResult( researchName, researchResult ) {
|
|
57
|
-
this._researchResult[ researchName ] = researchResult;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Returns the research result for the research with the given name.
|
|
62
|
-
*
|
|
63
|
-
* @param {string} researchName The name of the research of which to return the stored results.
|
|
64
|
-
*
|
|
65
|
-
* @returns {Object|null} The stored results, or null if not found.
|
|
66
|
-
*/
|
|
67
|
-
getResearchResult( researchName ) {
|
|
68
|
-
return get( this._researchResult, researchName, null );
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Checks whether results exist for the research with the given name.
|
|
73
|
-
*
|
|
74
|
-
* @param {string} researchName The name of the research to check.
|
|
75
|
-
*
|
|
76
|
-
* @returns {boolean} Whether results exists for the research with the given name.
|
|
77
|
-
*/
|
|
78
|
-
hasResearchResult( researchName ) {
|
|
79
|
-
return has( this._researchResult, researchName );
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Maps the given function to each Node in this tree.
|
|
84
|
-
*
|
|
85
|
-
* @param {module:parsedPaper/structure.Node.mapFunction} mapFunction The function that should be mapped to each Node in the tree.
|
|
86
|
-
*
|
|
87
|
-
* @returns {module:parsedPaper/structure.Node} A new tree, after the given function has been mapped on each Node.
|
|
88
|
-
*/
|
|
89
|
-
map( mapFunction ) {
|
|
90
|
-
// Map function over contents of this node.
|
|
91
|
-
const node = mapFunction( this );
|
|
92
|
-
if ( node.children && node.children.length > 0 ) {
|
|
93
|
-
// Map function over node's children (if it has any).
|
|
94
|
-
node.children = node.children.map( child => child.map( mapFunction ) );
|
|
95
|
-
}
|
|
96
|
-
return node;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Callback function for the Node's map-function.
|
|
101
|
-
*
|
|
102
|
-
* @callback module:parsedPaper/structure.Node.mapFunction
|
|
103
|
-
*
|
|
104
|
-
* @param {module:parsedPaper/structure.Node} currentValue The current Node being processed.
|
|
105
|
-
*
|
|
106
|
-
* @returns {module:parsedPaper/structure.Node} The current Node after being processed by this function.
|
|
107
|
-
*/
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Executes the given function on each node in this tree.
|
|
111
|
-
*
|
|
112
|
-
* @param{function} fun The function to apply to each node in the tree.
|
|
113
|
-
*
|
|
114
|
-
* @returns {void}
|
|
115
|
-
*/
|
|
116
|
-
forEach( fun ) {
|
|
117
|
-
fun( this );
|
|
118
|
-
if ( this.children && this.children.length > 0 ) {
|
|
119
|
-
this.children.forEach( fun );
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Custom replacer function for replacing 'parent' with nothing.
|
|
125
|
-
* This is done to remove cycles from the tree.
|
|
126
|
-
*
|
|
127
|
-
* @param {string} key The key.
|
|
128
|
-
* @param {Object} value The value.
|
|
129
|
-
*
|
|
130
|
-
* @returns {Object} The (optionally replaced) value.
|
|
131
|
-
*
|
|
132
|
-
* @private
|
|
133
|
-
*/
|
|
134
|
-
static _removeParent( key, value ) {
|
|
135
|
-
if ( key === "parent" ) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
return value;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Transforms this tree to a string representation.
|
|
143
|
-
* For use in e.g. logging to the console or to a text file.
|
|
144
|
-
*
|
|
145
|
-
* @param {number|string} [indentation = 2] The space with which to indent each successive level in the JSON tree.
|
|
146
|
-
*
|
|
147
|
-
* @returns {string} This tree, transformed to a string.
|
|
148
|
-
*/
|
|
149
|
-
toString( indentation = 2 ) {
|
|
150
|
-
return JSON.stringify( this, Node._removeParent, indentation );
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export default Node;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import LeafNode from "./LeafNode";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Represents a paragraph with text within a document.
|
|
5
|
-
*
|
|
6
|
-
* @extends module:parsedPaper/structure.LeafNode
|
|
7
|
-
*
|
|
8
|
-
* @memberOf module:parsedPaper/structure
|
|
9
|
-
*/
|
|
10
|
-
class Paragraph extends LeafNode {
|
|
11
|
-
/**
|
|
12
|
-
* A paragraph within a document.
|
|
13
|
-
*
|
|
14
|
-
* @param {Object} sourceCodeLocation The parse5 formatted location of the element inside of the source code.
|
|
15
|
-
* @param {boolean} [isImplicit=false] If this paragraph is implicit.
|
|
16
|
-
*/
|
|
17
|
-
constructor( sourceCodeLocation, isImplicit = false ) {
|
|
18
|
-
super( "Paragraph", sourceCodeLocation );
|
|
19
|
-
|
|
20
|
-
this.isImplicit = isImplicit;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export default Paragraph;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import Node from "./Node";
|
|
2
|
-
/**
|
|
3
|
-
* Represents a piece of structure that is present in the original text, but is not relevant for the further analysis
|
|
4
|
-
* of the text.
|
|
5
|
-
*
|
|
6
|
-
* Talking about HTML, this would encompass thing like `<div>`, `<section>`, `<aside>`, `<fieldset>`
|
|
7
|
-
* and other HTML block elements.
|
|
8
|
-
*
|
|
9
|
-
* @extends module:parsedPaper/structure.Node
|
|
10
|
-
*
|
|
11
|
-
* @memberOf module:parsedPaper/structure
|
|
12
|
-
*/
|
|
13
|
-
class StructuredNode extends Node {
|
|
14
|
-
/**
|
|
15
|
-
* Represents a piece of structure that is present in the original text, but is not relevant for the further
|
|
16
|
-
* analysis of the text.
|
|
17
|
-
*
|
|
18
|
-
* Talking about HTML, this would encompass thing like `<div>`, `<section>`, `<aside>`, `<fieldset>`
|
|
19
|
-
* and other HTML block elements.
|
|
20
|
-
*
|
|
21
|
-
* @param {string} tag The tag used in the node.
|
|
22
|
-
* @param {?Object} sourceCodeLocation The parse5 formatted location of the element inside of the source code.
|
|
23
|
-
*
|
|
24
|
-
* @returns {void}
|
|
25
|
-
*/
|
|
26
|
-
constructor( tag, sourceCodeLocation ) {
|
|
27
|
-
super( "StructuredNode", sourceCodeLocation );
|
|
28
|
-
/**
|
|
29
|
-
* Type of structured node (e.g. "div", "section" etc.).
|
|
30
|
-
* @type {string}
|
|
31
|
-
*/
|
|
32
|
-
this.tag = tag;
|
|
33
|
-
/**
|
|
34
|
-
* This node's child nodes.
|
|
35
|
-
* @type {module:parsedPaper/structure.Node[]}
|
|
36
|
-
*/
|
|
37
|
-
this.children = [];
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Adds a child and sets its parent to this node.
|
|
42
|
-
*
|
|
43
|
-
* @param {module:parsedPaper/structure.Node} child The child to add.
|
|
44
|
-
*
|
|
45
|
-
* @returns {void}
|
|
46
|
-
*/
|
|
47
|
-
addChild( child ) {
|
|
48
|
-
child.parent = this;
|
|
49
|
-
this.children.push( child );
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export default StructuredNode;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import Heading from "./Heading";
|
|
2
|
-
import LeafNode from "./LeafNode";
|
|
3
|
-
import List from "./List";
|
|
4
|
-
import ListItem from "./ListItem";
|
|
5
|
-
import MetadataMiscellaneous from "./MetadataMiscellaneous";
|
|
6
|
-
import MetadataText from "./MetadataText";
|
|
7
|
-
import Node from "./Node";
|
|
8
|
-
import Paragraph from "./Paragraph";
|
|
9
|
-
import StructuredNode from "./StructuredNode";
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
Heading,
|
|
13
|
-
LeafNode,
|
|
14
|
-
List,
|
|
15
|
-
ListItem,
|
|
16
|
-
MetadataText,
|
|
17
|
-
MetadataMiscellaneous,
|
|
18
|
-
Node,
|
|
19
|
-
Paragraph,
|
|
20
|
-
StructuredNode,
|
|
21
|
-
};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-unused-vars */
|
|
2
|
-
import {sanitizeString} from '../../languageProcessing';
|
|
3
|
-
import {filterShortcodesFromHTML, removeHtmlBlocks} from '../../languageProcessing/helpers';
|
|
4
|
-
import {POINT, priorityRate, statusRate} from '../../../const/analysis';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* The base class for an Assessment.
|
|
8
|
-
*/
|
|
9
|
-
class Assessment {
|
|
10
|
-
/**
|
|
11
|
-
* Executes the assessment and return its result.
|
|
12
|
-
*
|
|
13
|
-
* @param {Paper} paper The paper to run this assessment on.
|
|
14
|
-
* @param {Researcher} researcher The researcher used for the assessment.
|
|
15
|
-
* @param i18n
|
|
16
|
-
* @returns {AssessmentResult} The result of the assessment.
|
|
17
|
-
*/
|
|
18
|
-
getResult(paper, researcher, i18n) {
|
|
19
|
-
throw 'The method getResult is not implemented';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Checks whether the assessment is applicable.
|
|
24
|
-
*
|
|
25
|
-
* @param {Paper} paper The paper to run this assessment on.
|
|
26
|
-
* @param {Researcher} researcher The researcher used for the assessment.
|
|
27
|
-
*
|
|
28
|
-
* @returns {boolean} Whether the assessment is applicable, defaults to `true`.
|
|
29
|
-
*/
|
|
30
|
-
isApplicable(paper, researcher) {
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Tests whether a `Paper` has enough content for assessments to be displayed.
|
|
36
|
-
*
|
|
37
|
-
* @param {Paper} paper The paper to run this assessment on.
|
|
38
|
-
* @param {number} contentNeededForAssessment The minimum length in characters a text must have for assessments to be displayed.
|
|
39
|
-
*
|
|
40
|
-
* @returns {boolean} `true` if the text is of the required length, `false` otherwise.
|
|
41
|
-
*/
|
|
42
|
-
hasEnoughContentForAssessment(paper, contentNeededForAssessment = 50) {
|
|
43
|
-
let text = paper.getText();
|
|
44
|
-
text = removeHtmlBlocks(text);
|
|
45
|
-
text = filterShortcodesFromHTML(text, paper._attributes && paper._attributes.shortcodes);
|
|
46
|
-
|
|
47
|
-
return sanitizeString(text).length >= contentNeededForAssessment;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
* @param priority
|
|
53
|
-
* @param status
|
|
54
|
-
* @returns {number}
|
|
55
|
-
*/
|
|
56
|
-
getScore(priority, status) {
|
|
57
|
-
return POINT * priorityRate[`${priority}`] * statusRate[`${status}`];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/* eslint-enable no-unused-vars */
|
|
62
|
-
|
|
63
|
-
export default Assessment;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
// Readability assessments.
|
|
2
|
-
import ParagraphTooLongAssessment from './readability/ParagraphTooLongAssessment';
|
|
3
|
-
import SentenceBeginningsAssessment from './readability/SentenceBeginningsAssessment';
|
|
4
|
-
import SentenceLengthInTextAssessment from './readability/SentenceLengthInTextAssessment';
|
|
5
|
-
import TransitionWordsAssessment from './readability/TransitionWordsAssessment';
|
|
6
|
-
|
|
7
|
-
// SEO assessments.
|
|
8
|
-
import InternalLinksAssessment from './seo/InternalLinksAssessment';
|
|
9
|
-
import IntroductionKeywordAssessment from './seo/IntroductionKeywordAssessment';
|
|
10
|
-
import KeyphraseLengthAssessment from './seo/KeyphraseLengthAssessment';
|
|
11
|
-
import KeyphraseDensityAssessment from './seo/KeywordDensityAssessment';
|
|
12
|
-
import MetaDescriptionKeywordAssessment from './seo/MetaDescriptionKeywordAssessment';
|
|
13
|
-
import MetaDescriptionLengthAssessment from './seo/MetaDescriptionLengthAssessment';
|
|
14
|
-
import OutboundLinksAssessment from './seo/OutboundLinksAssessment';
|
|
15
|
-
import PageTitleWidthAssessment from './seo/PageTitleWidthAssessment';
|
|
16
|
-
import SingleH1Assessment from './seo/SingleH1Assessment';
|
|
17
|
-
import SubheadingsKeywordAssessment from './seo/SubHeadingsKeywordAssessment';
|
|
18
|
-
import TextLengthAssessment from './seo/TextLengthAssessment';
|
|
19
|
-
import SlugKeywordAssessment from './seo/UrlKeywordAssessment';
|
|
20
|
-
import ImageCountAssessment from './seo/ImageCountAssessment';
|
|
21
|
-
import KeyphraseAssessment from './seo/KeyphraseAssessment';
|
|
22
|
-
import SingleTitleAssessment from '../../../scoring/assessments/seo/SingleTitleAssessment';
|
|
23
|
-
import UrlLengthAssessment from '../../../scoring/assessments/seo/UrlLengthAssessment';
|
|
24
|
-
import NumberInMetaTitleAssessment from '../../../scoring/assessments/seo/NumberInMetaTitleAssessment';
|
|
25
|
-
import TextImagesAssessment from '../../../scoring/assessments/seo/TextImagesAssessment';
|
|
26
|
-
import MetaTitleKeywordAssessment from '../../../scoring/assessments/seo/MetaTitleKeywordAssessment';
|
|
27
|
-
|
|
28
|
-
const readability = {
|
|
29
|
-
ParagraphTooLongAssessment,
|
|
30
|
-
SentenceBeginningsAssessment,
|
|
31
|
-
SentenceLengthInTextAssessment,
|
|
32
|
-
TransitionWordsAssessment
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
// We expose the deprecated assessments for backwards compatibility.
|
|
36
|
-
const seo = {
|
|
37
|
-
ImageCountAssessment,
|
|
38
|
-
NumberInMetaTitleAssessment,
|
|
39
|
-
InternalLinksAssessment,
|
|
40
|
-
TextImagesAssessment,
|
|
41
|
-
MetaTitleKeywordAssessment,
|
|
42
|
-
IntroductionKeywordAssessment,
|
|
43
|
-
SingleTitleAssessment,
|
|
44
|
-
KeyphraseLengthAssessment,
|
|
45
|
-
UrlLengthAssessment,
|
|
46
|
-
KeyphraseDensityAssessment,
|
|
47
|
-
MetaDescriptionKeywordAssessment,
|
|
48
|
-
MetaDescriptionLengthAssessment,
|
|
49
|
-
OutboundLinksAssessment,
|
|
50
|
-
PageTitleWidthAssessment,
|
|
51
|
-
SingleH1Assessment,
|
|
52
|
-
SubheadingsKeywordAssessment,
|
|
53
|
-
TextLengthAssessment,
|
|
54
|
-
SlugKeywordAssessment,
|
|
55
|
-
KeyphraseAssessment
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export {readability, seo};
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import {merge} from 'lodash';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import {Text} from '@shopify/polaris';
|
|
4
|
-
import {inRangeEndInclusive as inRange} from '../../helpers/assessments/inRange';
|
|
5
|
-
import AssessmentResult from '../../../values/AssessmentResult';
|
|
6
|
-
import Assessment from '../assessment';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Represents the assessment that will look if the text has too long paragraphs.
|
|
10
|
-
*/
|
|
11
|
-
export default class ParagraphTooLongAssessment extends Assessment {
|
|
12
|
-
/**
|
|
13
|
-
* Sets the identifier and the config.
|
|
14
|
-
*
|
|
15
|
-
* @param {object} config The configuration to use.
|
|
16
|
-
*
|
|
17
|
-
* @returns {void}
|
|
18
|
-
*/
|
|
19
|
-
constructor(config = {}) {
|
|
20
|
-
super();
|
|
21
|
-
|
|
22
|
-
const defaultConfig = {
|
|
23
|
-
id: 'textParagraphTooLong',
|
|
24
|
-
priority: 'high',
|
|
25
|
-
docUrl:
|
|
26
|
-
'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#paragraph-length',
|
|
27
|
-
fixPosition: 'longParagraph',
|
|
28
|
-
ctaType: 'fix',
|
|
29
|
-
parameters: {
|
|
30
|
-
recommendedLength: 150,
|
|
31
|
-
maximumRecommendedLength: 150
|
|
32
|
-
},
|
|
33
|
-
title: 'Paragraph length',
|
|
34
|
-
content: {
|
|
35
|
-
bad: 'Paragraph too long. Keep paragraph length less than 150 words for readability.',
|
|
36
|
-
improve: '',
|
|
37
|
-
good: 'Paragraph is optimized, with less than 150 words.'
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
this.identifier = 'textParagraphTooLong';
|
|
42
|
-
this._config = merge(defaultConfig, config);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Check if there is language-specific config, and if so, overwrite the current config with it.
|
|
47
|
-
*
|
|
48
|
-
* @param {Researcher} researcher The researcher to use.
|
|
49
|
-
*
|
|
50
|
-
* @returns {Object} The config that should be used.
|
|
51
|
-
*/
|
|
52
|
-
getConfig(researcher) {
|
|
53
|
-
const currentConfig = this._config;
|
|
54
|
-
const languageSpecificConfig = researcher.getConfig('paragraphLength');
|
|
55
|
-
|
|
56
|
-
/*
|
|
57
|
-
* If a language has a specific paragraph length config, check further if the assessment is run in product pages.
|
|
58
|
-
* If it's run in product pages, override the default config parameters with the language specific config for product pages,
|
|
59
|
-
* otherwise override it with the language specific config for default pages analysis.
|
|
60
|
-
*/
|
|
61
|
-
if (languageSpecificConfig) {
|
|
62
|
-
currentConfig.parameters = this._isProduct
|
|
63
|
-
? languageSpecificConfig.productPageParams
|
|
64
|
-
: languageSpecificConfig.defaultPageParams;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return currentConfig;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
*
|
|
72
|
-
* @param paragraphsLength
|
|
73
|
-
* @param tooLongParagraphs
|
|
74
|
-
* @param config
|
|
75
|
-
* @param i18n
|
|
76
|
-
* @returns {{score: number, body: React.JSX.Element, status: string}}
|
|
77
|
-
*/
|
|
78
|
-
calculateResult({paragraphsLength, config, i18n}) {
|
|
79
|
-
let status = '';
|
|
80
|
-
if (paragraphsLength.length === 0) {
|
|
81
|
-
status = 'good';
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
const longestParagraphLength = paragraphsLength[0].countLength;
|
|
85
|
-
|
|
86
|
-
if (longestParagraphLength <= config.parameters.recommendedLength) {
|
|
87
|
-
status = 'good';
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
inRange(
|
|
92
|
-
longestParagraphLength,
|
|
93
|
-
config.parameters.recommendedLength,
|
|
94
|
-
config.parameters.maximumRecommendedLength
|
|
95
|
-
)
|
|
96
|
-
) {
|
|
97
|
-
status = 'good';
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (longestParagraphLength > config.parameters.maximumRecommendedLength) {
|
|
101
|
-
status = 'bad';
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const score = this.getScore(this._config.priority, status);
|
|
105
|
-
|
|
106
|
-
return {
|
|
107
|
-
score,
|
|
108
|
-
status,
|
|
109
|
-
body: (
|
|
110
|
-
<Text as={'span'}>
|
|
111
|
-
{this._config.content[status]}{' '}
|
|
112
|
-
{this._config.docUrl && (
|
|
113
|
-
<a href={this._config.docUrl} target="_blank" rel="noreferrer">
|
|
114
|
-
Learn more
|
|
115
|
-
</a>
|
|
116
|
-
)}
|
|
117
|
-
</Text>
|
|
118
|
-
)
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Sort the paragraphs based on word count.
|
|
124
|
-
*
|
|
125
|
-
* @param {Array} paragraphs The array with paragraphs.
|
|
126
|
-
*
|
|
127
|
-
* @returns {Array} The array sorted on word counts.
|
|
128
|
-
*/
|
|
129
|
-
sortParagraphs(paragraphs) {
|
|
130
|
-
return paragraphs.sort(function(a, b) {
|
|
131
|
-
return b.countLength - a.countLength;
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Runs the getParagraphLength module, based on this returns an assessment result with score and text.
|
|
137
|
-
*
|
|
138
|
-
* @param {Paper} paper The paper to use for the assessment.
|
|
139
|
-
* @param {Researcher} researcher The researcher used for calling research.
|
|
140
|
-
* @param i18n
|
|
141
|
-
* @returns {object} The assessment result.
|
|
142
|
-
*/
|
|
143
|
-
getResult(paper, researcher, i18n) {
|
|
144
|
-
let paragraphsLength = researcher.getResearch('getParagraphLength');
|
|
145
|
-
|
|
146
|
-
paragraphsLength = this.sortParagraphs(paragraphsLength);
|
|
147
|
-
const config = this.getConfig(researcher);
|
|
148
|
-
|
|
149
|
-
const paragraphLengthResult = this.calculateResult({
|
|
150
|
-
paragraphsLength,
|
|
151
|
-
config,
|
|
152
|
-
i18n
|
|
153
|
-
});
|
|
154
|
-
const assessmentResult = new AssessmentResult({config: this._config});
|
|
155
|
-
|
|
156
|
-
assessmentResult.setScore(paragraphLengthResult.score);
|
|
157
|
-
assessmentResult.setStatus(paragraphLengthResult.status);
|
|
158
|
-
assessmentResult.setBody(paragraphLengthResult.body);
|
|
159
|
-
|
|
160
|
-
return assessmentResult;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Checks if the paragraphTooLong assessment is applicable to the paper.
|
|
165
|
-
*
|
|
166
|
-
* @param {Paper} paper The paper to check.
|
|
167
|
-
*
|
|
168
|
-
* @returns {boolean} Returns true if the assessment is applicable to the paper.
|
|
169
|
-
*/
|
|
170
|
-
isApplicable(paper) {
|
|
171
|
-
return this.hasEnoughContentForAssessment(paper);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import {merge, partition, sortBy} from 'lodash';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import {Text} from '@shopify/polaris';
|
|
4
|
-
import AssessmentResult from '../../../values/AssessmentResult';
|
|
5
|
-
import Assessment from '../assessment';
|
|
6
|
-
import {TextBlockIcon} from '@shopify/polaris-icons';
|
|
7
|
-
|
|
8
|
-
const maximumConsecutiveDuplicates = 2;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Represents the assessment that checks whether there are three or more consecutive sentences beginning with the same word.
|
|
12
|
-
*/
|
|
13
|
-
export default class SentenceBeginningsAssessment extends Assessment {
|
|
14
|
-
/**
|
|
15
|
-
* Sets the identifier and the config.
|
|
16
|
-
*
|
|
17
|
-
* @param {object} config The configuration to use.
|
|
18
|
-
*
|
|
19
|
-
* @returns {void}
|
|
20
|
-
*/
|
|
21
|
-
constructor(config = {}) {
|
|
22
|
-
super();
|
|
23
|
-
|
|
24
|
-
const defaultConfig = {
|
|
25
|
-
id: 'sentenceBeginnings',
|
|
26
|
-
priority: 'medium',
|
|
27
|
-
ctaType: 'fix',
|
|
28
|
-
docUrl:
|
|
29
|
-
'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#sentence-beginnings',
|
|
30
|
-
fixPosition: 'description',
|
|
31
|
-
icon: TextBlockIcon,
|
|
32
|
-
title: 'Sentence beginnings',
|
|
33
|
-
content: {
|
|
34
|
-
improve: '',
|
|
35
|
-
bad:
|
|
36
|
-
'Found sentences with repetitive beginnings. Change the wording for more engaging content.',
|
|
37
|
-
good: 'No sentences with repetitive beginnings found.'
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
this.identifier = 'sentenceBeginnings';
|
|
42
|
-
this._config = merge(defaultConfig, config);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Counts and groups the number too often used sentence beginnings and determines the lowest count within that group.
|
|
47
|
-
*
|
|
48
|
-
* @param {array} sentenceBeginnings The array containing the objects containing the beginning words and counts.
|
|
49
|
-
*
|
|
50
|
-
* @returns {object} The object containing the total number of too often used beginnings and the lowest count within those.
|
|
51
|
-
*/
|
|
52
|
-
groupSentenceBeginnings(sentenceBeginnings) {
|
|
53
|
-
const tooOften = partition(sentenceBeginnings, function(word) {
|
|
54
|
-
return word.count > maximumConsecutiveDuplicates;
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
if (tooOften[0].length === 0) {
|
|
58
|
-
return {total: 0};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const sortedCounts = sortBy(tooOften[0], function(word) {
|
|
62
|
-
return word.count;
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
return {total: tooOften[0].length, lowestCount: sortedCounts[0].count};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
*
|
|
70
|
-
* @param groupedSentenceBeginnings
|
|
71
|
-
* @returns {{score: number, body: React.JSX.Element, status: string}}
|
|
72
|
-
*/
|
|
73
|
-
calculateSentenceBeginningsResult(groupedSentenceBeginnings) {
|
|
74
|
-
let status = '';
|
|
75
|
-
if (groupedSentenceBeginnings.total > 0) {
|
|
76
|
-
status = 'bad';
|
|
77
|
-
} else {
|
|
78
|
-
status = 'good';
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const score = this.getScore(this._config.priority, status);
|
|
82
|
-
|
|
83
|
-
return {
|
|
84
|
-
score,
|
|
85
|
-
status,
|
|
86
|
-
body: (
|
|
87
|
-
<Text as={'span'}>
|
|
88
|
-
{this._config.content[status]}{' '}
|
|
89
|
-
{this._config.docUrl && (
|
|
90
|
-
<a href={this._config.docUrl} target="_blank" rel="noreferrer">
|
|
91
|
-
Learn more
|
|
92
|
-
</a>
|
|
93
|
-
)}
|
|
94
|
-
</Text>
|
|
95
|
-
)
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
*
|
|
101
|
-
* @param paper
|
|
102
|
-
* @param researcher
|
|
103
|
-
* @param i18n
|
|
104
|
-
* @returns {AssessmentResult}
|
|
105
|
-
*/
|
|
106
|
-
getResult(paper, researcher, i18n) {
|
|
107
|
-
const sentenceBeginnings = researcher.getResearch('getSentenceBeginnings');
|
|
108
|
-
const groupedSentenceBeginnings = this.groupSentenceBeginnings(sentenceBeginnings);
|
|
109
|
-
const calculatedResult = this.calculateSentenceBeginningsResult(groupedSentenceBeginnings);
|
|
110
|
-
const assessmentResult = new AssessmentResult({config: this._config});
|
|
111
|
-
|
|
112
|
-
assessmentResult.setStatus(calculatedResult.status);
|
|
113
|
-
assessmentResult.setStatus(calculatedResult.status);
|
|
114
|
-
assessmentResult.setBody(calculatedResult.body);
|
|
115
|
-
|
|
116
|
-
return assessmentResult;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Checks if the sentence beginnings assessment is applicable to the paper.
|
|
121
|
-
*
|
|
122
|
-
* @param {Object} paper The paper to check.
|
|
123
|
-
* @param {Researcher} researcher The researcher object.
|
|
124
|
-
*
|
|
125
|
-
* @returns {boolean} Returns true if the language is available and the paper is not empty.
|
|
126
|
-
*/
|
|
127
|
-
isApplicable(paper, researcher) {
|
|
128
|
-
return (
|
|
129
|
-
this.hasEnoughContentForAssessment(paper) && researcher.hasResearch('getSentenceBeginnings')
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
}
|