hexo-generator-index2

0.2.0 • Public • Published

Build Status node npm downloads npm version GitHub release

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 true 
index2_include_index: true # defult is true 
 
# the custom index2 generator, can be array or object 
index2_generator:
  layout: 'archive' # use existing archive layout 
    path: 'web' # output to web folder: http://127.0.0.1:4000/ 
    per_page: 10
    order_by: -date
    include:
      - category Web # include article which category is Web 
    exclude:
      - tag Hexo # exclude article which tag is Hexo 
  layout: 'index' # use existing index layout 
    path: '' # 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 the path 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 of category_map instead
  • tag: Post tag, if tag_map used, please use the value of tag_map instead
  • path: Post source path

Usage

Advance offical hexo-generator-index

Simply

# whether the hexo-generator-index2 include the offical hexo-generator-index, default is true 
index2_include_index: true # defult is true 

Advance

index2_generator:
  layout: 'index' # use existing index layout 
    path: '' # output to root directory: http://127.0.0.1:4000/ 
    index: true # Set index true 
    include: # include some path/category/tag 
      - category Web # include article which category is Web 
    exclude: # 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 layout 
    path: 'web' # output to web folder: http://127.0.0.1:4000/ 
    per_page: 10
    order_by: -date
    include:
      - 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

Package Sidebar

Install

npm i hexo-generator-index2

Weekly Downloads

9

Version

0.2.0

License

MIT

Unpacked Size

16.7 kB

Total Files

9

Last publish

Collaborators

  • jamling