import { fileURLToPath } from 'url'; import fs from 'fs'; import path, { dirname } from 'path'; import nhp from 'node-html-parser'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); export const getFilenames = async (directory, files = []) => { const dirs = fs.opendirSync(directory); for await (const dirent of dirs) { const dirOrFilePath = path.join(directory, dirent.name); if (dirent.isDirectory()) { files = await getFilenames(dirOrFilePath, files) } else if (dirent.isFile()) { files = [...files, ...[dirOrFilePath]] } } return files } export const extensionFilter = (filenames, extension) => { return filenames.filter(filename => filename.match(new RegExp(`.*\.(${extension})`, 'ig'))); } export const getContent = (filename) => { return fs.readFileSync(filename).toString() } export const getTitle = (html) => { return nhp.parse(html).querySelector('title').toString(); }