Estimate the reading time of a text or a text file
You can donwload retim or you can install it as package, to use it in your projects.
You can found it at Hex.
Also you can add retim
to your list of dependencies in mix.exs
:
def deps do
[{:retim, "~> 0.2.3"}]
end
- English: "en"
- Greek: "gr"
- Italian: "it"
- Spanish: "es"
- Norwegian: "no"
- German: "ge"
- Russian: "ru"
- Portuguese: "pt"
Estimate the reading time of a setence:
iex> Retim.count("Hello World")
"1 minute"
You can change the default language:
iex> Retim.count("Hello World", "it")
"1 minuto"
The average reading time per minute is 180 words. If you want to change it you can pass a second argument:
iex> Retim.count("Hello World", "en", 120)
"1 minute"
If you want to change only the reading time, you need to choose the language or leave the second argument blank:
iex> Retim.count("Hello World", "", 150)
Read words from a file:
iex> Retim.count_file("hello.md")
"4 minutes"
Read a file and change the average reading time to 120 words / per minute:
iex> Retim.count_file("hello.md", "en", 120)
"7 minutes"
Add retim on your dependencies:
defp deps do
[{:phoenix, "~> 1.2.1"},
........
........
{:cowboy, "~> 1.0"},
{:retim, "~> 0.2.3"}]
end
Run deps.get on your terminal:
mix deps.get
Generate a post:
mix phoenix.gen.html Post posts title:string body:text
To count the reading time of the body text, add count(@post.body) on your templates(post/show.html.eex):
<%= Retim.count(@post.body) %>
To change the language add:
<%= Retim.count(@post.body, "es") %>
- Add other languages
- Add new print format (Example: 3 minutes and 10 seconds)