hexo-near-post

hexo-near-post is a tool that proposes article to be read near the one currently consulted


Keywords
hexo.io, see, also, section
License
GPL-3.0
Install
npm install hexo-near-post@1.0.3

Documentation

Build Status

Purpose

hexo-near-post is a tool that proposes article to be read near the one currently consulted. 2 steps in the process, computing of the proximity of all the posts and widget to display the nearest.

Install

sudo pip install --upgrade -r requirements.txt

Calculating distance

The python script (no time to build a node one yet) hexo-nearest-compute.py is comparing all the posts one to one in order to calculate a distance. Distance is based on number of same words in both posts including description, tags, category, title.

This needs to be run each time a post is created or modified, no link yet with the hexo generate process

typical usage:

python hexo-nearest-compute.py --path ~/blog/source/

Arguments:

  • --path: hexo source directory (where _posts will be found)
  • -f: force rebuild of the database
  • --database: link to the near-post.json file (should be at base of your hexo site)

hexo plugin

installation from your hexo site directory:

npm install hexo-near-post --save

in the _config.yml file, add the following section and configure it as you prefer:

near_post:
  enabled: true
  limit: 2
  posts: 3
  heading: see also
  • enabled could be turned false if you simply want to disable all the near post section in your articles
  • limit: minimum affinity between post
  • posts: number of post to link with if available
  • heading: name of the section (h2 tag used)

you can tweek your css for the near_post section:

#near_posts {
  h2 {
    font-size: 1.4em;
    margin-bottom: 0px;
  }

  ul {
    margin-left: 20px;
  }

 .distance {
     font-size: 0.75rem;
     color: darkgrey;
  }
}

finaly on each post you want the near_post section to be added, insert a specific tag:

@@@near_posts@@@

you can add it by default in the scaffolds/post.md file