1; 2/*! 3Name: Reading Time 4Dependencies: jQuery 5Author: Michael Lynch 6Author URL: http://michaelynch.com 7Date Created: August 14, 2013 8Date Updated: April 30, 2018 9Licensed under the MIT license 10*/ 11(function($){$.fn.readingTime=function(options){const defaults={readingTimeTarget:'.eta',readingTimeAsNumber:false,wordCountTarget:null,wordsPerMinute:270,round:true,lang:'en',lessThanAMinuteString:'',prependTimeString:'',prependWordString:'',remotePath:null,remoteTarget:null,success:function(){},error:function(){}};const plugin=this;const el=$(this);let wordsPerSecond;let lessThanAMinute;let minShortForm;let totalWords;let totalReadingTimeSeconds;let readingTimeMinutes;let readingTimeSeconds;let readingTime;let readingTimeObj;plugin.settings=$.extend({},defaults,options);const s=plugin.settings;const setTime=function(o){if(o.text!==''){if(s.lang=="zh"){let text=o.text.trim();const charArray=text.match(/[\u4e00-\u9fa5]/g);let charCount=0;if(charArray!=null){charCount=charArray.length;} 12text=text.replace(/[\u4e00-\u9fa5]/g," ");text=text.replace(/[\r\n]/g," ");text=text.replace(/\W+/g," ");const totalEnWords=text.trim().split(/\s+/g).length;totalWords=totalEnWords+charCount;}else{totalWords=o.text.trim().split(/\s+/g).length;} 13wordsPerSecond=s.wordsPerMinute/60;totalReadingTimeSeconds=totalWords/wordsPerSecond;readingTimeMinutes=Math.floor(totalReadingTimeSeconds/60);readingTimeSeconds=Math.round(totalReadingTimeSeconds-(readingTimeMinutes*60));readingTime=`${readingTimeMinutes}:${readingTimeSeconds}`;if(s.round){if(readingTimeMinutes>0){$(s.readingTimeTarget).text(s.prependTimeString+"waktu baca "+readingTimeMinutes+((!s.readingTimeAsNumber)?' '+minShortForm:''));}else{$(s.readingTimeTarget).text((!s.readingTimeAsNumber)?s.prependTimeString+lessThanAMinute:readingTimeMinutes);}}else{$(s.readingTimeTarget).text(s.prependTimeString+readingTime);} 14if(s.wordCountTarget!==''&&s.wordCountTarget!==undefined){$(s.wordCountTarget).text(s.prependWordString+totalWords);} 15readingTimeObj={wpm:s.wordsPerMinute,words:totalWords,eta:{time:readingTime,minutes:readingTimeMinutes,seconds:totalReadingTimeSeconds}};s.success.call(this,readingTimeObj);}else{s.error.call(this,{error:'The element does not contain any text'});}};if(!this.length){s.error.call(this,{error:'The element could not be found'});return this;} 16switch(s.lang){case'ar':lessThanAMinute=s.lessThanAMinuteString||"Ø£Ù٠٠٠دÙÙÙØ©";minShortForm='دÙÙÙØ©';break;case'cz':lessThanAMinute=s.lessThanAMinuteString||"MénÄ než minutu";minShortForm='min';break;case'da':lessThanAMinute=s.lessThanAMinuteString||"Mindre end et minut";minShortForm='min';break;case'de':lessThanAMinute=s.lessThanAMinuteString||"Weniger als eine Minute";minShortForm='min';break;case'es':lessThanAMinute=s.lessThanAMinuteString||"Menos de un minuto";minShortForm='min';break;case'fr':lessThanAMinute=s.lessThanAMinuteString||"Moins d'une minute";minShortForm='min';break;case'hu':lessThanAMinute=s.lessThanAMinuteString||"Kevesebb mint egy perc";minShortForm='perc';break;case'is':lessThanAMinute=s.lessThanAMinuteString||"Minna en eina mÃnútu";minShortForm='min';break;case'it':lessThanAMinute=s.lessThanAMinuteString||"Meno di un minuto";minShortForm='min';break;case'nl':lessThanAMinute=s.lessThanAMinuteString||"Minder dan een minuut";minShortForm='min';break;case'no':lessThanAMinute=s.lessThanAMinuteString||"Mindre enn ett minutt";minShortForm='min';break;case'pl':lessThanAMinute=s.lessThanAMinuteString||"Mniej niż minutÄ";minShortForm='min';break;case'ru':lessThanAMinute=s.lessThanAMinuteString||"ÐенÑÑе минÑÑÑ";minShortForm='мин';break;case'sk':lessThanAMinute=s.lessThanAMinuteString||"Menej než minútu";minShortForm='min';break;case'sv':lessThanAMinute=s.lessThanAMinuteString||"Mindre än en minut";minShortForm='min';break;case'tr':lessThanAMinute=s.lessThanAMinuteString||"Bir dakikadan az";minShortForm='dk';break;case'uk':lessThanAMinute=s.lessThanAMinuteString||"ÐенÑе Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸";minShortForm='Ñ Ð²';break;case'el':lessThanAMinute=s.lessThanAMinuteString||'ÎιγÏÏεÏο αÏÏ Î»ÎµÏÏÏ';minShortForm='λεÏÏά';break;case'pt-BR':lessThanAMinute=s.lessThanAMinuteString||'Menos de um minuto';minShortForm='min';break;default:lessThanAMinute=s.lessThanAMinuteString||'kurang dari 1 menit';minShortForm='menit';}
17el.each(function(index){if(s.remotePath!=null&&s.remoteTarget!=null){$.get(s.remotePath,function(data){let wrapper=document.createElement('div');wrapper.innerHTML=data;setTime({text:$(wrapper).find(s.remoteTarget).text()});});}else{setTime({text:el.text()});}});return true;}})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.