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 install hexo-symbols-count-time
Usage
You can set options of hexo-symbols-count-time 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
- CN ≈
wpm
– Words Per Minute. Default:275
. You can check this here.- Slow ≈
200
- Normal ≈
275
- Fast ≈
350
- Slow ≈
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
Development
$ cd hexo
$ git clone https://github.com/theme-next/hexo-symbols-count-time.git node_modules/hexo-symbols-count-time
$ cd node_modules/hexo-symbols-count-time
Tests
$ npm install mocha chai --save-dev
$ npm test
Tests with coverage
$ npm install -g nyc
$ nyc --print both node_modules/.bin/_mocha -- test/index.js
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