Hogyan lehet pontosabban megbecsülni a JavaScript közepes cikkei olvasási idejét

Bevezetés

Az Olvasási idő becslése az olvasó által a cikk elolvasásához szükséges idő becslése. A Medium 2013-as indítása óta a Medium alapvető funkcióinak része .

Amint azt a New Yorker leírta :

Minél többet tudunk valamiről - beleértve azt is, hogy pontosan mennyi időbe kerül -, annál nagyobb az esély, hogy elkötelezzük magunkat.

A cikk előzetes ismerete, hogy mennyi idő alatt olvasható el egy cikk, segít a jobb időgazdálkodásban, lehetővé téve számunkra, hogy tovább tervezzünk.

Miért használjak új szkriptet?

Igen, sok nyílt forráskódú könyvtár érhető el az npm-ende számos hibát tartalmaznak.

Előtte nézzük meg a Medium e két cikkét.

  • Olvasási idő - közepes támogatás
  • Olvassa el az Időt és téged

A fenti két cikk a következő főbb jellemzőkkel rendelkezik

  • Átlagos olvasási idő (angol nyelven) - 265 szó / perc
  • Átlagos olvasási idő (kínai, japán és koreai) - 500 karakter / perc
  • Képolvasási idő - 12 másodperc az első képhez, 11 másodperc a másodikhoz, és további másodperc mínusz minden következő képhez. Más képeket 3 másodpercnél számolunk.

A könyvtárak többsége nem veszi teljesen figyelembe a fenti szolgáltatásokat. A HTML karakterláncokat a jelenlegi állapotban használják, anélkül, hogy kihagynák a címke nevét, ami növeli a becslés eltérését az eredeti értéktől.

Kód

A kód három részre osztható:

  • Állandóak
  • Hasznosság

Állandóak

Az állandók a fő funkció alapértelmezettjeként használhatók. A képcímkének saját felhasználása van, amelyet később meghatározunk.

Segédfunkciók

  1. Csík WhiteSpace

Ez egy egyszerű segédfunkció, amely eltávolítja az összes vezető és záró szóközt a megadott karakterláncból.

2. Képolvasási idő

Elemzi a karakterláncot, megkeresi a HTML képcímkéket az állandókban megadott alapértékek alapján, és visszaadja a számlálást.

Ha a képszám nagyobb, mint 10, akkor kiszámoljuk az első 10 kép képolvasási idejét csökkenő aritmetikai progresszióval, kezdve 12 mp-től / customReadTimea felhasználó által biztosított egyszerű képlet n * (a+b) / 2 és 3 mp-ig a többi kép esetében.

3. Csíkos címkék

Ezután ellenőrizzük, hogy van-e HTML-címke (mindkettő) a karakterláncban, és eltávolítjuk, hogy csak a szavakat vonjuk ki belőle.

4. Szavak olvasási ideje

Ez a segédfunkció kiszámítja a szavak számát, valamint a kínai / koreai és japán karaktereket a különböző Unicode karaktertartomány használatával .

Az idő kiszámítása úgy történik, hogy elosztjuk a fent definiált állandókkal.

5. Az idő humanizálása

A szavakkal töltött idő távolsága alapján kiszámíthatjuk és visszaadhatjuk az olvasáshoz szükséges idő humanizált időtartamát.

A fő funkció csak az összes hasznossági módszert konszolidálja a helyes sorrendben.

Mennyire pontos ez a szkript?

A HTML sztring tesztjeinek elvégzése (a Chrome ellenőrtől) a cikk szakasz előtt.

A tesztek és az oldalak egyértelműen megadják a helyes becslést az elemzett HTML-ből származó összes szóra és a képek számára.

Linkek

Összevontam a teljes kódot a GitHubon. Npm csomagolvasási idő-becslésként is elérhető.

A menő dolgok közül többet a StackOverflow és a GitHub profiljaimban találhat meg.

Kövess engem a LinkedIn , a Medium , a Twitter oldalán az új cikkek további frissítéséhez.

Egy taps, két taps, három taps, negyven?

Eredetileg a blog.pritishvaidya.com oldalon jelent meg 2019. január 30-án.