Geschätzte Lesezeit mittels Razor einem .NET Core Blog hinzufügen


In dieser Woche implementierte ich ein kleines Feature, das die geschätzte Lesezeit eines Blogartikels anzeigt.

In einem ersten Schritt benutze ich mein BlogStory Modell um an die Inhalte zu kommen. Mittels Razor ging ich wie folgt vor:

  1. Es werden die Leerzeichen gezählt, und eine 1 hinzuaddiert. Dadurch wissen wir nun, wie viele Wörter der Artikel hat.
  2. Die meisten Menschen lesen zwischen 200 und 250 Wörter in der Minute. Daher teilen wir die Wortanzahl durch 250. Dadurch wissen wir nun die Minutenanzahl.
  3. Jetzt wird ein Modulo mit einer Division kombiniert um die Sekunden zu erhalten.


            @{
            var word_count = @Model.Body;
            var counts = word_count.Count(ch => ch == ' ') + 1;
            var minutes = counts / 250;
            var seconds = counts % 250 / (250 / 60);
            var str_minutes = (minutes == 1) ? "Minute " : "Minutes ";
            var str_seconds = (seconds == 1) ? "Second " : "Seconds ";
            }
        
    

Nun platzieren wir an der Stelle, an dem dies angezeigt werden soll, den folgenden Code:

<i class="fas fa-clock"> @minutes @str_minutes  @seconds @str_seconds
Zur Zeit wird dies Clientseitig ausgeführt. Künftig ist eine Implementierung zur Serverseite vorgesehen.

Sascha

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.



Feeds


Syndication

  • add2netvibes
  • add2yahoo
  • Follow me on Blogarama
  • Blogverzeichnis - Bloggerei.de
  • Blogging Fusion Blog Directory
  • Blogverzeichnis
  • TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste
  • Sascha Mannss Twilight Zone - OnToplist.com

Badges

Visitors:

counter

Github


Stackoverflow

profile for saigkill at Stack Overflow, Q&A for professional and enthusiast programmers


Codeproject


OpenHUB

Open Hub profile for Sascha Manns


Codealike


Application Name MannsBlog Environment Name Production
Application Ver v4.0.30319 Runtime Framework x86
App Path D:\home\site\wwwroot\ Runtime Version .NET Core 4.6.27521.02
Operating System Microsoft Windows 10.0.14393 Runtime Arch X86