hexo-enhancer

1.0.10 • Public • Published

hexo-enhancer

This is an feature enhancement plugin for Hexo.

中文文档:https://sulin.me/2019/Z726F8.html

Introduction

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].

Installation

npm install hexo-enhancer --save

OR

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:

20091010-Title.md
2009-10-10_Title.md
2009-10-10-Title.md
2009/10/10#Title.md
2009/10/10@Title.md
[20091010]-Title.md
【20091010】Title.md
「20091010」-Title.md

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/20091010-Title.md 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.

Tags are case insensitive.

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 https://sulin.me/2019/Z726F8.html

New Features

2020-04-22

  1. Tag searching case insensitive
  2. Automaticly add "mathjax: true" if src contains $

License

MIT

Dependencies (6)

Dev Dependencies (3)

Package Sidebar

Install

npm i hexo-enhancer

Weekly Downloads

44

Version

1.0.10

License

MIT

Unpacked Size

10.5 kB

Total Files

7

Last publish

Collaborators

  • sisyphsu