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,74 +0,0 @@
|
|
|
1
|
-
import { Heading, Paragraph } from "../../structure";
|
|
2
|
-
import getTextElementPositions from "./getTextElementPositions";
|
|
3
|
-
import { hashedHtmlEntities } from "../../../helpers/htmlEntities";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Splits the sentence into tokens, determines their positions in the source code, and puts them on the sentence.
|
|
7
|
-
*
|
|
8
|
-
* @param {Paragraph|Heading} node The paragraph or heading node to split into sentences.
|
|
9
|
-
* @param {Sentence} sentence The sentence.
|
|
10
|
-
* @param {LanguageProcessor} languageProcessor The language processor for the current language.
|
|
11
|
-
*
|
|
12
|
-
* @returns {Sentence} The sentence, with tokens.
|
|
13
|
-
*/
|
|
14
|
-
function getTokens( node, sentence, languageProcessor ) {
|
|
15
|
-
sentence.tokens = languageProcessor.splitIntoTokens( sentence );
|
|
16
|
-
sentence.tokens = getTextElementPositions( node, sentence.tokens, sentence.sourceCodeRange.startOffset );
|
|
17
|
-
return sentence;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Splits the node's inner text into sentences, and the sentences into tokens,
|
|
22
|
-
* using the language processor.
|
|
23
|
-
*
|
|
24
|
-
* @param {Paragraph|Heading} node The paragraph or heading node to split into sentences.
|
|
25
|
-
* @param {LanguageProcessor} languageProcessor The language processor to use.
|
|
26
|
-
*
|
|
27
|
-
* @returns {Sentence[]} The node's sentences.
|
|
28
|
-
*/
|
|
29
|
-
function getSentences( node, languageProcessor ) {
|
|
30
|
-
// Split text into sentences.
|
|
31
|
-
let sentences = languageProcessor.splitIntoSentences( node.innerText() );
|
|
32
|
-
// Add position information to the sentences.
|
|
33
|
-
sentences = getTextElementPositions( node, sentences );
|
|
34
|
-
// Tokenize sentences into tokens.
|
|
35
|
-
return sentences.map( sentence => {
|
|
36
|
-
sentence = getTokens( node, sentence, languageProcessor );
|
|
37
|
-
// Now positions have been determined, change HTML entities that had earlier been converted to hashed versions back to their short version.
|
|
38
|
-
// For example, "&" was earlier converted into "#amp;" and is now converted into "&".
|
|
39
|
-
// We make this change in both the Sentence and the accompanying Tokens.
|
|
40
|
-
hashedHtmlEntities.forEach( ( character, hashedHtmlEntity ) => {
|
|
41
|
-
// We use a global regex instead of replaceAll to support older browsers.
|
|
42
|
-
const hashedHtmlEntityRegex = new RegExp( hashedHtmlEntity, "g" );
|
|
43
|
-
sentence.text = sentence.text.replace( hashedHtmlEntityRegex, character );
|
|
44
|
-
sentence.tokens.map( token => {
|
|
45
|
-
token.text = token.text.replace( hashedHtmlEntityRegex, character );
|
|
46
|
-
return token;
|
|
47
|
-
} );
|
|
48
|
-
} );
|
|
49
|
-
return sentence;
|
|
50
|
-
} );
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Splits any Paragraph and Heading nodes in the tree into sentences and tokens.
|
|
55
|
-
* Excludes overarching Paragraphs, as those will have (implicit) paragraphs as their children.
|
|
56
|
-
*
|
|
57
|
-
* @param {Node} tree The tree to process.
|
|
58
|
-
* @param {LanguageProcessor} languageProcessor The language processor to use.
|
|
59
|
-
*
|
|
60
|
-
* @returns {Node} The processed tree.
|
|
61
|
-
*/
|
|
62
|
-
function tokenize( tree, languageProcessor ) {
|
|
63
|
-
if ( ( tree instanceof Paragraph && tree.name !== "p-overarching" ) || tree instanceof Heading ) {
|
|
64
|
-
tree.sentences = getSentences( tree, languageProcessor );
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if ( tree.childNodes ) {
|
|
68
|
-
tree.childNodes = tree.childNodes.map( child => tokenize( child, languageProcessor ) );
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return tree;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export default tokenize;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import Sentence from "../structure/Sentence";
|
|
2
|
-
import Token from "../structure/Token";
|
|
3
|
-
import splitIntoTokens from "../../languageProcessing/helpers/word/splitIntoTokens";
|
|
4
|
-
|
|
5
|
-
const whitespaceRegex = /^\s+$/;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Contains language-specific logic for splitting a text into sentences and tokens.
|
|
10
|
-
*/
|
|
11
|
-
class LanguageProcessor {
|
|
12
|
-
/**
|
|
13
|
-
* Creates a new language processor.
|
|
14
|
-
*
|
|
15
|
-
* @param {Researcher} researcher The researcher to use.
|
|
16
|
-
*/
|
|
17
|
-
constructor( researcher ) {
|
|
18
|
-
this.researcher = researcher;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Split text into sentences.
|
|
23
|
-
*
|
|
24
|
-
* @param {string} text The text to split into sentences.
|
|
25
|
-
*
|
|
26
|
-
* @returns {Sentence[]} The sentences.
|
|
27
|
-
*/
|
|
28
|
-
splitIntoSentences( text ) {
|
|
29
|
-
const memoizedTokenizer = this.researcher.getHelper( "memoizedTokenizer" );
|
|
30
|
-
/*
|
|
31
|
-
* Set the `trimSentences` flag to false. We want to keep whitespaces to be able to correctly assess the
|
|
32
|
-
* position of sentences within the source code.
|
|
33
|
-
*/
|
|
34
|
-
const sentences = memoizedTokenizer( text, false );
|
|
35
|
-
|
|
36
|
-
/*
|
|
37
|
-
* If the last element in the array of sentences contains only whitespaces, remove it.
|
|
38
|
-
* This will be the case if the text ends in a whitespace - that whitespace ends up being tokenized as a
|
|
39
|
-
* separate sentence. A space at the end of the text is not needed for calculating the position of
|
|
40
|
-
* sentences, so it can be safely removed.
|
|
41
|
-
*/
|
|
42
|
-
if ( whitespaceRegex.test( sentences[ sentences.length - 1 ] ) ) {
|
|
43
|
-
sentences.pop();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return sentences.map( function( sentence ) {
|
|
47
|
-
return new Sentence( sentence );
|
|
48
|
-
} );
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Split sentence into tokens.
|
|
53
|
-
*
|
|
54
|
-
* @param {Sentence} sentence The sentence to split.
|
|
55
|
-
*
|
|
56
|
-
* @returns {Token[]} The tokens.
|
|
57
|
-
*/
|
|
58
|
-
splitIntoTokens( sentence ) {
|
|
59
|
-
// Retrieve sentence from sentence class
|
|
60
|
-
const sentenceText = sentence.text;
|
|
61
|
-
|
|
62
|
-
// If there is a custom splitIntoTokens helper use its output for retrieving tokens.
|
|
63
|
-
const tokenTextsCustom = this.researcher.getHelper( "splitIntoTokensCustom" );
|
|
64
|
-
if ( tokenTextsCustom ) {
|
|
65
|
-
const tokensCustom = tokenTextsCustom( sentenceText );
|
|
66
|
-
return tokensCustom.map( tokenText => new Token( tokenText ) );
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
const tokenTexts = splitIntoTokens( sentenceText );
|
|
70
|
-
|
|
71
|
-
return tokenTexts.map( tokenText => new Token( tokenText ) );
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
export default LanguageProcessor;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import Node from "./Node";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A heading in the tree.
|
|
5
|
-
*/
|
|
6
|
-
class Heading extends Node {
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new heading.
|
|
9
|
-
*
|
|
10
|
-
* @param {1|2|3|4|5|6} level The heading level (e.g. `1` for `h1` up to `6` for `h6`).
|
|
11
|
-
* @param {Object} attributes This heading's attributes.
|
|
12
|
-
* @param {(Node|Text)[]} childNodes This heading's child nodes.
|
|
13
|
-
* @param {Object} sourceCodeLocationInfo This heading's location in the source code, from parse5.
|
|
14
|
-
*/
|
|
15
|
-
constructor( level, attributes = {}, childNodes = [], sourceCodeLocationInfo = {} ) {
|
|
16
|
-
super( `h${level}`, attributes, childNodes, sourceCodeLocationInfo );
|
|
17
|
-
/**
|
|
18
|
-
* This heading's level (e.g. `1` for `h1`, `2` for `h2` etc.).
|
|
19
|
-
*
|
|
20
|
-
* @type {1|2|3|4|5|6}
|
|
21
|
-
*/
|
|
22
|
-
this.level = level;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default Heading;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { findAllInTree, innerText } from "../traverse";
|
|
2
|
-
import SourceCodeLocation from "./SourceCodeLocation";
|
|
3
|
-
import { isEmpty } from "lodash";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A node in the tree.
|
|
7
|
-
*/
|
|
8
|
-
class Node {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new node.
|
|
11
|
-
*
|
|
12
|
-
* @param {string} name The node's name or tag.
|
|
13
|
-
* @param {Object} attributes This node's attributes.
|
|
14
|
-
* @param {(Node|Text)[]} childNodes This node's child nodes.
|
|
15
|
-
* @param {Object} sourceCodeLocationInfo This node's location in the source code, from parse5.
|
|
16
|
-
*/
|
|
17
|
-
constructor( name, attributes = {}, childNodes = [], sourceCodeLocationInfo = {} ) {
|
|
18
|
-
/**
|
|
19
|
-
* This node's name or tag.
|
|
20
|
-
* @type {string}
|
|
21
|
-
*/
|
|
22
|
-
this.name = name;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* This node's attributes.
|
|
26
|
-
* @type {Object}
|
|
27
|
-
*/
|
|
28
|
-
this.attributes = attributes;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* This node's child nodes.
|
|
32
|
-
* @type {(Node|Text)[]}
|
|
33
|
-
*/
|
|
34
|
-
this.childNodes = childNodes;
|
|
35
|
-
|
|
36
|
-
// Don't add the source code location when unavailable.
|
|
37
|
-
if ( ! isEmpty( sourceCodeLocationInfo ) ) {
|
|
38
|
-
/**
|
|
39
|
-
* The location of this node inside the HTML.
|
|
40
|
-
* @type {SourceCodeLocation}
|
|
41
|
-
*/
|
|
42
|
-
this.sourceCodeLocation = new SourceCodeLocation( sourceCodeLocationInfo );
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Finds all nodes in the tree that satisfies the given condition.
|
|
48
|
-
*
|
|
49
|
-
* @param {function} condition The condition that a node should satisfy to end up in the list.
|
|
50
|
-
* @param {boolean} recurseFoundNodes=false Whether to recurse into found nodes to see if the condition
|
|
51
|
-
* also applies to sub-nodes of the found node.
|
|
52
|
-
*
|
|
53
|
-
* @returns {(Node|Text|Paragraph|Heading)[]} The list of nodes that satisfy the condition.
|
|
54
|
-
*/
|
|
55
|
-
findAll( condition, recurseFoundNodes = false ) {
|
|
56
|
-
return findAllInTree( this, condition, recurseFoundNodes );
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Returns the inner text (text without any markup) from this node.
|
|
61
|
-
*
|
|
62
|
-
* @returns {string} The inner text from this node.
|
|
63
|
-
*/
|
|
64
|
-
innerText() {
|
|
65
|
-
return innerText( this );
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export default Node;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import Node from "./Node";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A paragraph in the tree.
|
|
5
|
-
*
|
|
6
|
-
* @see https://html.spec.whatwg.org/dev/dom.html#paragraphs
|
|
7
|
-
*/
|
|
8
|
-
class Paragraph extends Node {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new paragraph.
|
|
11
|
-
*
|
|
12
|
-
* @param {Object} attributes The paragraph's attributes.
|
|
13
|
-
* @param {(Node|Text)[]} childNodes This paragraph's child nodes.
|
|
14
|
-
* @param {Object} sourceCodeLocationInfo This paragraph's location in the source code, from parse5.
|
|
15
|
-
* @param {boolean} isImplicit Whether this paragraph is an implicit paragraph, or an explicit paragraph.
|
|
16
|
-
* @param {boolean} isOverarching Whether this paragraph is overarching text that is separated by double line breaks.
|
|
17
|
-
*/
|
|
18
|
-
constructor( attributes = {}, childNodes = [], sourceCodeLocationInfo = {},
|
|
19
|
-
isImplicit = false, isOverarching = false ) {
|
|
20
|
-
// We rename any overarching `<p>` element to not match it as a stand-alone paragraph downstream.
|
|
21
|
-
const name = isOverarching ? "p-overarching" : "p";
|
|
22
|
-
super( name, attributes, childNodes, sourceCodeLocationInfo );
|
|
23
|
-
/**
|
|
24
|
-
* Whether this paragraph is explicit (defined by an explicit `<p>` tag within the markup),
|
|
25
|
-
* or implicit (defined by a run of phrasing content).
|
|
26
|
-
*
|
|
27
|
-
* @see https://html.spec.whatwg.org/dev/dom.html#paragraphs
|
|
28
|
-
*
|
|
29
|
-
* @type {boolean}
|
|
30
|
-
*/
|
|
31
|
-
this.isImplicit = isImplicit;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Creates and returns a new implicit paragraph.
|
|
36
|
-
*
|
|
37
|
-
* @param {Object} attributes The paragraph's attributes.
|
|
38
|
-
* @param {(Node|Text)[]} childNodes This paragraph's child nodes.
|
|
39
|
-
* @param {Object} sourceCodeLocationInfo This paragraph's location in the source code, from parse5.
|
|
40
|
-
*
|
|
41
|
-
* @returns {Paragraph} A new implicit paragraph.
|
|
42
|
-
*/
|
|
43
|
-
static createImplicit( attributes = {}, childNodes = [], sourceCodeLocationInfo = {} ) {
|
|
44
|
-
return new Paragraph( attributes, childNodes, sourceCodeLocationInfo, true );
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export default Paragraph;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A sentence within a text.
|
|
3
|
-
*/
|
|
4
|
-
class Sentence {
|
|
5
|
-
/**
|
|
6
|
-
* Creates a sentence.
|
|
7
|
-
*
|
|
8
|
-
* @param {string} text The sentence's text.
|
|
9
|
-
*/
|
|
10
|
-
constructor( text ) {
|
|
11
|
-
/**
|
|
12
|
-
* The text in this sentence.
|
|
13
|
-
*
|
|
14
|
-
* @type {string}
|
|
15
|
-
*/
|
|
16
|
-
this.text = text;
|
|
17
|
-
/**
|
|
18
|
-
* The tokens in this sentence.
|
|
19
|
-
* @type {Token[]}
|
|
20
|
-
*/
|
|
21
|
-
this.tokens = [];
|
|
22
|
-
/**
|
|
23
|
-
* The start and end positions of the sentence in the source code.
|
|
24
|
-
* @type {SourceCodeRange}
|
|
25
|
-
*/
|
|
26
|
-
this.sourceCodeRange = {};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export default Sentence;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represents a range in the source code.
|
|
3
|
-
*
|
|
4
|
-
* @typedef {Object} SourceCodeRange
|
|
5
|
-
* @property {number} startOffset The start position of the range.
|
|
6
|
-
* @property {number} endOffset The end position of the range.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Represents a location of a node in the HTML tree.
|
|
11
|
-
*
|
|
12
|
-
* @extends SourceCodeRange
|
|
13
|
-
* @property {SourceCodeRange?} startTag The location of the start tag of the element, if it has one.
|
|
14
|
-
* @property {SourceCodeRange?} endTag The location of the end tag of the element, if it has one.
|
|
15
|
-
*/
|
|
16
|
-
class SourceCodeLocation {
|
|
17
|
-
/**
|
|
18
|
-
* Creates a new SourceCodeLocation.
|
|
19
|
-
*
|
|
20
|
-
* @param {Object} sourceCodeLocationInfo This node's location in the source code, from parse5.
|
|
21
|
-
*/
|
|
22
|
-
constructor( sourceCodeLocationInfo ) {
|
|
23
|
-
if ( sourceCodeLocationInfo.startTag ) {
|
|
24
|
-
this.startTag = {
|
|
25
|
-
startOffset: sourceCodeLocationInfo.startTag.startOffset,
|
|
26
|
-
endOffset: sourceCodeLocationInfo.startTag.endOffset,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
if ( sourceCodeLocationInfo.endTag ) {
|
|
30
|
-
this.endTag = {
|
|
31
|
-
startOffset: sourceCodeLocationInfo.endTag.startOffset,
|
|
32
|
-
endOffset: sourceCodeLocationInfo.endTag.endOffset,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
this.startOffset = sourceCodeLocationInfo.startOffset;
|
|
37
|
-
this.endOffset = sourceCodeLocationInfo.endOffset;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export default SourceCodeLocation;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import SourceCodeLocation from "./SourceCodeLocation";
|
|
2
|
-
/**
|
|
3
|
-
* A text.
|
|
4
|
-
*/
|
|
5
|
-
class Text {
|
|
6
|
-
/**
|
|
7
|
-
* Creates a new Text object, that consist of some text and a source code range.
|
|
8
|
-
*
|
|
9
|
-
* @param {object} textNode The current #text node in the parse5 tree.
|
|
10
|
-
*/
|
|
11
|
-
constructor( textNode ) {
|
|
12
|
-
this.name = "#text";
|
|
13
|
-
/**
|
|
14
|
-
* This text's content.
|
|
15
|
-
*
|
|
16
|
-
* @type {string}
|
|
17
|
-
*/
|
|
18
|
-
this.value = textNode.value;
|
|
19
|
-
|
|
20
|
-
this.sourceCodeRange = new SourceCodeLocation( {
|
|
21
|
-
startOffset: textNode.sourceCodeLocation.startOffset,
|
|
22
|
-
endOffset: textNode.sourceCodeLocation.endOffset,
|
|
23
|
-
} );
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export default Text;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { normalizeSingle } from "../../languageProcessing";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A token representing a word, whitespace or punctuation in the sentence.
|
|
5
|
-
*/
|
|
6
|
-
class Token {
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new token.
|
|
9
|
-
*
|
|
10
|
-
* @param {string} text The token's text.
|
|
11
|
-
* @param {SourceCodeRange} sourceCodeRange The start and end positions of the token in the source code.
|
|
12
|
-
*/
|
|
13
|
-
constructor( text, sourceCodeRange = {} ) {
|
|
14
|
-
// Normalize single quotes so that tokens can be matched with strings regardless of single quote type.
|
|
15
|
-
this.text = normalizeSingle( text );
|
|
16
|
-
/**
|
|
17
|
-
* The start and end positions of the token in the source code.
|
|
18
|
-
* @type {SourceCodeRange}
|
|
19
|
-
*/
|
|
20
|
-
this.sourceCodeRange = sourceCodeRange;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export default Token;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import Node from "./Node";
|
|
2
|
-
import Heading from "./Heading";
|
|
3
|
-
import Paragraph from "./Paragraph";
|
|
4
|
-
import Text from "./Text";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @module parse/structure
|
|
8
|
-
*
|
|
9
|
-
* Contains elements out of which a tree structure can be built.
|
|
10
|
-
*/
|
|
11
|
-
export {
|
|
12
|
-
Node,
|
|
13
|
-
Heading,
|
|
14
|
-
Paragraph,
|
|
15
|
-
Text,
|
|
16
|
-
};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Finds all nodes in the tree that satisfies the given condition.
|
|
3
|
-
*
|
|
4
|
-
* @param {Object} tree The tree.
|
|
5
|
-
* @param {function} condition The condition that a node should satisfy to end up in the list.
|
|
6
|
-
* @param {boolean} recurseFoundNodes=false Whether to recurse into found nodes to see if the condition also applies to
|
|
7
|
-
* sub-nodes of the found node.
|
|
8
|
-
* If false, as soon as a node is found that satisfies the condition, it is added to the list and no further recursion is done through its children.
|
|
9
|
-
* If true, the node is added to the list and its children are also checked for the condition.
|
|
10
|
-
* If they satisfy the condition, they are also added to the list.
|
|
11
|
-
* This comes with the risk of adding the same node multiple times to the list.
|
|
12
|
-
*
|
|
13
|
-
* Example:
|
|
14
|
-
* HTML: <div><div><div>foo</div></div></div>
|
|
15
|
-
* Condition: node => node.nodeName === 'div'
|
|
16
|
-
* If recurseFoundNodes is false, this will return: [ <div><div><div>foo</div></div></div> ]
|
|
17
|
-
*
|
|
18
|
-
* If recurseFoundNodes is true, this will return: [ <div><div><div>foo</div></div></div>, <div><div>foo</div></div>, <div>foo</div> ]
|
|
19
|
-
*
|
|
20
|
-
* In assessments where you want to count the number of occurrences of a certain type of node, you should set recurseFoundNodes to false.
|
|
21
|
-
* For example in the list assessment with a nested list: you only want to count the outer list.
|
|
22
|
-
*
|
|
23
|
-
* <ul>
|
|
24
|
-
* <li>Coffee</li>
|
|
25
|
-
* <li>Tea
|
|
26
|
-
* <ul>
|
|
27
|
-
* <li>Black tea</li>
|
|
28
|
-
* <li>Green tea</li>
|
|
29
|
-
* </ul>
|
|
30
|
-
* </li>
|
|
31
|
-
* <li>Milk</li>
|
|
32
|
-
* </ul>
|
|
33
|
-
*
|
|
34
|
-
* In getTextElementPositions, you want to find all descendant nodes that have position information.
|
|
35
|
-
* In this case you want to recurse into found nodes.
|
|
36
|
-
*
|
|
37
|
-
* @returns {Object[]} The list of nodes that satisfy the condition.
|
|
38
|
-
*/
|
|
39
|
-
export default function findAllInTree( tree, condition, recurseFoundNodes = false ) {
|
|
40
|
-
const nodes = [];
|
|
41
|
-
|
|
42
|
-
if ( ! tree.childNodes ) {
|
|
43
|
-
return nodes;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
tree.childNodes.forEach( child => {
|
|
47
|
-
if ( condition( child ) ) {
|
|
48
|
-
nodes.push( child );
|
|
49
|
-
if ( recurseFoundNodes ) {
|
|
50
|
-
nodes.push( ...findAllInTree( child, condition, recurseFoundNodes ) );
|
|
51
|
-
}
|
|
52
|
-
} else {
|
|
53
|
-
nodes.push( ...findAllInTree( child, condition, recurseFoundNodes ) );
|
|
54
|
-
}
|
|
55
|
-
} );
|
|
56
|
-
|
|
57
|
-
return nodes;
|
|
58
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import findAllInTree from "./findAllInTree";
|
|
2
|
-
import innerText from "./innerText";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @module parse/traverse
|
|
6
|
-
*
|
|
7
|
-
* Module containing functions to traverse and gather information from the tree.
|
|
8
|
-
*/
|
|
9
|
-
export {
|
|
10
|
-
findAllInTree,
|
|
11
|
-
innerText,
|
|
12
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { isEmpty } from "lodash";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Gathers the text content of the given node.
|
|
5
|
-
*
|
|
6
|
-
* @param {Object} node The node to gather the text content from.
|
|
7
|
-
*
|
|
8
|
-
* @returns {string} The text content.
|
|
9
|
-
*/
|
|
10
|
-
export default function innerText( node ) {
|
|
11
|
-
let text = "";
|
|
12
|
-
|
|
13
|
-
if ( ! isEmpty( node.childNodes ) ) {
|
|
14
|
-
node.childNodes.forEach( child => {
|
|
15
|
-
if ( child.name === "#text" ) {
|
|
16
|
-
text += child.value;
|
|
17
|
-
} else if ( child.name === "br" ) {
|
|
18
|
-
text += "\n";
|
|
19
|
-
} else {
|
|
20
|
-
text += innerText( child );
|
|
21
|
-
}
|
|
22
|
-
} );
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return text;
|
|
26
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A parsed version of the paper, containing a tree representation of the text,
|
|
3
|
-
* and parsed metaData pertaining to the tree's context.
|
|
4
|
-
*
|
|
5
|
-
* @class ParsedPaper
|
|
6
|
-
*
|
|
7
|
-
* @memberOf module:parsedPaper
|
|
8
|
-
* */
|
|
9
|
-
export default class ParsedPaper {
|
|
10
|
-
/**
|
|
11
|
-
* Creates a new ParsedPaper.
|
|
12
|
-
*/
|
|
13
|
-
constructor() {
|
|
14
|
-
/**
|
|
15
|
-
* Stores the metadata (e.g. the keywords, metadescription, title of the document).
|
|
16
|
-
*
|
|
17
|
-
* @type{Object}
|
|
18
|
-
* @private
|
|
19
|
-
*/
|
|
20
|
-
this._metaData = {};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Stores the tree representation of a Paper's text.
|
|
24
|
-
*
|
|
25
|
-
* @type{module:parsedPaper/structure.Node|Object}
|
|
26
|
-
* @private
|
|
27
|
-
*/
|
|
28
|
-
this._tree = {};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Sets a tree structure on the ParsedPaper.
|
|
33
|
-
*
|
|
34
|
-
* @param {module:parsedPaper/structure.Node} tree A tree representation of the paper's text.
|
|
35
|
-
*
|
|
36
|
-
* @returns {void}
|
|
37
|
-
*/
|
|
38
|
-
setTree( tree ) {
|
|
39
|
-
this._tree = tree;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Returns the tree from the ParsedPaper.
|
|
44
|
-
*
|
|
45
|
-
* @returns {module:parsedPaper/structure.Node|Object} The tree.
|
|
46
|
-
*/
|
|
47
|
-
getTree() {
|
|
48
|
-
return this._tree;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Sets a metadata value on the ParsedPaper under the passed key.
|
|
53
|
-
*
|
|
54
|
-
* @param {string} key The key for the metaData key-value pair.
|
|
55
|
-
* @param {*} value The value for the metaData key-value pair.
|
|
56
|
-
*
|
|
57
|
-
* @returns {void}
|
|
58
|
-
*/
|
|
59
|
-
setMetaProperty( key, value ) {
|
|
60
|
-
this._metaData[ key ] = value;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Returns the metadata value for a specific key from the ParsedPaper.
|
|
65
|
-
*
|
|
66
|
-
* @param {string} key The key to return the value for.
|
|
67
|
-
* @returns {*} The value belonging to this key.
|
|
68
|
-
*/
|
|
69
|
-
getMetaProperty( key ) {
|
|
70
|
-
return this._metaData[ key ];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Sets the metaData on the ParsedPaper.
|
|
75
|
-
*
|
|
76
|
-
* @param {Object} metaData The metaData pertaining to tree.
|
|
77
|
-
*
|
|
78
|
-
* @returns {void}
|
|
79
|
-
*/
|
|
80
|
-
setMetaData( metaData ) {
|
|
81
|
-
this._metaData = metaData;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Returns the current metaData of the ParsedPaper.
|
|
86
|
-
*
|
|
87
|
-
* @returns {Object} The metaData.
|
|
88
|
-
*/
|
|
89
|
-
getMetaData() {
|
|
90
|
-
return this._metaData;
|
|
91
|
-
}
|
|
92
|
-
}
|