An Orchard Core module that calculates and stores the estimated read time for content items.
- Calculates an estimated read time in minutes when content is published.
- Stores the result on
ContentReadTimePartfor display in templates or queries. - Supports text from common body parts and text-bearing fields.
- GraphQL support: Query read time data through Orchard Core's GraphQL API.
- .NET 8
- Orchard Core 2.2.1 (the version referenced by this module)
Install the NuGet package:
dotnet add package Griesoft.OrchardCore.ContentReadTime
- Enable the Content Read Time feature in the Orchard Core admin dashboard.
- Edit a content type and attach the
ContentReadTimePart. - Choose the source text and words-per-minute setting (defaults to
200). - Use the stored minutes in templates, queries, or custom code.
When you attach ContentReadTimePart, you can configure the source text and reading speed:
- Source content: select a part or a field to read from.
- Body parts:
HtmlBodyPart,MarkdownBodyPart - Field types:
HtmlField,TextField,MarkdownField
- Body parts:
- Words per minute: defaults to
200if not set or invalid.
The module calculates read time during publish and stores the value in ContentReadTimePart.Minutes. Use that value anywhere you render or query content items.
dotnet builddotnet testVersion is managed in Version.props. Use the update-version.ps1 script to update:
# Set specific version
./update-version.ps1 -Version "1.2.3"
# Increment version
./update-version.ps1 -IncrementPatch # 1.0.0 -> 1.0.1
./update-version.ps1 -IncrementMinor # 1.0.0 -> 1.1.0
./update-version.ps1 -IncrementMajor # 1.0.0 -> 2.0.0- main - Production releases (stable versions)
- dev - Active development (preview releases)
- feature/ - Feature branches (CI only)
Contributions are welcome! Please submit pull requests with clear descriptions of changes.
This project is licensed under the MIT License - see the LICENSE file for details.