hexo-generator-basic-set源码讲解(一)

这是一个hexo多语言切换套装
因为hexo本身做多语言切换也是需要自己写一些代码的,利用这个套装插件,可以节省不少的力气

https://github.com/zyzyz/hexo-generator-basic-set/blob/master/index.js

/* global hexo */

'use strict'

var assign = require('object-assign');// 调用公共库object-assign,合并对象用的

var per_page = typeof hexo.config.per_page === 'undefined' ? 10 : hexo.config.per_page;

/* Index */
if (hexo.config.index_generator) {
  hexo.config.index_generator = assign({
    per_page: per_page,
    order_by: '-date'
  }, hexo.config.index_generator);

  hexo.extend.generator.register('index', require('./lib/generator-index'));
}

if (hexo.config.archive_generator) {
  hexo.config.archive_generator = assign({
    per_page: per_page,
    yearly: true,
    monthly: true,
    daily: false
  }, hexo.config.archive_generator);

  hexo.extend.generator.register('archive', require('./lib/generator-archive'));
}

if (hexo.config.category_generator) {
  hexo.config.category_generator = assign({
    per_page: per_page,
  }, hexo.config.category_generator);

  hexo.extend.generator.register('category', require('./lib/generator-category'));
}

if (hexo.config.tag_generator) {
  hexo.config.tag_generator = assign({
    per_page: per_page,
    enable_index_page: false
  }, hexo.config.tag_generator);

  hexo.extend.generator.register('tag', require('./lib/generator-tag'));
}

index文件是插件的入口文件
里面调用的其实就是 hexo.extend.generator.register,这个会在每次hexo g命令的时候调用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容