From 78ec9c37eb28fba82f7d7b9222fb84aede360400 Mon Sep 17 00:00:00 2001 From: lukasepple Date: Sun, 7 Dec 2014 21:34:10 +0100 Subject: [PATCH 1/4] add first idea for the cli command set Please help with commands for git-deployment I haven't used that feature yet --- docs/hacking.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/hacking.md b/docs/hacking.md index 6cf7cc1..c1b0ca7 100644 --- a/docs/hacking.md +++ b/docs/hacking.md @@ -266,6 +266,28 @@ 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 reasonable points of inspiration for commands to offer. +#### Commands + +(this is just a initial list of commands and what they'd do for the implementor. Feel free to contribute!) + +Imagine a executable `coleslaw`, the commands would be invoked like this: `coleslaw ` + +* `build` generates the site. Takes: + * `--dir`: If not supplied `.` is used +* `clean` removes the files from `output-dir` and `staging-dir`. Takes: + * `--dir`: If not supplied `.` is used +* `rebuild` is a shortcut for `clean` and then `build`. Takes: + * `--dir`: If not supplied `.` is used +* `post` creates a new empty `.post` file. Takes: + * `--dir`: If not supplied `.` is used + * `--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 + * … +* `site` is the same as `post` but for static site (should we add this?) +* `deploy`/`upload` does upload the files from `output-dir` to your (configured) webserver using rsync (?). Takes: + * `--dir`: If not supplied `.` is used + ### Plugin Constraints There is no system for determining what plugins work together or From e52a9765a55a29718fa5ec109c44c312419032bb Mon Sep 17 00:00:00 2001 From: lukasepple Date: Mon, 8 Dec 2014 16:18:46 +0100 Subject: [PATCH 2/4] added some more commands --- docs/hacking.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/hacking.md b/docs/hacking.md index c1b0ca7..1890b7d 100644 --- a/docs/hacking.md +++ b/docs/hacking.md @@ -287,6 +287,8 @@ Imagine a executable `coleslaw`, the commands would be invoked like this: `coles * `site` is the same as `post` but for static site (should we add this?) * `deploy`/`upload` does upload the files from `output-dir` to your (configured) webserver using rsync (?). Takes: * `--dir`: If not supplied `.` is used +* `git-deploy` adds the post-receive hook to a git repo specified with `--dir` +* `serve` starts a hunchentoot serving the blog locally ### Plugin Constraints From 86133fef8f831294df98140cdefb45b82de9844b Mon Sep 17 00:00:00 2001 From: lukasepple Date: Mon, 8 Dec 2014 20:04:45 +0100 Subject: [PATCH 3/4] simplified and clarified the cli --- docs/hacking.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/hacking.md b/docs/hacking.md index 1890b7d..e7aa485 100644 --- a/docs/hacking.md +++ b/docs/hacking.md @@ -263,32 +263,32 @@ 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 just a initial list of commands and what they'd do for the implementor. Feel free to contribute!) - +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: - * `--dir`: If not supplied `.` is used + * `--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: - * `--dir`: If not supplied `.` is used + * `--repo-dir`: See above * `rebuild` is a shortcut for `clean` and then `build`. Takes: - * `--dir`: If not supplied `.` is used + * `--repo-dir`: See above * `post` creates a new empty `.post` file. Takes: - * `--dir`: If not supplied `.` is used + * `--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 + * `--date`: same as the header-key. If not given, current time is used. + * `--format`: same as the header-key (optional, defaults to `md`) * … -* `site` is the same as `post` but for static site (should we add this?) -* `deploy`/`upload` does upload the files from `output-dir` to your (configured) webserver using rsync (?). Takes: - * `--dir`: If not supplied `.` is used -* `git-deploy` adds the post-receive hook to a git repo specified with `--dir` * `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 From 1251db17fd2b79d2acb790e010c8489fdc670b85 Mon Sep 17 00:00:00 2001 From: lukasepple Date: Mon, 8 Dec 2014 20:59:37 +0100 Subject: [PATCH 4/4] mentioning IRC channel in README --- README.md | 1 + 1 file changed, 1 insertion(+) 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