Content deleted Content added
new script |
update |
||
Line 11:
divideIntoSentences(paragraph);
}
}
}
let sentenceElements = document.getElementsByClassName('sentence');
for(let sentenceElement of sentenceElements){
let sentenceText = getSentenceText(sentenceElement);
if(sentenceText.trim().length < 10){
sentenceElement.classList.remove('sentence');
}
}
Line 21 ⟶ 29:
// prepare text with placeholders
//let abbreviations = 'Mr.; Mrs.; Dr.; Jr.; Sr.; Prof.; St.; Ave.; Corp.; Inc.; Ltd.; Co.; Gov.; Capt.; Sgt.; i.e.; e.g.; etc.; a.m.; p.m.; i.a.; N.B.; et al.; vs.; e.t.a.; A.; B.; C.; D.; E.; F.; G.; H.; I.; J.; K.; L.; M.; N.; O.; P.; Q.; R.; S.; T.; U.; V.; W.; X.; Y.; Z; .a; .b; .c; .d; .e; .f; .g; .h; .i; .j; .k; .l; .m; .n; .o; .p; .q; .r; .s; .t; .u; .v; .w; .x; .y; .z; 0.; 1.; 2.; 3.; 4.; 5.; 6.; 7.; 8.; 9.; .0; .1; .2; .3; .4; .5; .6; .7; .8; .9'.split('; ');
//let abbreviations = 'Mr.; Mrs.; Dr.; Jr.; Sr.; Prof.; St.; Ave.; Corp.; Inc.; Ltd.; Co.; Gov.; Capt.; Sgt.; i.e.; e.g.; etc.; a.m.; p.m.; i.a.; N.B.; et al.; vs.; e.t.a.; A.; B.; C.; D.; E.; F.; G.; H.; I.; J.; K.; L.; M.; N.; O.; P.; Q.; R.; S.; T.; U.; V.; W.; X.; Y.; Z; .a; .b; .c; .d; .e; .f; .g; .h; .i; .j; .k; .l; .m; .n; .o; .p; .q; .r; .s; .t; .u; .v; .w; .x; .y; .z; 0.; 1.; 2.; 3.; 4.; 5.; 6.; 7.; 8.; 9.; .0; .1; .2; .3; .4; .5; .6; .7; .8; .9'.split('; ');
let abbreviations = 'Mr.; Mrs.; Dr.; Jr.; Sr.; Prof.; St.; Ave.; Corp.; Inc.; Ltd.; Co.; Gov.; Capt.; Sgt.; i.e.; e.g.; etc.; a.m.; p.m.; i.a.; N.B.; et al.; vs.; e.t.a.; A.; B.; C.; D.; E.; F.; G.; H.; I.; J.; K.; L.; M.; N.; O.; P.; Q.; R.; S.; T.; U.; V.; W.; X.; Y.; Z; .a; .b; .c; .d; .e; .f; .g; .h; .i; .j; .k; .l; .m; .n; .o; .p; .q; .r; .s; .t; .u; .v; .w; .x; .y; .z; .0; .1; .2; .3; .4; .5; .6; .7; .8; .9; 0.0; 0.1; 0.2; 0.3; 0.4; 0.5; 0.6; 0.7; 0.8; 0.9; 1.0; 1.1; 1.2; 1.3; 1.4; 1.5; 1.6; 1.7; 1.8; 1.9; 2.0; 2.1; 2.2; 2.3; 2.4; 2.5; 2.6; 2.7; 2.8; 2.9; 3.0; 3.1; 3.2; 3.3; 3.4; 3.5; 3.6; 3.7; 3.8; 3.9; 4.0; 4.1; 4.2; 4.3; 4.4; 4.5; 4.6; 4.7; 4.8; 4.9; 5.0; 5.1; 5.2; 5.3; 5.4; 5.5; 5.6; 5.7; 5.8; 5.9; 6.0; 6.1; 6.2; 6.3; 6.4; 6.5; 6.6; 6.7; 6.8; 6.9; 7.0; 7.1; 7.2; 7.3; 7.4; 7.5; 7.6; 7.7; 7.8; 7.9; 8.0; 8.1; 8.2; 8.3; 8.4; 8.5; 8.6; 8.7; 8.8; 8.9; 9.0; 9.1; 9.2; 9.3; 9.4; 9.5; 9.6; 9.7; 9.8; 9.9.'.split('; ');
paragraph.innerHTML = insertPlaceholders(paragraph.innerHTML, abbreviations);
Line 128 ⟶ 138:
function getSentenceText(sentenceElement){
// hide references
//let refs = sentenceElement.getElementsByClassName('reference');
let refs = sentenceElement.querySelectorAll('.reference, .Inline-Template');
for(let ref of refs){
ref.style.display = 'none';
Line 158 ⟶ 169:
let totalReadability = getFleschKincaidReadability(totalSyllableCount, totalWordCount, totalSentenceCount);
let totalGradeLevel = getFleschKincaidGradeLevel(totalSyllableCount, totalWordCount, totalSentenceCount);
const overviewDif = document.createElement('div');
Line 175 ⟶ 187:
overviewTable.appendChild(overviewTableBody);
addRow(overviewTableBody, 'Readability', totalReadability.toFixed(2));
addRow(overviewTableBody, 'Grade level', totalGradeLevel.toFixed(2));
addRow(overviewTableBody, 'Number of sentences', totalSentenceCount);
addRow(overviewTableBody, 'Number of words', totalWordCount);
Line 254 ⟶ 267:
let wordCount = words.length;
let score = getFleschKincaidReadability(syllableCount, wordCount, 1);
/*console.log('sentenceText: ' + sentenceText);
console.log('wordCount: ' + wordCount);
console.log('syllableCount: ' + syllableCount);
console.log('score: ' + score);*/
return score;
Line 265 ⟶ 278:
let wordsPerSentence = wordCount / sentenceCount;
let syllablesPerWord = syllableCount / wordCount;
return score;
}
function getFleschKincaidGradeLevel(syllableCount, wordCount, sentenceCount){
let wordsPerSentence = wordCount / sentenceCount;
let syllablesPerWord = syllableCount / wordCount;
let score = (0.39 * wordsPerSentence) + (11.8 * syllablesPerWord) - 15.59;
return score;
}
/*
function getAutomatedReadability(characterCount, wordCount, sentenceCount){
|