#!/usr/bin/env ruby # frozen_string_literal: true require 'archival' VALID_COMMANDS = %w[ build run ].freeze command = ARGV[0] unless !command || VALID_COMMANDS.include?(command) raise StandardError, "Invalid command #{command}" end build_dir = Dir.pwd case command when 'build' Archival::Logger.benchmark('built') do config = Archival::Config.new('root' => build_dir) builder = Archival::Builder.new(config) builder.write_all end when 'run' Archival.listen('root' => build_dir) else # print help puts 'archival [command]' puts '' puts 'Commands:' puts ' build Builds the current directory as an archival website.' puts ' run Runs the current directory in development mode, ' + 'recompiling when files change.' end