jubilee/server/reducers/euronews.js
2018-03-05 19:14:37 +00:00

38 lines
893 B
JavaScript

const cheerio = require('cheerio');
const logger = require('log4js').getLogger('Euronews Reducer');
const { get, isEmpty } = require('lodash');
logger.level = 'debug';
const htmlTidy = /<(\/*?)(?!(em|p|br\s*\/|strong|h1|h2|h3))\w+?.+?>/gim;
function reduceArticle(body = '') {
if (body === '') return {};
const obj = {};
const $ = cheerio.load(body);
const title = $('meta[property="og:title"]').attr('content');
const image = `http://image.silvrtree.co.uk/640,fit,q80/${ $('meta[property="og:image"]').attr('content')}`;
const stuff = $('[itemprop="articleBody"]');
const html = [];
// stuff.children().each(function () {
stuff.each(function () {
html.push($(this).html());
});
const outputHTML = html.join('').replace(htmlTidy, '');
obj.title = title;
obj.image = image;
obj.html = outputHTML;
return obj;
}
module.exports = { reduceArticle };