UNPKG

html-to-article-json

Version:
71 lines (65 loc) 1.74 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var defaultTextFormattings = [{ property: 'content', get: function get(elm) { return elm.nodeName === '#text' && elm.data || null; } }, { property: 'href', get: function get(elm) { if (!elm.tagName) { return null; } return elm.tagName.toLowerCase() === 'a' && elm.getAttribute('href') || null; } }, { property: 'italic', get: function get(elm) { if (!elm.tagName) { return false; } var tagName = elm.tagName.toLowerCase(); return tagName === 'i' || tagName === 'em' || elm.style.fontStyle === 'italic'; } }, { property: 'bold', get: function get(elm) { if (!elm.tagName) { return false; } var fontWeight = elm.style.fontWeight; var tagName = elm.tagName.toLowerCase(); return tagName === 'b' || tagName === 'strong' || fontWeight === 'bold' || parseInt(fontWeight, 10) >= 700; } }, { property: 'mark', classProperty: 'markClass', getClass: function getClass(elm) { if (!elm.tagName || elm.tagName.toLowerCase() !== 'mark') { return null; } return elm.getAttribute('class'); }, get: function get(elm) { if (!elm.tagName) { return false; } var tagName = elm.tagName.toLowerCase(); return tagName === 'mark'; } }, { property: 'strikethrough', get: function get(elm) { if (!elm.tagName) { return false; } var tagName = elm.tagName.toLowerCase(); return tagName === 's' || tagName === 'strike' || tagName === 'del'; } }]; exports.default = function (opts) { return opts.customTextFormattings ? defaultTextFormattings.concat(opts.customTextFormattings) : defaultTextFormattings; };