Introduction
Filtered index generator for Hexo. Add filter feature base on the official index generator and generate some specail posts to special folder.
Installation
$ npm install hexo-generator-index2 --save$ npm uninstall hexo-generator-index --save
Don't worry about the uninstallation, this plugin works same as offical index generator when no include/exclude options.
Options
# whether the hexo-generator-index2 include the offical hexo-generator-index, default is trueindex2_include_index: true # defult is true# the custom index2 generator, can be array or objectindex2_generator:- layout: 'archive' # use existing archive layoutpath: 'web' # output to web folder: http://127.0.0.1:4000/per_page: 10order_by: -dateinclude:- category Web # include article which category is Webexclude:- tag Hexo # exclude article which tag is Hexo- layout: 'index' # use existing index layoutpath: '' # output to root directory: http://127.0.0.1:4000/index: true # Set whether index, results is_home() is true or not
- per_page: Posts displayed per page. (0 = disable pagination)
- order_by: Posts order. (Order by date descending by default)
- layout: Set the layout, default is
index
- path: Output path, if path is
''
, means output to the root directory (http://127.0.0.1:4000/ ) - index: Home index or not, if
true
and thepath
is''
, same to offical hexo-generator-index - include: Posts filter include option
- exclude: Posts filter exclude option
The per_page and order_by is the offical index generator option, just keep it.
Include/exclude option is attribute value
format, available attribute are:
- category: Post category, if
category_map
used, please use the value ofcategory_map
instead - tag: Post tag, if
tag_map
used, please use the value oftag_map
instead - path: Post source path
Usage
hexo-generator-index
Advance officalSimply
# whether the hexo-generator-index2 include the offical hexo-generator-index, default is trueindex2_include_index: true # defult is true
Advance
index2_generator:- layout: 'index' # use existing index layoutpath: '' # output to root directory: http://127.0.0.1:4000/index: true # Set index trueinclude: # include some path/category/tag- category Web # include article which category is Webexclude: # excluce some path/category/tag- tag Hexo # exclude article which tag is Hexo
Special
Generate special articles to specific folder. Such as list articles witch category is Web
to http://127.0.0.1/web/
index2_generator:- layout: 'index' # use existing archive layoutpath: 'web' # output to web folder: http://127.0.0.1:4000/per_page: 10order_by: -dateinclude:- category Web # include article which category is Web
is_home2()
Use is_home2()
to judge whether the page is generated by index2 generator.
{%- block page-main %}
{%- if is_home() || is_home2() %}
{{ partial('post/index') }}
{%- elseif is_archive() || is_category() || is_tag() %}
{{ partial('post/archive') }}
{%- elseif is_post() %}
{{ partial('post/article', {layout_type: 'post'}) }}
{%- endif %}
{%- endblock %}
License
MIT