添加阅读时间
创建一个 remark 插件 ,它可以将阅读时间属性添加到 Markdown 或 MDX 文件的 frontmatter 中,然后你就可以使用该属性来为每个页面显示所需的阅读时间。
操作步骤
标题部分 操作步骤-
安装辅助工具包
安装如下两个辅助工具包:
reading-time
用于计算阅读分钟数mdast-util-to-string
用于从你的 Markdown 文件中提取所有文本内容
-
创建一个 remark 插件
该插件使用 mdast-util-to-string
包来获取 Markdown 文件的文本内容,然后将文本传递给 reading-time
包以计算阅读时间(以分钟为单位)。
-
将插件添加到你的配置中:
现在,所有的 Markdown 文档都会在其 frontmatter 中包含一个计算后的
minutesRead
属性。 -
展示阅读时间
如果你的博客文章存储在 内容集合 中,那么也可以从
entry.render()
函数访问remarkPluginFrontmatter
,然后在模板中根据需要来决定渲染minutesRead
属性的位置。如果你正在使用 Markdown 布局,那么在布局模板中也可以直接通过
Astro.props
来获取 frontmatter 中的minutesRead
属性。
更多方案
-
状态共享
学习如何使用 Nano Stores 在框架组件之间共享状态
-
添加 RSS 摘要
通过向你的 Astro 网站添加 RSS 摘要让用户来订阅你的内容。
-
Installing a Vite or Rollup plugin
Learn how you can import YAML data by adding a Rollup plugin to your project.
-
使用 API 路由构建表单
了解如何使用 JavaScript 发送表单到 API 路由
-
在 Astro 页面中构建 HTML 表单
了解如何在 Astro 页面中构建 HTML 表单并在你的 frontmatter 中处理提交请求
-
使用 Bun 和 Astro
学习如何在 Astro 网站上使用 Bun。
-
调用服务器端点
了解如何在 Astro 中调用服务器端点
-
校验验证码
了解如何创建一个 API 路由并从客户端进行获取。
-
用 Docker 来构建你的 Astro 网站
了解如何使用 Docker 来构建你的 Astro 网站。
-
为链接添加图标
了解如何安装 rehype 插件并为你 Markdown 文件中的链接添加图标
-
添加 i18n 功能
通过动态路由和内容集合来让你的 Astro 站点支持国际化。
-
Add Last Modified Time
Build a remark plugin to add the last modified time to your Markdown and MDX.
-
添加阅读时间
构建一个 remark 插件并将其添加到你的 Markdown 或 MDX 文件中。
-
在 Astro 组件中共享状态
了解如何通过 Nano Stores 在 Astro 组件中共享状态