diff --git a/packages/puppeteer-parse/image-handler.js b/packages/puppeteer-parse/image-handler.js new file mode 100644 index 000000000..df0a2e6e1 --- /dev/null +++ b/packages/puppeteer-parse/image-handler.js @@ -0,0 +1,35 @@ +/* eslint-disable no-undef */ +/* eslint-disable no-empty */ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-require-imports */ +require('dotenv').config(); + + +exports.imageHandler = { + shouldPrehandle: (url, env) => { + const IMAGE_URL_PATTERN = + /(https?:\/\/.*\.(?:jpg|jpeg|png|webp))/i + return IMAGE_URL_PATTERN.test(url.toString()) + }, + + prehandle: async (url, env) => { + const title = url.toString().split('/').pop(); + const content = ` + + ${title} + + + + +
+ Image: +
+ ${title} +
+ + ` + + return { title, content }; + } +} diff --git a/packages/puppeteer-parse/index.js b/packages/puppeteer-parse/index.js index fc8db66f6..c88e9f954 100644 --- a/packages/puppeteer-parse/index.js +++ b/packages/puppeteer-parse/index.js @@ -24,6 +24,7 @@ const { tDotCoHandler } = require('./t-dot-co-handler'); const { pdfHandler } = require('./pdf-handler'); const { mediumHandler } = require('./medium-handler'); const { derstandardHandler } = require('./derstandard-handler'); +const { imageHandler } = require('./image-handler'); const storage = new Storage(); const ALLOWED_ORIGINS = process.env.ALLOWED_ORIGINS ? process.env.ALLOWED_ORIGINS.split(',') : []; @@ -228,6 +229,7 @@ const handlers = { 't-dot-co': tDotCoHandler, 'medium': mediumHandler, 'derstandard': derstandardHandler, + 'image': imageHandler, }; /**