Skip to content

uiolee/hexo-symbols-count-time-2

Repository files navigation

GitHub Tag GitHub Release GitHub commits since latest release GitHub top language Coverage Status CI Libraries.io dependency status for GitHub repo

This a fork of hexo-symbols-count-time

Symbols count and time to read for articles in Hexo blog.

Better than hexo-reading-time and faster than hexo-wordcount. No external dependencies.

Installation

NPM Version node-lts NPM License NPM Downloads NPM Downloads Libraries.io dependency status for latest release

pnpm add hexo-symbols-count-time-2

or

npm i hexo-symbols-count-time-2

Configuration

You can set options of hexo-symbols-count-time-2 in the Hexo's _config.yml (which locates in the root dir of your blog):

symbols_count_time:
  symbols: true
  time: true
  total_symbols: true
  total_time: true
  exclude_codeblock: false
  awl: 4
  wpm: 275
  suffix: "mins."

If symbols_count_time option is not specified, the default parameters will be used.

Parameters

  • awl – Average Word Length (chars count in word). Default: 4. You can check this here.
    • CN ≈ 2
    • EN ≈ 5
    • RU ≈ 6
  • wpm – Words Per Minute. Default: 275. You can check this here.
    • Slow ≈ 200
    • Normal ≈ 275
    • Fast ≈ 350
  • suffix – If time to read less then 60 minutes, added suffix as string parameter.
    If not defined, mins. will be used as default.
  • exclude_codeblock – Allow to exclude all content inside code blocks for more accurate words counting.
    If not defined, false will be used as default.

Note for Chinese users: because in Chinese language average word length about ~1.5 and if you at most cases write posts in Chinese (without mixed English), recommended to set awl to 2 and wpm to 300.
But if you usualy mix your posts with English, awl to 4 and wpm to 275 will be nice.

NexT theme

This plugin integrated in «NexT» and after plugin enabled in main Hexo config, you may adjust options in NexT config:

symbols_count_time:
  separated_meta: true
  item_text_post: true
  item_text_total: false

Templates

Symbols Count

{
  {
    symbolsCount(post);
  }
}

Symbols Time

{
  {
    symbolsTime(post);
  }
}

Or with predefined parameters:

{
  {
    symbolsTime(post, awl, wpm, suffix);
  }
}

Symbols Count Total

{
  {
    symbolsCountTotal(site);
  }
}

Symbols Time Total

{
  {
    symbolsTimeTotal(site);
  }
}

Or with predefined parameters:

{
  {
    symbolsTimeTotal(site, awl, wpm, suffix);
  }
}

Renderers syntax

SWIG / Nunjucks: {{ template }}
EJS: <%- template %>
Jade: span= template