Add Reading Time
Create a remark plugin which adds a reading time property to the frontmatter of your Markdown or MDX files. Use this property to display the reading time for each page.
Recipe
-
Install Helper Packages
Install these two helper packages:
reading-time
to calculate minutes readmdast-util-to-string
to extract all text from your markdown
-
Create a remark plugin.
This plugin uses the
mdast-util-to-string
package to get the Markdown file’s text. This text is then passed to thereading-time
package to calculate the reading time in minutes. -
Add the plugin to your config:
Now all Markdown documents will have a calculated
minutesRead
property in their frontmatter. -
Display Reading Time
If your blog posts are stored in a content collection, access the
remarkPluginFrontmatter
from theentry.render()
function. Then, renderminutesRead
in your template wherever you would like it to appear.If you’re using a Markdown layout, use the
minutesRead
frontmatter property fromAstro.props
in your layout template.