浏览代码

Merge pull request #74 from lukasepple/master

add first idea for the cli command set
Brit Butler 10 年之前
父节点
当前提交
0fdac81d5e
共有 2 个文件被更改,包括 26 次插入1 次删除
  1. 1 0
      README.md
  2. 25 1
      docs/hacking.md

+ 1 - 0
README.md

@@ -8,6 +8,7 @@
8 8
 > behind the enormous bushy eyebrows and that we called him Coleslaw. - anon
9 9
 
10 10
 Coleslaw is Flexible Lisp Blogware similar to [Frog](https://github.com/greghendershott/frog), [Jekyll](http://jekyllrb.com/), or [Hakyll](http://jaspervdj.be/hakyll/).
11
+Have questions? Come talk to us on **IRC in #coleslaw on Freenode**!
11 12
 
12 13
 ## Features
13 14
 

+ 25 - 1
docs/hacking.md

@@ -263,9 +263,33 @@ that are useful to the user. Example errors users have encountered:
263 263
 
264 264
 It would be convenient to add command-line tools/scripts to run coleslaw,
265 265
 set up the db for incremental builds, scaffold a new post, etc. for new users.
266
-Xach's buildapp or Fare's cl-launch would be useful here. frog and hakyll are
266
+Fukamachi's Shelly, Xach's buildapp or Fare's cl-launch would be useful here. frog and hakyll are
267 267
 reasonable points of inspiration for commands to offer.
268 268
 
269
+#### Commands
270
+
271
+This is a initial set of commands which will be used to implement the first coleslaw cli, feel free to contribute!
272
+Imagine a executable `coleslaw`, the commands would be invoked like this: `coleslaw <commandname> <args>`
273
+
274
+* `build` generates the site. Takes:
275
+	* `--repo-dir`: first defaults to `~/.coleslawrc`'s `repo-dir` then to `./.coleslawrc`'s `repo-dir` and otherwise fails
276
+* `clean` removes the files from `output-dir` and `staging-dir`. Takes:
277
+	* `--repo-dir`: See above
278
+* `rebuild` is a shortcut for `clean` and then `build`. Takes:
279
+	* `--repo-dir`: See above
280
+* `post` creates a new empty `.post` file. Takes:
281
+	* `--repo-dir`: See above
282
+	* `--title`: title (also used for generating file name)
283
+	* `--date`: same as the header-key. If not given, current time is used.
284
+	* `--format`: same as the header-key (optional, defaults to `md`)
285
+	* …
286
+* `serve` starts a hunchentoot serving the blog locally
287
+* maybe `page` which is `post` for static sites.
288
+
289
+Ideas for later:
290
+
291
+* handle deployment with commands but because we've got many methods there would have to be an intelligent way of handling that.
292
+
269 293
 ### Plugin Constraints
270 294
 
271 295
 There is no system for determining what plugins work together or