Features
Reading Time
See how long your content will take to read
Configurable
Configure average words per minute via the Back Office or appsettings.json
Extensible
Using a custom editor?
Add your own IReadingTimeValueProvider to calculate reading time.
Screenshots
Versions
10.0.4
Version 10 Support Policy
13.0.4
Version 13 Support Policy
14.0.5
Version 14 Support Policy
Readme
Quick Start
- Install the NuGet package in your Umbraco CMS website project.
dotnet add package jcdcdev.Umbraco.ReadingTime
- Add the Reading Time data type to a document type. You can configure:
Words per minute
(default is 200)Min Unit
(default is Minute)Max Unit
(default is Minute)
- Save and publish content.
- Reading Time will display in the backoffice
Using the value in your templates
In your template, you can accessing the Reading Time property value like any other property:
@Model.ReadingTime.DisplayTime()
Configuration
You can change the average words per minute in the data type settings.
When creating a new data type, the default will be 200 words per minute.
Extending
The DisplayTime
method will format the reading time as a string using Humanizer. This supports variants, meaning the reading time will be displayed based on the pluralisation rules of the current culture (e.g. “1 minute”, “2 minutes”, “0 minuter”).
Min and max TimeUnit
values are derived from the Data Type settings. The below example shows how you can ensure only seconds are displayed.
Model.ReadingTime.DisplayTime(minUnit: TimeUnit.Second, maxUnit: TimeUnit.Second)
Contributing
Contributions to this package are most welcome! Please visit the Contributing page.
Acknowledgements (Thanks)
- LottePitcher - opinionated-package-starter