Hexo博文置顶

作者: 88ea6130522d | 来源:发表于2017-10-13 09:19 被阅读20次

    首页生成代码

    要修改hexo博客首页文章的排序,就得修改首页index文件生成的逻辑,在hexo默认插件hero-generator-index里面修改。路径如下:

    node_modules/hexo-generator-index/lib/generator.js
    

    修改生成代码逻辑

    'use strict';
    
    var pagination = require('hexo-pagination');
    
    // module.exports = function(locals) {
    //   var config = this.config;
    //   var posts = locals.posts.sort(config.index_generator.order_by);
    //   var paginationDir = config.pagination_dir || 'page';
    //   var path = config.index_generator.path || '';
    
    //   return pagination(path, posts, {
    //     perPage: config.index_generator.per_page,
    //     layout: ['index', 'archive'],
    //     format: paginationDir + '/%d/',
    //     data: {
    //       __index: true
    //     }
    //   });
    // };
    
    
    module.exports = function(locals){
      var config = this.config;
      var posts = locals.posts;
        posts.data = posts.data.sort(function(a, b) {
            if(a.top && b.top) {
                if(a.top == b.top) return b.date - a.date;
                else return b.top - a.top; 
            }
            else if(a.top && !b.top) { 
                return -1;
            }
            else if(!a.top && b.top) {
                return 1;
            }
            else return b.date - a.date;
        });
      var paginationDir = config.pagination_dir || 'page';
      return pagination('', posts, {
        perPage: config.index_generator.per_page,
        layout: ['index', 'archive'],
        format: paginationDir + '/%d/',
        data: {
          __index: true
        }
      });
    };
    
    

    注释掉的是原来的代码,注释的下面是修改后的逻辑。

    在博文title同一级别添加参数top

    上面的代码改造增加了top参数,数值越大则排越前,有数值的优先,数值一样大或没有数值的按照文件日期来排序。
    示例:

    ---
    top: 1
    title: Hexo博文置顶
    category: hexo
    tags:
      - hexo
      - 博客
    keywords:
      - Hexo博文置顶
      - Hexo文章置顶
    --- 
    

    本文最先发布于molock.cn帆的博客

    相关文章

      网友评论

        本文标题:Hexo博文置顶

        本文链接:https://www.haomeiwen.com/subject/dmgayxtx.html