0.2.1 • Published 2 years ago

@renovamen/vuepress-plugin-reading-time v0.2.1

Weekly downloads
60
License
MIT
Repository
github
Last release
2 years ago

@renovamen/vuepress-plugin-reading-time@next

Plugin @renovamen/vuepress-plugin-reading-time@next for counting words and estimating reading time in VuePress 2. Compare to other similar VuePress plugins, this plugin supports:

  • Setting reading speed for English and Chinese separately
  • Excluding all content inside code blocks or tex blocks

Demo (see the number beside the clock icon)

 

Install

yarn add @renovamen/vuepress-plugin-reading-time@next
# or
npm install @renovamen/vuepress-plugin-reading-time@next

Then add it to your .vuepress/config.js:

module.exports = {
  plugins: [
    [
      "@renovamen/vuepress-plugin-reading-time"
    ]
  ]
}

 

Usage

The readingTime data can be accessed by:

import { pageData } from "@vuepress/client";
console.log(pageData.readingTime);

An example readingTime data:

{
  minutes: 12,
  words: 3500
}

You can override by specifying readingTime data in frontmatter

title: Hello Word
readingTime: { minutes: 3, words: 1500 }

 

Options

excludes

Exclude pages by their path via a regular expression.

  • Type: Array<string>
  • Default: []

Example:

plugins: [
  [
    "@renovamen/vuepress-plugin-reading-time", {
      excludes: ["/about", "/tag/.*"]
    }
  ]
]

wordsPerMinuteCN

The number of Chinese words per minute a user can read.

  • Type: int
  • Default: 300

Example:

plugins: [
  [
    "@renovamen/vuepress-plugin-reading-time", {
      wordsPerMinuteCN: 500
    }
  ]
]

wordsPerMinuteEN

The number of English words per minute a user can read.

  • Type: int
  • Default: 160

Example:

plugins: [
  [
    "@renovamen/vuepress-plugin-reading-time", {
      wordsPerMinuteEN: 200
    }
  ]
]

excludeCodeBlock

Exclude all content inside code blocks or not.

  • Type: boolean
  • Default: false

Example:

plugins: [
  [
    "@renovamen/vuepress-plugin-reading-time", {
      excludeCodeBlock: true
    }
  ]
]

excludeTexBlock

Exclude all content inside tex blocks or not.

  • Type: boolean
  • Default: false

Example:

plugins: [
  [
    "@renovamen/vuepress-plugin-reading-time", {
      excludeTexBlock: true
    }
  ]
]

 

License

MIT