hexo-easy-tags-plugin
v1.1.0
Published
A Hexo plugin that automatically corrects tag names.
Downloads
163
Readme
hexo-easy-tags-plugin
A Hexo plugin that automatically corrects tag names.
Why Use This?
We can't remember the case of each tag name used previously. Foo? foo? or FOO?
If you use both Foo
and foo
, you will have problems.
- Issue 1: Since the case-insensitive file system can't create both
/Foo/
and/foo/
directories, one of them will not accessible. - Issue 2: If set
filename_case: 1
option on the_config.yml
, both have slugs as/foo/
, butFoo
andfoo
are different tags so only one is created under/foo/
.
Solution of This Plugin
This plugin detects before used name and automatically corrects others.
For example:
post-A.md
tags:
- Java
- foo-bar
post-B.md
tags:
- java
- foo_bar
post-C.md
tags:
- JAVA
- foo bar
All of the above will be automatically change to
tags:
- Java
- foo-bar
slugs: /Java/
, /foo-bar/
NOTE: Depending on the order of processing posts, the tag name can be
java
,Java
orJAVA
.
❌ Tags (before)
JAVA(1), Java(1), foo-bar(1), foo_bar(1), foo bar(1), java(1)
✅ Tags (after)
Java(3), foo-bar(3)
Installation
npm install hexo-easy-tags-plugin
Usages
Just install ths plugin, and run hexo clean && hexo g
.
Options
You can add options to the _config.yml
file.
# _config.yml
easy_tags_plugin:
enable: true
tag_name_case: 1
sort_ignore_case: true
enable
(default: true) - enable this plugin, or disable it.tag_name_case
(default: 0) - option to transform all tags name to lowercase of uppercase. 0 no transform, 1 lowercase, 2 uppercase.sort_ignore_case
(default: true) - if set tofalse
, the order of the tags is case sensitive. Affectslist_tags()
,tagcloud()
helpers.action
(default:correct
) - if set toreport
, print conflicted tags and exit.
Release Notes
1.1.0
- Add
sort_ignore_case
option to enable case-insensitive sort tags.
1.0.2
- Add
action
option to enable reporting conflicts instead of automatic corrections (#3) - Handle
tag_map
configuration.
TODO
- Transform tag slugs to lowercase by default. Suggest set
filename_case: 1
in_config.yml
. - Transform tag slugs using transliteration module.
License
Copyright (c) 2019 dailyrandomphoto. Licensed under the MIT license.