zoukankan      html  css  js  c++  java
  • 新增Hexo博客文章置顶功能

    修改Hexo文件夹下的node_modules/hexo-generator-index/lib/generator.js

    需要添加的代码:

    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;
      });
    

    以下是最终的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);
    
      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';
      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
        }
      });
    };
    

    如何使用:在需要置顶的文章添加top属性即可,排序从小到大
    2743275-85427a7ca0fa1c91.png

    博客效果:
    2743275-d3826b5a2d621b67.png

    Tips:常用hexo命令
    # hexo n == hexo new
    # hexo g == 生成
    # hexo s == 启动服务
    
  • 相关阅读:
    spring-boot整合freemarker 出现404
    java rmi的基本使用
    spring的Autowired、Resource、Inject的使用
    RabbitMQ topic 交换器
    RabbitMQ direct交换器
    RabbitMQ java 原生代码
    RabbitMQ基本概念
    消息中间件
    设计模式——模板模式
    设计模式——代理模式
  • 原文地址:https://www.cnblogs.com/zhousiwei/p/10625646.html
Copyright © 2011-2022 走看看