/* global hexo */ 'use strict'; const crypto = require('crypto'); const nextFont = require('./font'); const nextUrl = require('./next-url'); hexo.extend.helper.register('next_font', nextFont); hexo.extend.helper.register('next_url', nextUrl); hexo.extend.helper.register('next_inject', function(point) { return this.theme.injects[point] .map(item => this.partial(item.layout, item.locals, item.options)) .join(''); }); hexo.extend.helper.register('next_js', function(file, pjax = false) { const { next_version } = this; const { internal } = this.theme.vendors; const links = { local : this.url_for(`${this.theme.js}/${file}`), jsdelivr: `//cdn.jsdelivr.net/npm/hexo-theme-next@${next_version}/source/js/${file}`, unpkg : `//unpkg.com/hexo-theme-next@${next_version}/source/js/${file}` }; const src = links[internal] || links.local; return ``; }); hexo.extend.helper.register('post_gallery', function(photos) { if (!photos || !photos.length) return ''; const content = photos.map(photo => `