#!/usr/bin/lua local cli = require "cli" local plpath = require "pl.path" local pkar = require "pocket_archive" local sub = require "pocket_archive.submission" local hgen = require "pocket_archive.html_generator" cli.locale "en_US" init = cli.command { "Initialize a new Pocket Archive store.", cli.flag "wipe" { "Wipe all preexisting data.", type = cli.boolean, }, function(args) if args.wipe then _ = pkar.reset_store else _ = pkar.store end _ = nil collectgarbage() end } submit = cli.command { "Submit a package.", cli.positional "path" { [[Path of the package root. It must be a directory containing all the files and folders to be submitted and a `pkar_submission.csv` file at the top of the folder.]] }, function(args) sip = sub.generate_sip(plpath.join(args.path, "pkar_submission.csv")) sub.deposit(sip) end } generate = cli.command { "Generate a static site from the archive.", function(args) hgen.generate_site() end } cli.program { "Pocket Archive command line interface.", }