markdown_link_checker_sc
Version:
57 lines (48 loc) • 1.47 kB
JavaScript
import fs from "fs/promises";
import path from "path";
// Call at start of function to ease logging to console.
function logFunction(options, name, ...args) {
options?.log?.includes("functions")
? console.log(`${name}: ${args.join(", ")}`)
: null;
}
// Log data to specified file path, replacing file.
async function logToFile(filePath, dataString, options) {
options?.log?.includes("functions")
? console.log(`Function: logToFile(${filePath}, dataString))`)
: null;
if (!options?.logtofile) {
return;
}
try {
await fs.mkdir(path.dirname(filePath), { recursive: true });
await fs.writeFile(filePath, dataString);
//console.log("Data written to file");
} catch (err) {
console.error(err);
}
}
const imageExtensions = new Set([
".jpg",
".jpeg",
".png",
".svg",
".gif",
".webm",
]);
// Return true if file is an image.
//Just looks at file extension.
function isImage(file) {
const fileExtension = path.extname(file).toLowerCase();
return imageExtensions.has(fileExtension) ? true : false;
}
function isMarkdown(file) {
const fileExtension = path.extname(file).toLowerCase();
return fileExtension === ".md" ? true : false;
}
function isHTML(file) {
const fileExtension = path.extname(file).toLowerCase();
//console.log(`ext: ${fileExtension}`);
return fileExtension === ".html" || fileExtension === ".htm" ? true : false;
}
export { logToFile, logFunction, isImage, isMarkdown, isHTML };