diff --git a/README.md b/README.md index 6f2601e..22d0738 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ > behind the enormous bushy eyebrows and that we called him Coleslaw. - anon Coleslaw is Flexible Lisp Blogware similar to [Frog](https://github.com/greghendershott/frog), [Jekyll](http://jekyllrb.com/), or [Hakyll](http://jaspervdj.be/hakyll/). +Have questions? Come talk to us on **IRC in #coleslaw on Freenode**! ## Features diff --git a/docs/hacking.md b/docs/hacking.md index 6cf7cc1..e7aa485 100644 --- a/docs/hacking.md +++ b/docs/hacking.md @@ -263,9 +263,33 @@ that are useful to the user. Example errors users have encountered: It would be convenient to add command-line tools/scripts to run coleslaw, set up the db for incremental builds, scaffold a new post, etc. for new users. -Xach's buildapp or Fare's cl-launch would be useful here. frog and hakyll are +Fukamachi's Shelly, Xach's buildapp or Fare's cl-launch would be useful here. frog and hakyll are reasonable points of inspiration for commands to offer. +#### Commands + +This is a initial set of commands which will be used to implement the first coleslaw cli, feel free to contribute! +Imagine a executable `coleslaw`, the commands would be invoked like this: `coleslaw ` + +* `build` generates the site. Takes: + * `--repo-dir`: first defaults to `~/.coleslawrc`'s `repo-dir` then to `./.coleslawrc`'s `repo-dir` and otherwise fails +* `clean` removes the files from `output-dir` and `staging-dir`. Takes: + * `--repo-dir`: See above +* `rebuild` is a shortcut for `clean` and then `build`. Takes: + * `--repo-dir`: See above +* `post` creates a new empty `.post` file. Takes: + * `--repo-dir`: See above + * `--title`: title (also used for generating file name) + * `--date`: same as the header-key. If not given, current time is used. + * `--format`: same as the header-key (optional, defaults to `md`) + * … +* `serve` starts a hunchentoot serving the blog locally +* maybe `page` which is `post` for static sites. + +Ideas for later: + +* handle deployment with commands but because we've got many methods there would have to be an intelligent way of handling that. + ### Plugin Constraints There is no system for determining what plugins work together or