Estimate Reading Time
I use iA Writer and find the estimated reading time feature pretty handy. I thought it would be cool to add at the top of my blog articles on the web as others do.
How to Use
readingtime extends the Ruby String class, so you can call reading_time
on any String
object.
Install
gem install readingtime
In irb
$ irb
> require 'readingtime'
=> true
> @words = "Lorem ipsum dolor sit amet"
> @words.reading_time
=> "00:01"
In Your App
<article>
<header>
<h1><%= @article.title %></h1>
<span class="readingtime">Estimated reading time – <%= @article.body.reading_time %></span>
</header>
<%= @article.body %>
</article>
And voila!
Options
You can also send in options to modify the formatting.
# Default output
@article.body.reading_time :format => :basic
=> "03:36"
# Longer text output
@article.body.reading_time :format => :long
=> "3 minutes and 36 seconds"
# Approximate output to minutes
@article.body.reading_time :format => :approx
=> "4 minutes"
# Full text output
@article.body.reading_time :format => :full
=> "1 hr 3 mins 36 secs"
# Raw output [hours, minutes, seconds]
@article.body.reading_time :format => :raw
=> [1, 12, 23]
Thanks
Credit goes to Brian Cray for explaining how to do it in PHP.