'use strict';
const htmlTag = require('hexo-util').htmlTag;
function linkToHelper(path, text, options) {
if (typeof options === 'boolean') options = {external: options};
options = options || {};
if (!text) text = path.replace(/^https?:\/\/|\/$/g, '');
const attrs = {
href: this.url_for(path),
title: text
};
const keys = Object.keys(options);
let key = '';
for (let i = 0, len = keys.length; i < len; i++) {
key = keys[i];
attrs[key] = options[key];
}
if (attrs.external) {
attrs.target = '_blank';
attrs.rel = 'noopener';
attrs.external = null;
}
if (attrs.class && Array.isArray(attrs.class)) {
attrs.class = attrs.class.join(' ');
}
return htmlTag('a', attrs, text);
}
module.exports = linkToHelper;