summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/metascraper-image/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/metascraper-image/index.js')
-rw-r--r--bin/wiki/ImportarDesdeURL/node_modules/metascraper-image/index.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/metascraper-image/index.js b/bin/wiki/ImportarDesdeURL/node_modules/metascraper-image/index.js
new file mode 100644
index 00000000..c45b2433
--- /dev/null
+++ b/bin/wiki/ImportarDesdeURL/node_modules/metascraper-image/index.js
@@ -0,0 +1,39 @@
+'use strict'
+
+const { $jsonld, $filter, image } = 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 image(value, { url })
+}
+
+const getSrc = el => el.attr('src')
+
+/**
+ * Rules.
+ */
+module.exports = () => ({
+ image: [
+ wrap($ => $('meta[property="og:image:secure_url"]').attr('content')),
+ wrap($ => $('meta[property="og:image:url"]').attr('content')),
+ wrap($ => $('meta[property="og:image"]').attr('content')),
+ wrap($ => $('meta[name="twitter:image:src"]').attr('content')),
+ wrap($ => $('meta[name="twitter:image"]').attr('content')),
+ wrap($ => $('meta[itemprop="image"]').attr('content')),
+ wrap($jsonld('image.0.url')),
+ wrap($jsonld('image.url')),
+ wrap($jsonld('image.url')),
+ wrap($jsonld('image')),
+ wrap($ => $filter($, $('article img[src]'), getSrc)),
+ wrap($ => $filter($, $('#content img[src]'), getSrc)),
+ wrap($ => $('img[alt*="author" i]').attr('src')),
+ wrap($ => $('img[src]').attr('src'))
+ ]
+})