(module blogue-main mzscheme (require (lib "cmdline.ss") (lib "plt-match.ss")) (require "blogue-sig.ss" "blogue.ss" "blogue-ping.ss" "blogue-sync.ss") (provide (all-defined)) (parse-command-line "blogue" (current-command-line-arguments) `() (lambda (flag-accum config-path . modes) (let ([config@ (dynamic-require `(file ,config-path) 'config@)]) (for-each (match-lambda ["build" (build-site config@)] ["sync" (run-rsync config@)] ["ping" (ping config@)] [mode (printf "Undefined mode: ~a~n" mode)]) modes))) '("module : path to module" "mode : Either build, sync, or ping")))