blogue-main.ss
(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")))