source: project/release/4/hyde/trunk/hyde-cmd.scm @ 27179

Last change on this file since 27179 was 27179, checked in by Moritz Heidkamp, 9 years ago

hyde: Document hyde build in the usage message

  • Property svn:executable set to *
File size: 1.6 KB
Line 
1#!/usr/bin/csi -ns
2
3(use chicken-syntax hyde matchable)
4
5(define usage #<<END
6Hyde - A static website compiler
7
8Usage: hyde <options> <command>
9
10Options:
11
12-e ENV
13    The environment to execute the command in (default is "default")
14
15Commands are:
16
17hyde init
18    Initializes a site in the current directory.
19
20hyde new <page-type> [<title> ...]
21    Creates a new page with the given page type and title. The page's
22    filename will be inferred from the given title by downcasing it and
23    replacing spaces with dashes.
24
25hyde serve
26    Serves the current site with spiffy, (re-)compiling the site on
27    each request (useful for development).
28
29hyde build [<prefix> ...]
30    Builds the current site. If prefixes are given then only paths having
31    those prefixes will be built
32
33hyde
34    Compiles the current site.
35END
36)
37
38(define args (command-line-arguments))
39
40(when (and (> (length args) 1)
41           (string=? "-e" (car args)))
42
43  (hyde-environment (string->symbol (cadr args)))
44  (set! args (cddr (command-line-arguments))))
45
46(define (maybe-compile-pages #!optional (prefixes '()))
47  (if (load-hyde-file #f)
48      (compile-pages prefixes)
49      (print usage)))
50
51(match args
52  (("init")
53   (initialize-site))
54  (("new" ext . title)
55   (load-hyde-file)
56   (generate-page ext title))
57  (("serve")
58   (load-hyde-file)
59   (serve))
60  (("build" prefixes ...)
61   (maybe-compile-pages prefixes))
62  (() (maybe-compile-pages))
63  (((or "help" "-help" "--help" "usage" "-usage" "--usage"))
64   (print usage))
65  ((command _ ...)
66   (with-output-to-port (current-error-port)
67     (lambda ()
68       (print (format "Unknown command '~a'~%" command))))
69   (print usage)
70   (exit 1)))
Note: See TracBrowser for help on using the repository browser.