You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.markdown
+27-25
Original file line number
Diff line number
Diff line change
@@ -25,50 +25,52 @@ The default generated project will come with a config.json file. This file defin
25
25
26
26
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.
27
27
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
+
28
44
```
29
-
systatic build
45
+
systatic merge
30
46
```
31
47
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.
35
49
36
50
```
37
51
systatic test
38
52
```
39
53
54
+
Does the same thing, but then also runs any optional static integration test (currently no implementations, but considering something like QUnit)
55
+
40
56
# Coming Soon
41
57
42
-
## Deploy
58
+
## Publish
43
59
44
60
With that generated static content, next you'll want to deploy to some server, git repo, CDN... whatever.
45
61
46
62
```
47
-
systatic deploy
63
+
systatic publish
48
64
```
49
65
50
66
## Hooks
51
67
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.
55
69
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
59
71
60
-
Stages (executing a stage executes every stage up to it):
72
+
Current thoughts:
61
73
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.
73
75
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).
0 commit comments