Skip to content

Commit 880b5fe

Browse files
committed
update docs
1 parent 9f08bd3 commit 880b5fe

File tree

2 files changed

+30
-27
lines changed

2 files changed

+30
-27
lines changed

README.markdown

+27-25
Original file line numberDiff line numberDiff line change
@@ -25,50 +25,52 @@ The default generated project will come with a config.json file. This file defin
2525

2626
Since the point is to generate a static site, the next command you run will be `build`. This will remove the need for an app server like nodejs, and allow you to just dump the static files somewhere like CloudFront.
2727

28+
It orders static site building into phases, similar to larger build systems like Maven.
29+
30+
Stages (executing a stage executes every stage up to it):
31+
32+
* setup
33+
* clean
34+
* documents
35+
* scripts
36+
* styles
37+
* merge
38+
* test
39+
* compress
40+
* publish
41+
42+
Choosing a phase will run all attached plugins up to and including that phase.
43+
2844
```
29-
systatic build
45+
systatic merge
3046
```
3147

32-
## Test
33-
34-
Once your static files are built and compressed, you can test out the files output in the `build` directory with the `test` command. This just runs a static server on the same development port in your `config.json` file.
48+
Cleans the output directory, build the html resource, build the assets, and merge them into minimal files.
3549

3650
```
3751
systatic test
3852
```
3953

54+
Does the same thing, but then also runs any optional static integration test (currently no implementations, but considering something like QUnit)
55+
4056
# Coming Soon
4157

42-
## Deploy
58+
## Publish
4359

4460
With that generated static content, next you'll want to deploy to some server, git repo, CDN... whatever.
4561

4662
```
47-
systatic deploy
63+
systatic publish
4864
```
4965

5066
## Hooks
5167

52-
I'm reimplementing the hard-coded actions as sets of discreet stages which can be configured, allowing third-party plugins to add their own stage to the build/render toolchain. Current thoughts:
53-
54-
First:
68+
I'm considering reimplementing the hard-coded plugins to work with npm plugins, which con be configured per project. This is to allow third-party plugins to add their own stage to the build/render toolchain.
5569

56-
* Every action can be attached to run before/after any other action.
57-
58-
An example may be if someone wanted to added a function to compress a set of icons used as CSS into sprites, and pass that information into the next action (which would be bound to the compress stage)
70+
## Misc
5971

60-
Stages (executing a stage executes every stage up to it):
72+
Current thoughts:
6173

62-
* clean
63-
* resource
64-
* assets
65-
* compress
66-
* publish
67-
68-
eg.
69-
70-
```
71-
systatic assets
72-
```
74+
* Every action can be attached to run before/after any other action.
7375

74-
Would clean the output directory, build the html resource, and build the assets.
76+
An example may be if someone wanted to added a function to compress a set of icons used as CSS into sprites, and pass that information into the next action (which would be bound to the compress stage).

lib/build_manager.coffee

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ _ = require('underscore')
22
{join, resolve} = require('path')
33

44
# TODO: remove scripts/style/merge and replace with 'assets'?
5-
exports.phases = phases = ['clean', 'setup', 'documents', 'scripts', 'styles', 'merge', 'test', 'compress', 'publish']
6-
# exports.phases = phases = ['setup', 'documents', 'scripts', 'styles', 'merge', 'test', 'compress', 'publish']
5+
# exports.phases = phases = ['setup', 'clean', 'documents', 'scripts', 'styles', 'merge', 'test', 'compress', 'publish']
6+
exports.phases = phases = ['setup', 'clean', 'documents', 'scripts', 'styles', 'merge', 'test', 'compress', 'publish']
7+
78

89
# Running this emits all steps in order
910
class BuildManager

0 commit comments

Comments
 (0)