weck/src/helpers.js

34 lines
968 B
JavaScript
Raw Normal View History

2021-04-08 00:27:21 +02:00
import { fileURLToPath } from 'url';
import fs from 'fs';
import path, { dirname } from 'path';
2021-04-08 09:20:51 +02:00
import nhp from 'node-html-parser';
2021-04-08 00:27:21 +02:00
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()
}
2021-04-08 09:20:51 +02:00
export const getTitle = (html) => {
return nhp.parse(html).querySelector('title').toString();
}