123456789101112131415161718192021222324252627282930313233343536 |
- 'use strict';
- const { htmlTag } = require('hexo-util');
- const qs = require('querystring');
- function mailToHelper(path, text, options = {}) {
- if (Array.isArray(path)) path = path.join(',');
- if (!text) text = path;
- const attrs = Object.assign({
- href: `mailto:${path}`,
- title: text
- }, options);
- if (attrs.class && Array.isArray(attrs.class)) {
- attrs.class = attrs.class.join(' ');
- }
- const data = {};
- ['subject', 'cc', 'bcc', 'body'].forEach(i => {
- const item = attrs[i];
- if (item) {
- data[i] = Array.isArray(item) ? item.join(',') : item;
- attrs[i] = null;
- }
- });
- const querystring = qs.stringify(data);
- if (querystring) attrs.href += `?${querystring}`;
- return htmlTag('a', attrs, text);
- }
- module.exports = mailToHelper;
|