X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/db7b464d701c7d48777ddd38a10f69093cd5442c..172f4c8807d44ebe38c7f227b7fdc2d6a9dbe323:/lib/generators/static.js diff --git a/lib/generators/static.js b/lib/generators/static.js deleted file mode 100644 index eb3c631..0000000 --- a/lib/generators/static.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -const { access, rmdir } = require('fs/promises'); -const { ncp } = require('ncp'); -const { join } = require('path'); -const { debuglog, promisify } = require('util'); - -const internals = { - ncp: promisify(ncp), - debuglog: debuglog('blog'), - - kAssetsDirectoryName: 'assets' -}; - -/** - * Generates the static assets required for the blog - * - * @name StaticGenerator - * @param {string} source the source directory - * @param {string} target the target directory - * @param {Array.} posts the list of posts - */ -module.exports = async function StaticGenerator(source, target, posts) { - - const assetsTarget = join(target, internals.kAssetsDirectoryName); - - internals.debuglog(`Removing ${assetsTarget}`); - await rmdir(assetsTarget, { recursive: true }); - - for (let i = 0; i < posts.length; ++i) { - const postSourcePath = join(source, `${i}`); - - try { - await access(postSourcePath); - - const assetsSource = join(postSourcePath, internals.kAssetsDirectoryName); - - internals.debuglog(`Copying ${assetsSource} to ${assetsTarget}`); - await internals.ncp(assetsSource, assetsTarget); - } - catch (error) { - if (error.code === internals.kFileNotFoundError) { - internals.debuglog(`Skipping ${i}`); - continue; - } - - throw error; - } - } -};