hexo-theme-amazing
Version:
A simple, delicate, and modern theme for Hexo
24 lines (21 loc) • 778 B
JSX
const createLogger = require('hexo-log');
const logger = createLogger.default();
const { Component } = require('inferno');
const view = require('hexo-component-inferno/lib/core/view');
module.exports = class extends Component {
render() {
const { config, helper } = this.props;
const { search } = config;
if (!search || typeof search.type !== 'string') {
return null;
}
try {
let Search = view.require('search/' + search.type);
Search = Search.Cacheable ? Search.Cacheable : Search;
return <Search config={config} helper={helper} search={search} />;
} catch (e) {
logger.w(`Icarus cannot load search "${search.type}"`);
return null;
}
}
};