feat: add addNoReferrer in common-utils (#2571)

* fix: no-referrer tag

* chore: merge qdaily routes

* feat: add addNoReferrer in common-utils

This adds no-referrer attribute to images.
Parameters:

- add no-referrer attribute to images
- $: cheerio selector
- source: source selector, string
- target: target attribute name, typically for lazyload imgs, string
- srcPrefix: prefix for src, string
- removeAttr: attributes to remove, array: ['attrA','attrB']

* test: add test case

* doc: update
This commit is contained in:
Henry Wang
2019-07-08 04:45:02 +01:00
committed by DIYgod
parent ffcca63d36
commit d09affa703
30 changed files with 127 additions and 308 deletions

View File

@@ -1,6 +1,7 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const date_util = require('@/utils/date');
const { addNoReferrer } = require('@/utils/common-utils');
module.exports = async (ctx) => {
const type = ctx.params.type || 'source';
@@ -46,14 +47,7 @@ module.exports = async (ctx) => {
const $ = cheerio.load(response.data);
$('img').each((index, elem) => {
const $elem = $(elem);
const src = $elem.attr('data-original');
if (src && src !== '') {
$elem.attr('src', `${src}`);
}
$elem.attr('referrerpolicy', 'no-referrer');
});
addNoReferrer($, 'div.article_content div', 'data-original');
const description = $('div.article_content div').html() || '原文已被删除';