html-to-article-json
Version:
Converting HTML to article-json
71 lines (65 loc) • 1.74 kB
JavaScript
;
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;
};