blob: ac80d551e68e3f880acf68ff523de5dcda6de5b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
'use strict'
const { $jsonld, url: urlFn } = require('@metascraper/helpers')
/**
* Wrap a rule with validation and formatting logic.
*
* @param {Function} rule
* @return {Function} wrapped
*/
const wrap = rule => ({ htmlDom, url }) => {
const value = rule(htmlDom, url)
return urlFn(value, { url })
}
/**
* Rules.
*/
module.exports = () => ({
logo: [
wrap($jsonld('publisher.logo.url')),
wrap($jsonld('publisher.logo')),
wrap($ => $('meta[property="og:logo"]').attr('content')),
wrap($ => $('meta[itemprop="logo"]').attr('content')),
wrap($ => $('img[itemprop="logo"]').attr('src'))
]
})
|