I'm a huge fan of the reading experience at Medium.com. One of their signature features is "minute read" indicatior. As a reader you know what you're in for, and don't have to guess how long an article is.

With a little copy/paste you can add the read time to anything in Rock using Lava.

Get a Word Count

{%- assign content = Item.Content -%}
{%- assign wordCount = 0 -%}
{%- assign wordCount = content | StripHtml | Remove:' ' | Trim | Split:' ' | Size -%}

Reading time is based on the agerage reading speed of an adult (roughly 265 WPM). We add a little buffer of around 100 words to account for other content a reader might skim on the page.

Basic Reading Time

{%- assign content = Item.Content -%}
{%- assign wordCount = 0 -%}
{%- assign wordCount = content | StripHtml | Remove:' ' | Trim | Split:' ' | Size -%}
{%- assign readTime = wordCount | Plus:100 | DividedBy:265 | Ceiling -%}
{%- assign readTime = readTime | Append:' min read' -%}

If you have an image heavy post, you might want to include some extra time for viewing the images. The engineers over at Medium.com use a calculation of "12 seconds for the first image, 11 for the second, and minus an additional second for each subsequent image. Any images after the tenth image are counded at three seconds." Using Lava, we can accomplish the same thing.

Reading Time with Images

{%- assign content = Item.Content -%}
{%- assign wordCount = 0 -%}
{%- assign imageSeconds = 0 -%}
{%- assign wordCount = content | StripHtml | Remove:' ' | Trim | Split:' ' | Size -%}
{%- assign imageCount = content | Split:'<img' | Size | Minus:2 -%}
{%- if imageCount > -1 -%}
{%- for i in (0..imageCount) -%}
{%- if i < 9 -%}
{%- assign imageSeconds = imageSeconds | Plus:12 | Minus:i -%}
{%- else -%}
{%- assign imageSeconds = imageSeconds | Plus:3 %}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- assign imageTime = imageSeconds | DividedBy:60 -%}
{%- assign readTime = wordCount | Plus:100 | DividedBy:265 | Plus:imageTime | Ceiling -%}
{%- assign readTime = readTime | Append:' min read' -%}