So schätzen Sie die Lesezeit für mittlere Artikel in JavaScript genauer ein

Einführung

Lesezeitschätzung ist die Schätzung der Zeit, die der Leser zum Lesen eines Artikels benötigt. Es ist seit seiner Einführung im Jahr 2013 Teil der Kernfunktionen von Medium .

Wie im New Yorker erklärt :

Je mehr wir über etwas wissen - einschließlich genau, wie viel Zeit es verbrauchen wird - desto größer ist die Chance, dass wir uns darauf festlegen.

Wenn Sie im Voraus wissen, wie lange das Lesen eines Artikels dauern wird, können Sie das Zeitmanagement verbessern, indem Sie weiter planen können.

Warum sollte ich ein neues Skript verwenden?

Ja, auf npm sind viele Open Source-Bibliotheken verfügbaraber sie enthalten mehrere Mängel.

Schauen wir uns vorher diese beiden Artikel auf Medium an.

  • Lesezeit - Mittlere Unterstützung
  • Lies die Zeit und dich

Die beiden oben genannten Artikel weisen die folgenden Hauptmerkmale auf

  • Durchschnittliche Lesezeit (Englisch) - 265 Wörter pro Minute
  • Durchschnittliche Lesezeit (Chinesisch, Japanisch und Koreanisch) - 500 Zeichen / min
  • Bildlesezeit - 12 Sekunden für das erste Bild, 11 Sekunden für das zweite und minus eine zusätzliche Sekunde für jedes nachfolgende Bild. Andere Bilder wurden nach 3 Sekunden gezählt.

Die meisten Bibliotheken berücksichtigen die oben genannten Funktionen nicht vollständig. Sie verwenden unverändert HTML-Zeichenfolgen, ohne die Tag-Namen wegzulassen, wodurch die Abweichung der Schätzung vom ursprünglichen Wert erhöht wird.

Code

Der Code kann in drei Teile unterteilt werden:

  • Konstanten
  • Nützlichkeit
  • Main

Konstanten

Die Konstanten können als Standard für die Hauptfunktion verwendet werden. Das Bild-Tag hat seine eigene Verwendung, die später definiert wird.

Dienstprogrammfunktionen

  1. Strip WhiteSpace

Es ist eine einfache Dienstprogrammfunktion, um alle führenden und nachfolgenden Leerzeichen aus der bereitgestellten Zeichenfolge zu entfernen.

2. Bildlesezeit

Es analysiert die Zeichenfolge, sucht anhand der in den Konstanten angegebenen Standardeinstellungen nach HTML-Bild-Tags und gibt die Anzahl zurück.

Wenn die Bildanzahl größer als 10 ist, berechnen wir die Bildlesezeit der ersten 10 Bilder in abnehmendem arithmetischen Verlauf ab 12 Sekunden / customReadTimevom Benutzer bereitgestellt unter Verwendung der einfachen Formel n * (a+b) / 2 und 3 Sekunden für die verbleibenden Bilder.

3. Tags entfernen

Als nächstes suchen wir nach HTML-Tags (beide) in der Zeichenfolge und entfernen sie, um nur die Wörter daraus zu extrahieren.

4. Wörter lesen Zeit

Diese Dienstprogrammfunktion berechnet die Anzahl der Wörter sowie chinesische / koreanische und japanische Zeichen unter Verwendung des unterschiedlichen Unicode- Zeichenbereichs.

Die Zeit wird berechnet, indem sie durch die oben definierten Konstanten geteilt wird.

5. Zeit humanisieren

Basierend auf der Zeitdistanz in Worten können wir die humanisierte Dauer der zum Lesen benötigten Zeit berechnen und zurückgeben.

Main

Die Hauptfunktion konsolidiert nur alle Dienstprogrammmethoden in der richtigen Reihenfolge.

Wie genau ist dieses Skript?

Führen Sie die Tests für die HTML-Zeichenfolge (aus dem Chrome-Inspektor) vor diesem Artikelabschnitt durch.

Die Tests und die Seiten geben eindeutig die richtige Schätzung über die Gesamtzahl der Wörter aus dem analysierten HTML und die Anzahl der Bilder.

Links

Ich habe den vollständigen Code auf GitHub konsolidiert. Es ist auch als Lesezeitschätzung für das npm-Paket verfügbar.

Weitere coole Sachen finden Sie in meinen StackOverflow- und GitHub- Profilen.

Folgen Sie mir auf LinkedIn , Medium , Twitter, um weitere Artikel zu aktualisieren.

Ein Klatschen, zwei Klatschen, drei Klatschen, vierzig?

Ursprünglich veröffentlicht auf blog.pritishvaidya.com am 30. Januar 2019.