Skip to content
hexo enhance plugin
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is an feature enhancement plugin for Hexo.



This plugin support multiple helpful features as blow (by now):

  • Auto generate title by filename.
  • Auto generate abbrlink by filename, with base32 and crc32 arithmetic.
  • Auto generate date by filename, like Jekyll.
  • Auto generate categories by filepath.
  • Auto generate tags by global pre-configured tags and keywords in the _config.yml.

For example, without this plugin, you need write MarkDown like this:

title: Title
date: 2019-03-05 12:54:57
categories: [A, B]
tags: [tag1, tag2]

# Title

This is a markdown file, in categories [A, B], with tags [tag1, tag2].  

With this graceful plugin, you don't need write boring Front-matter anymore.

# Title

This is a markdown file, in categories [A, B], with tags [tag1, tag2].


npm install hexo-enhancer --save


yarn add hexo-enhancer

Usage - date and title

Like Jekyll, you need use formatted filename, which is date + title, hexo-enhancer will parse them from your filename.

The format is really flexible:

/^.?(\d{4})[-_]?(\d{2})[-_]?(\d{2}).?[-_.@# ]*(.*)$/

If you are familiar with Regexp, you will know how flexible it is:

All filenames above is fine, hexo-enhancer will parse it into:

title: Title
date: 2009-10-10

Usage - categories

For categories, you should put your .md file in right directory with right name, hexo-enhancer will use the directory name as categories, which means _posts/problom-record/Java/ will has:

categories: [problom-record, Java]

Usage - tags

For tags, you can prepare all candidate-tag in _config.yml, like this:

keywords: HTML, JavaScript, Hexo
tags: Java, Golang, React, Vue

hexo-enhancer will scan your post file, auto allocate all tags which appreared in the markdown source.

Usage - abbrlink

hexo-enhancer will use base32(crc32(title)) generate a short link for your post, you can use it in the permlink:

permalink: :year/:abbrlink.html
# permalink: :year/:abbrlink
# permalink: posts/:abbrlink.html
# permalink: :year/:month/:day/:abbrlink.html

With abbrlink, your post's url will really clean, like



You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.