axyseo 2.0.0-alpha.0.0.4 → 2.0.0-alpha.0.0.5
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,184 +0,0 @@
|
|
|
1
|
-
import { __, sprintf } from "@wordpress/i18n";
|
|
2
|
-
import AssessmentResult from "../../values/AssessmentResult";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Analyzes a paper by doing a list of assessments on a tree representation of a text and its metadata.
|
|
6
|
-
* Aggregates the scores on each individual assessment into an overall score.
|
|
7
|
-
*
|
|
8
|
-
* This score can represent anything from the readability to the SEO of the given text and metadata.
|
|
9
|
-
*
|
|
10
|
-
* @memberOf module:parsedPaper/assess
|
|
11
|
-
*/
|
|
12
|
-
class TreeAssessor {
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new assessor.
|
|
15
|
-
*
|
|
16
|
-
* @param {Object} options Assessor options.
|
|
17
|
-
* @param {module:parsedPaper/research.TreeResearcher} options.researcher Supplies the assessments with researches and their
|
|
18
|
-
* (cached) results.
|
|
19
|
-
* @param {module:parsedPaper/assess.ScoreAggregator} options.scoreAggregator Aggregates the scores on the individual assessments into one.
|
|
20
|
-
* @param {module:parsedPaper/assess.Assessment[]} [options.assessments] The list of assessments to apply.
|
|
21
|
-
*/
|
|
22
|
-
constructor( options ) {
|
|
23
|
-
/**
|
|
24
|
-
* Supplies the assessments with researches and their (cached) results.
|
|
25
|
-
* @type {module:parsedPaper/research.TreeResearcher}
|
|
26
|
-
*/
|
|
27
|
-
this.researcher = options.researcher;
|
|
28
|
-
/**
|
|
29
|
-
* Aggregates the scores on the individual assessments into one overall score.
|
|
30
|
-
* @type {module:parsedPaper/assess.ScoreAggregator}
|
|
31
|
-
*/
|
|
32
|
-
this.scoreAggregator = options.scoreAggregator;
|
|
33
|
-
/**
|
|
34
|
-
* The list of assessments to apply.
|
|
35
|
-
* @type {module:parsedPaper/assess.Assessment[]}
|
|
36
|
-
*/
|
|
37
|
-
this._assessments = options.assessments || [];
|
|
38
|
-
// Make sure that all of the assessments have the researcher.
|
|
39
|
-
this._assessments.forEach( assessment => assessment.setResearcher( this.researcher ) );
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Returns the list of available assessments.
|
|
44
|
-
*
|
|
45
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of all available assessments.
|
|
46
|
-
*/
|
|
47
|
-
getAssessments() {
|
|
48
|
-
return this._assessments;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Assesses the given text by applying all the assessments to it
|
|
53
|
-
* and aggregating the resulting scores.
|
|
54
|
-
*
|
|
55
|
-
* @param {Paper} paper The paper to assess. This contains metadata about the text.
|
|
56
|
-
* @param {module:parsedPaper/structure.Node} node The root node of the tree to check.
|
|
57
|
-
*
|
|
58
|
-
* @returns {Promise<{results: AssessmentResult[], score: number}>} The assessment results and the overall score.
|
|
59
|
-
*/
|
|
60
|
-
async assess( paper, node ) {
|
|
61
|
-
const applicableAssessments = await this.getApplicableAssessments( paper, node );
|
|
62
|
-
/*
|
|
63
|
-
Apply every applicable assessment on the document.
|
|
64
|
-
Wait before they are done before aggregating the results
|
|
65
|
-
and returning the results and final score.
|
|
66
|
-
*/
|
|
67
|
-
const results = await Promise.all(
|
|
68
|
-
applicableAssessments.map( assessment => this.applyAssessment( assessment, paper, node ) )
|
|
69
|
-
);
|
|
70
|
-
// Filter out errored assessments.
|
|
71
|
-
const validResults = results.filter( result => result.getScore() !== -1 );
|
|
72
|
-
// Compute overall score.
|
|
73
|
-
const score = this.scoreAggregator.aggregate( validResults );
|
|
74
|
-
|
|
75
|
-
return { results, score };
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Applies the given assessment to the paper-node combination.
|
|
80
|
-
*
|
|
81
|
-
* @param {module:parsedPaper/assess.Assessment} assessment The assessment to apply.
|
|
82
|
-
* @param {Paper} paper The paper to apply the assessment to.
|
|
83
|
-
* @param {module:parsedPaper/structure.Node} node The root node of the tree to apply the assessment to.
|
|
84
|
-
*
|
|
85
|
-
* @returns {Promise<AssessmentResult>} The result of the assessment.
|
|
86
|
-
*/
|
|
87
|
-
async applyAssessment( assessment, paper, node ) {
|
|
88
|
-
return assessment.apply( paper, node ).catch(
|
|
89
|
-
() => {
|
|
90
|
-
return new AssessmentResult( {
|
|
91
|
-
text: sprintf(
|
|
92
|
-
/* translators: %1$s expands to the name of the assessment. */
|
|
93
|
-
__( "An error occurred in the '%1$s' assessment", "wordpress-seo" ),
|
|
94
|
-
assessment.name
|
|
95
|
-
),
|
|
96
|
-
score: -1,
|
|
97
|
-
} );
|
|
98
|
-
}
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Adds the assessment to the list of assessments to apply.
|
|
104
|
-
*
|
|
105
|
-
* @param {string} name The name to register the assessment under.
|
|
106
|
-
* @param {module:parsedPaper/assess.Assessment} assessment The assessment to add.
|
|
107
|
-
*
|
|
108
|
-
* @returns {void}
|
|
109
|
-
*/
|
|
110
|
-
registerAssessment( name, assessment ) {
|
|
111
|
-
assessment.name = name;
|
|
112
|
-
assessment.setResearcher( this.researcher );
|
|
113
|
-
this._assessments.push( assessment );
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Removes the assessment registered under the given name, if it exists.
|
|
118
|
-
*
|
|
119
|
-
* @param {string} name The name of the assessment to remove.
|
|
120
|
-
*
|
|
121
|
-
* @returns {module:parsedPaper/assess.Assessment|null} The deleted assessment, or null if no assessment has been deleted.
|
|
122
|
-
*/
|
|
123
|
-
removeAssessment( name ) {
|
|
124
|
-
const index = this._assessments.findIndex( assessment => assessment.name === name );
|
|
125
|
-
if ( index > -1 ) {
|
|
126
|
-
const deleted = this._assessments.splice( index, 1 );
|
|
127
|
-
return deleted[ 0 ];
|
|
128
|
-
}
|
|
129
|
-
return null;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Returns the assessment registered under the given name.
|
|
134
|
-
* Returns `null` if no assessment is registered under the given name.
|
|
135
|
-
*
|
|
136
|
-
* @param {string} name The name of the assessment to get.
|
|
137
|
-
*
|
|
138
|
-
* @returns {Assessment|null} The assessment.
|
|
139
|
-
*/
|
|
140
|
-
getAssessment( name ) {
|
|
141
|
-
const assessmentToReturn = this._assessments.find( assessment => assessment.name === name );
|
|
142
|
-
return assessmentToReturn ? assessmentToReturn : null;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Sets the assessments that this assessor needs to apply.
|
|
147
|
-
*
|
|
148
|
-
* @param {module:parsedPaper/assess.Assessment[]} assessments The assessments to set.
|
|
149
|
-
*
|
|
150
|
-
* @returns {void}
|
|
151
|
-
*/
|
|
152
|
-
setAssessments( assessments ) {
|
|
153
|
-
this._assessments = assessments;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Returns the list of applicable assessments.
|
|
158
|
-
*
|
|
159
|
-
* @param {Paper} paper The paper to check.
|
|
160
|
-
* @param {module:parsedPaper/structure.Node} node The tree to check.
|
|
161
|
-
*
|
|
162
|
-
* @returns {Promise<Array>} The list of applicable assessments.
|
|
163
|
-
*/
|
|
164
|
-
async getApplicableAssessments( paper, node ) {
|
|
165
|
-
// List to store the applicable assessments in (empty for now).
|
|
166
|
-
const applicableAssessments = [];
|
|
167
|
-
|
|
168
|
-
// Asynchronously add each assessment to the list if they are applicable.
|
|
169
|
-
const promises = this._assessments.map( assessment =>
|
|
170
|
-
assessment.isApplicable( paper, node ).then(
|
|
171
|
-
applicable => {
|
|
172
|
-
if ( applicable ) {
|
|
173
|
-
applicableAssessments.push( assessment );
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
)
|
|
177
|
-
);
|
|
178
|
-
|
|
179
|
-
// Wait before all the applicable assessments have been added before returning them.
|
|
180
|
-
return Promise.all( promises ).then( () => applicableAssessments );
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export default TreeAssessor;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory functions for creating lists of assessments.
|
|
3
|
-
*
|
|
4
|
-
* To be used in creating the different kinds of assessors.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new list of SEO assessments.
|
|
9
|
-
*
|
|
10
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of SEO assessments.
|
|
11
|
-
*
|
|
12
|
-
* @private
|
|
13
|
-
* @memberOf module:parsedPaper/assess
|
|
14
|
-
*/
|
|
15
|
-
const constructSEOAssessments = () => [
|
|
16
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Creates a new list of readability assessments.
|
|
21
|
-
*
|
|
22
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of readability assessments.
|
|
23
|
-
*
|
|
24
|
-
* @private
|
|
25
|
-
* @memberOf module:parsedPaper/assess
|
|
26
|
-
*/
|
|
27
|
-
const constructReadabilityAssessments = () => [
|
|
28
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Creates a new list of SEO assessments for taxonomy pages.
|
|
33
|
-
*
|
|
34
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of SEO assessments.
|
|
35
|
-
*
|
|
36
|
-
* @private
|
|
37
|
-
* @memberOf module:parsedPaper/assess
|
|
38
|
-
*/
|
|
39
|
-
const constructTaxonomyAssessments = () => [
|
|
40
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
41
|
-
];
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Creates a new list of SEO assessments for related keyphrases.
|
|
45
|
-
*
|
|
46
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of SEO assessments.
|
|
47
|
-
*
|
|
48
|
-
* @private
|
|
49
|
-
* @memberOf module:parsedPaper/assess
|
|
50
|
-
*/
|
|
51
|
-
const constructRelatedKeyphraseAssessments = () => [
|
|
52
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
53
|
-
];
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Creates a new list of SEO assessments for related keyphrases on taxonomy pages.
|
|
57
|
-
*
|
|
58
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of SEO assessments.
|
|
59
|
-
*
|
|
60
|
-
* @private
|
|
61
|
-
* @memberOf module:parsedPaper/assess
|
|
62
|
-
*/
|
|
63
|
-
const constructRelatedKeyphraseTaxonomyAssessments = () => [
|
|
64
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
65
|
-
];
|
|
66
|
-
|
|
67
|
-
export {
|
|
68
|
-
constructSEOAssessments,
|
|
69
|
-
constructReadabilityAssessments,
|
|
70
|
-
constructTaxonomyAssessments,
|
|
71
|
-
constructRelatedKeyphraseAssessments,
|
|
72
|
-
constructRelatedKeyphraseTaxonomyAssessments,
|
|
73
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An assessment that can be applied to a formatted text and its meta data.
|
|
3
|
-
*
|
|
4
|
-
* @memberOf module:parsedPaper/assess
|
|
5
|
-
*
|
|
6
|
-
* @abstract
|
|
7
|
-
*/
|
|
8
|
-
class Assessment {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new assessment.
|
|
11
|
-
*
|
|
12
|
-
* @param {string} name The name to give this assessment.
|
|
13
|
-
* @param {module:parsedPaper/research.TreeResearcher} researcher The researcher to do researches with.
|
|
14
|
-
*
|
|
15
|
-
* @abstract
|
|
16
|
-
*/
|
|
17
|
-
constructor( name, researcher ) {
|
|
18
|
-
/**
|
|
19
|
-
* This assessment's name.
|
|
20
|
-
* @type {string}
|
|
21
|
-
*/
|
|
22
|
-
this.name = name;
|
|
23
|
-
/**
|
|
24
|
-
* The researcher to do researches with.
|
|
25
|
-
* @type {module:parsedPaper/research.TreeResearcher}
|
|
26
|
-
* @private
|
|
27
|
-
*/
|
|
28
|
-
this._researcher = researcher;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Sets a new researcher on this assessment.
|
|
33
|
-
*
|
|
34
|
-
* @param {module:parsedPaper/research.TreeResearcher} researcher The researcher to do researches with.
|
|
35
|
-
*
|
|
36
|
-
* @returns {void}
|
|
37
|
-
*/
|
|
38
|
-
setResearcher( researcher ) {
|
|
39
|
-
this._researcher = researcher;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Returns the researcher used by this assessment.
|
|
44
|
-
*
|
|
45
|
-
* @returns {module:parsedPaper/research.TreeResearcher} The researcher used by this assessment.
|
|
46
|
-
*/
|
|
47
|
-
getResearcher() {
|
|
48
|
-
return this._researcher;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Checks whether this assessment is applicable to the given paper and tree combination.
|
|
53
|
-
*
|
|
54
|
-
* @param {ParsedPaper} parsedPaper The parsedPaper to check.
|
|
55
|
-
*
|
|
56
|
-
* @returns {Promise<boolean>} Whether this assessment is applicable to the given paper and tree combination (wrapped in a promise).
|
|
57
|
-
*
|
|
58
|
-
* @abstract
|
|
59
|
-
*/
|
|
60
|
-
async isApplicable( parsedPaper ) { // eslint-disable-line no-unused-vars
|
|
61
|
-
console.warn( "`isApplicable` should be implemented by a child class of `Assessment`." );
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Applies this assessment to the given combination of parsedPaper and tree.
|
|
66
|
-
*
|
|
67
|
-
* @param {ParsedPaper} parsedPaper The parsedPaper to check.
|
|
68
|
-
*
|
|
69
|
-
* @returns {Promise<AssessmentResult>} The result of this assessment (wrapped in a promise).
|
|
70
|
-
*
|
|
71
|
-
* @abstract
|
|
72
|
-
*/
|
|
73
|
-
async apply( parsedPaper ) { // eslint-disable-line no-unused-vars
|
|
74
|
-
console.warn( "`apply` should be implemented by a child class of `Assessment`." );
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
export default Assessment;
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/* Assessment list factories. */
|
|
2
|
-
import {
|
|
3
|
-
constructReadabilityAssessments,
|
|
4
|
-
constructRelatedKeyphraseAssessments,
|
|
5
|
-
constructRelatedKeyphraseTaxonomyAssessments,
|
|
6
|
-
constructSEOAssessments,
|
|
7
|
-
constructTaxonomyAssessments,
|
|
8
|
-
} from "./assessmentListFactories";
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
constructSEOAssessments as constructCornerstoneSEOAssessments,
|
|
12
|
-
constructRelatedKeyphraseAssessments as constructCornerstoneRelatedKeyphraseAssessments,
|
|
13
|
-
constructReadabilityAssessments as constructCornerstoneReadabilityAssessments,
|
|
14
|
-
} from "./cornerstone/assessmentListFactories";
|
|
15
|
-
|
|
16
|
-
/* Score aggregators */
|
|
17
|
-
import { ReadabilityScoreAggregator, SEOScoreAggregator } from "../../scoring/scoreAggregators";
|
|
18
|
-
|
|
19
|
-
/* Base TreeAssessor class */
|
|
20
|
-
import TreeAssessor from "./TreeAssessor";
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Maps combinations of assessor parameters (if the assessor is for related keyphrases, cornerstone content and/or taxonomy pages)
|
|
24
|
-
* to functions that generate a list of applicable assessments.
|
|
25
|
-
*
|
|
26
|
-
* @const
|
|
27
|
-
* @private
|
|
28
|
-
* @type {Object}
|
|
29
|
-
*/
|
|
30
|
-
const SEO_ASSESSMENTS_MAP = {
|
|
31
|
-
Default: constructSEOAssessments,
|
|
32
|
-
|
|
33
|
-
RelatedKeyphrase: constructRelatedKeyphraseAssessments,
|
|
34
|
-
Taxonomy: constructTaxonomyAssessments,
|
|
35
|
-
RelatedKeyphraseTaxonomy: constructRelatedKeyphraseTaxonomyAssessments,
|
|
36
|
-
|
|
37
|
-
Cornerstone: constructCornerstoneSEOAssessments,
|
|
38
|
-
CornerstoneRelatedKeyphrase: constructCornerstoneRelatedKeyphraseAssessments,
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Constructs a new SEO assessor.
|
|
43
|
-
*
|
|
44
|
-
* @param {module:parsedPaper/research.TreeResearcher} researcher The researcher the assessments need to use to get information about the text.
|
|
45
|
-
*
|
|
46
|
-
* @param {Object} config The assessor configuration.
|
|
47
|
-
* @param {boolean} [config.relatedKeyphrase] If this assessor is for a related keyphrase, instead of the main one.
|
|
48
|
-
* @param {boolean} [config.taxonomy] If this assessor is for a taxonomy page, instead of a regular page.
|
|
49
|
-
* @param {boolean} [config.cornerstone] If this assessor is for cornerstone content.
|
|
50
|
-
*
|
|
51
|
-
* @returns {module:parsedPaper/assess.TreeAssessor} The created SEO assessor.
|
|
52
|
-
*
|
|
53
|
-
* @throws {Error} An error when no assessor exists for the given combination of configuration options.
|
|
54
|
-
*
|
|
55
|
-
* @memberOf module:parsedPaper/assess
|
|
56
|
-
*/
|
|
57
|
-
const constructSEOAssessor = function( researcher, config ) {
|
|
58
|
-
/*
|
|
59
|
-
* Construct the key to retrieve the right assessment list factory.
|
|
60
|
-
* E.g. "RelatedKeyphraseTaxonomy" for related keyphrase + taxonomy;
|
|
61
|
-
*/
|
|
62
|
-
const cornerstone = config.cornerstone ? "Cornerstone" : "";
|
|
63
|
-
const relatedKeyphrase = config.relatedKeyphrase ? "RelatedKeyphrase" : "";
|
|
64
|
-
const taxonomy = config.taxonomy ? "Taxonomy" : "";
|
|
65
|
-
|
|
66
|
-
// (Empty key defaults to "Default" key)
|
|
67
|
-
const key = [ cornerstone, relatedKeyphrase, taxonomy ].join( "" ) || "Default";
|
|
68
|
-
|
|
69
|
-
// Retrieve the assessment list factory.
|
|
70
|
-
const assessmentFactory = SEO_ASSESSMENTS_MAP[ key ];
|
|
71
|
-
|
|
72
|
-
// This specific combination of cornerstone, taxonomy and related keyphrase does not exist.
|
|
73
|
-
if ( ! assessmentFactory ) {
|
|
74
|
-
throw new Error( "Cannot make an assessor based on the provided combination of configuration options" );
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// Construct assessor.
|
|
78
|
-
const assessments = assessmentFactory();
|
|
79
|
-
const scoreAggregator = new SEOScoreAggregator();
|
|
80
|
-
return new TreeAssessor( { researcher, assessments, scoreAggregator } );
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Constructs a new readability assessor.
|
|
85
|
-
*
|
|
86
|
-
* @param {module:parsedPaper/research.TreeResearcher} researcher The researcher the assessments need to use to
|
|
87
|
-
* get information about the text.
|
|
88
|
-
* @param {boolean} isCornerstoneContent If the to be analyzed content is considered cornerstone content
|
|
89
|
-
* (which uses stricter boundaries).
|
|
90
|
-
*
|
|
91
|
-
* @returns {module:parsedPaper/assess.TreeAssessor} The created readability assessor.
|
|
92
|
-
*
|
|
93
|
-
* @memberOf module:parsedPaper/assess
|
|
94
|
-
*/
|
|
95
|
-
const constructReadabilityAssessor = function( researcher, isCornerstoneContent = false ) {
|
|
96
|
-
const assessments = isCornerstoneContent ? constructReadabilityAssessments() : constructCornerstoneReadabilityAssessments();
|
|
97
|
-
const scoreAggregator = new ReadabilityScoreAggregator();
|
|
98
|
-
return new TreeAssessor( { researcher, assessments, scoreAggregator } );
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export {
|
|
102
|
-
constructSEOAssessor,
|
|
103
|
-
constructReadabilityAssessor,
|
|
104
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory functions for creating lists of assessments for cornerstone content.
|
|
3
|
-
*
|
|
4
|
-
* To be used in creating the different kinds of assessors.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new list of SEO assessments.
|
|
9
|
-
*
|
|
10
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of SEO assessments.
|
|
11
|
-
*
|
|
12
|
-
* @private
|
|
13
|
-
* @memberOf module:parsedPaper/assess
|
|
14
|
-
*/
|
|
15
|
-
const constructSEOAssessments = () => [
|
|
16
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Creates a new list of readability assessments.
|
|
21
|
-
*
|
|
22
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of readability assessments.
|
|
23
|
-
*
|
|
24
|
-
* @private
|
|
25
|
-
* @memberOf module:parsedPaper/assess
|
|
26
|
-
*/
|
|
27
|
-
const constructReadabilityAssessments = () => [
|
|
28
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Creates a new list of SEO assessments for related keyphrases.
|
|
33
|
-
*
|
|
34
|
-
* @returns {module:parsedPaper/assess.Assessment[]} The list of SEO assessments.
|
|
35
|
-
*
|
|
36
|
-
* @private
|
|
37
|
-
* @memberOf module:parsedPaper/assess
|
|
38
|
-
*/
|
|
39
|
-
const constructRelatedKeyphraseAssessments = () => [
|
|
40
|
-
// Needs to be populated by fancy new assessments that work on the tree representation of the text.
|
|
41
|
-
];
|
|
42
|
-
|
|
43
|
-
export {
|
|
44
|
-
constructSEOAssessments,
|
|
45
|
-
constructReadabilityAssessments,
|
|
46
|
-
constructRelatedKeyphraseAssessments,
|
|
47
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import TreeAssessor from "./TreeAssessor";
|
|
2
|
-
import * as ScoreAggregators from "../../scoring/scoreAggregators";
|
|
3
|
-
import * as Assessments from "./assessments";
|
|
4
|
-
import * as assessorFactories from "./assessorFactories";
|
|
5
|
-
import { cornerstoneAssessmentListFactories } from "./cornerstone";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Contains the logic to assess a tree representation of a text.
|
|
9
|
-
*
|
|
10
|
-
* @module tree/assess
|
|
11
|
-
*
|
|
12
|
-
* @see module:parsedPaper/structure
|
|
13
|
-
*/
|
|
14
|
-
export {
|
|
15
|
-
TreeAssessor,
|
|
16
|
-
ScoreAggregators,
|
|
17
|
-
Assessments,
|
|
18
|
-
assessorFactories,
|
|
19
|
-
cornerstoneAssessmentListFactories,
|
|
20
|
-
};
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import ParsedPaper from "../ParsedPaper";
|
|
2
|
-
import { forEach } from "lodash";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* A class responsible for pre-processing the Paper, returning a ParsedPaper.
|
|
6
|
-
*
|
|
7
|
-
* @module parsedPaper
|
|
8
|
-
*
|
|
9
|
-
* @see module:parsedPaper/builder
|
|
10
|
-
* @see module:parsedPaper/structure
|
|
11
|
-
*/
|
|
12
|
-
class PaperParser {
|
|
13
|
-
/**
|
|
14
|
-
* Constructs a PaperParser class.
|
|
15
|
-
*
|
|
16
|
-
* @param {Function} treeBuilder A function that receives text and returns a tree.
|
|
17
|
-
*
|
|
18
|
-
* @constructor
|
|
19
|
-
*/
|
|
20
|
-
constructor( treeBuilder ) {
|
|
21
|
-
this._parsedPaper = new ParsedPaper();
|
|
22
|
-
this._treeBuilder = treeBuilder;
|
|
23
|
-
|
|
24
|
-
this._metaDataModifiers = {};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Processes a Paper resulting in a ParsedPaper.
|
|
29
|
-
*
|
|
30
|
-
* @param {Paper} paper The Paper to parse.
|
|
31
|
-
*
|
|
32
|
-
* @returns {ParsedPaper} A parsedPaper instance.
|
|
33
|
-
*/
|
|
34
|
-
parse( paper ) {
|
|
35
|
-
// Build tree and set it to the ParsedPaper.
|
|
36
|
-
this._parsedPaper.setTree(
|
|
37
|
-
this._treeBuilder( paper.getText() )
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
// Build metaData and set it to the ParsedPaper.
|
|
41
|
-
this._parsedPaper.setMetaData(
|
|
42
|
-
this.constructMetaData( paper )
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
return this._parsedPaper;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Constructs the metaData from the Paper.
|
|
50
|
-
*
|
|
51
|
-
* @param {Paper} paper The paper to construct the metaData from.
|
|
52
|
-
*
|
|
53
|
-
* @returns {Object} The metaData.
|
|
54
|
-
*/
|
|
55
|
-
constructMetaData( paper ) {
|
|
56
|
-
let metaData = {};
|
|
57
|
-
|
|
58
|
-
// Map things to metaData.
|
|
59
|
-
|
|
60
|
-
// Run additional modifiers;
|
|
61
|
-
metaData = Object.assign( {}, this.runMetaDataModifiers( metaData, paper ) );
|
|
62
|
-
|
|
63
|
-
return metaData;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Sets a metaData modifying function behind a function name on the internal metaDataModifiers object.
|
|
68
|
-
*
|
|
69
|
-
* @param {string} modifierName The name of the to be registered function.
|
|
70
|
-
* @param {Function} modifierFunction The function that modifies the metaData. Should accept a metaData object
|
|
71
|
-
* and optionally the paper.
|
|
72
|
-
* @returns {void}
|
|
73
|
-
*/
|
|
74
|
-
registerMetaDataModifier( modifierName, modifierFunction ) {
|
|
75
|
-
/*
|
|
76
|
-
* The metaDataModifier should accept the metaData and return the altered metaData.
|
|
77
|
-
*/
|
|
78
|
-
this._metaDataModifiers[ modifierName ] = modifierFunction;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Runs all registered metaDataModifiers.
|
|
83
|
-
* If one of the functions errors, it is skipped and its metaData changes are discarded.
|
|
84
|
-
*
|
|
85
|
-
* @param {Object} metaData The initial state of the metaData, that should be modified.
|
|
86
|
-
* @param {Paper} paper The paper.
|
|
87
|
-
*
|
|
88
|
-
* @returns {Object} A modified metaData object.
|
|
89
|
-
*/
|
|
90
|
-
runMetaDataModifiers( metaData, paper ) {
|
|
91
|
-
let modifiedMetaData = metaData;
|
|
92
|
-
forEach( this._metaDataModifiers, ( modifierFunction, modifierName ) => {
|
|
93
|
-
try {
|
|
94
|
-
const previousMetaData = Object.assign( {}, modifiedMetaData );
|
|
95
|
-
modifiedMetaData = modifierFunction( previousMetaData, paper );
|
|
96
|
-
} catch ( modifierError ) {
|
|
97
|
-
console.warn( `An error with message "${ modifierError.message}" occurred in metaData modifier ` +
|
|
98
|
-
`function called ${ modifierName }. Skipping that function...` );
|
|
99
|
-
}
|
|
100
|
-
} );
|
|
101
|
-
return modifiedMetaData;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export default PaperParser;
|