]> git.r.bdr.sh - rbdr/blog/blobdiff - lib/archivers/gemlog.js
Allow sync up and down
[rbdr/blog] / lib / archivers / gemlog.js
diff --git a/lib/archivers/gemlog.js b/lib/archivers/gemlog.js
deleted file mode 100644 (file)
index d50d411..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-const { mkdir, readdir, rm, writeFile } = require('fs/promises');
-const { debuglog, promisify } = require('util');
-const { ncp } = require('ncp');
-const { join } = require('path');
-
-const internals = {
-  kArchiveName: '.gemlog',
-  kIndexName: 'index.gmi',
-  kGeminiRe: /\.gmi$/i,
-
-  ncp: promisify(ncp),
-  debuglog: debuglog('blog'),
-};
-
-module.exports = async function(archiveDirectory) {
-  internals.debuglog(`Reading archive ${archiveDirectory}`);
-  const postIds = await readdir(archiveDirectory)
-  const posts = [];
-  for (const id of postIds) {
-    const postDirectory = join(archiveDirectory, id);
-    const slug = (await readdir(postDirectory))
-        .filter((entry) => internals.kGeminiRe.test(entry))[0];
-
-      posts.push({ id, slug })
-  };
-
-  internals.debuglog(`Read ${posts.length} posts`);
-
-  const index = ['# Unlimited Pizza Gemlog Archive', '',
-    ...posts.map((post) => `=> ./${post.id}/${post.slug}`)].join('\n');
-
-  try {
-    internals.debuglog('Removing index');
-    await rm(internals.kArchiveName, { recursive: true });
-  }
-  finally {
-    internals.debuglog('Creating index');
-    await mkdir(internals.kArchiveName);
-    const indexFile = join(internals.kArchiveName, internals.kIndexName);
-    await writeFile(indexFile, index);
-
-    internals.debuglog('Copying posts to archive');
-    await internals.ncp(archiveDirectory, internals.kArchiveName);
-  }
-};